fix crash when adding existing room to space (#1806)
authorAjay Bura <32841439+ajbura@users.noreply.github.com>
Sun, 14 Jul 2024 14:21:19 +0000 (19:51 +0530)
committerGitHub <noreply@github.com>
Sun, 14 Jul 2024 14:21:19 +0000 (00:21 +1000)
src/app/molecules/space-add-existing/SpaceAddExisting.jsx

index 3895ac7568b3bde07b821774e97a0bc47600567f..2eb94a5c0d0d7560734710106a747c2949b59a6e 100644 (file)
@@ -26,6 +26,7 @@ import { useStore } from '../../hooks/useStore';
 import { roomToParentsAtom } from '../../state/room/roomToParents';
 import { useDirects, useRooms, useSpaces } from '../../state/hooks/roomList';
 import { allRoomsAtom } from '../../state/room-list/roomList';
+import { mDirectAtom } from '../../state/mDirectList';
 
 function SpaceAddExistingContent({ roomId, spaces: onlySpaces }) {
   const mountStore = useStore(roomId);
@@ -36,9 +37,10 @@ function SpaceAddExistingContent({ roomId, spaces: onlySpaces }) {
   const [searchIds, setSearchIds] = useState(null);
   const mx = initMatrix.matrixClient;
   const roomIdToParents = useAtomValue(roomToParentsAtom);
+  const mDirects = useAtomValue(mDirectAtom);
   const spaces = useSpaces(mx, allRoomsAtom);
-  const rooms = useRooms(mx, allRoomsAtom);
-  const directs = useDirects(mx, allRoomsAtom);
+  const rooms = useRooms(mx, allRoomsAtom, mDirects);
+  const directs = useDirects(mx, allRoomsAtom, mDirects);
 
   useEffect(() => {
     const roomIds = onlySpaces ? [...spaces] : [...rooms, ...directs];
@@ -152,9 +154,9 @@ function SpaceAddExistingContent({ roomId, spaces: onlySpaces }) {
             name={room.name}
             parentName={parents}
             roomId={rId}
-            imageSrc={directs.has(rId) ? imageSrc : null}
+            imageSrc={mDirects.has(rId) ? imageSrc : null}
             iconSrc={
-              directs.has(rId) ? null : joinRuleToIconSrc(room.getJoinRule(), room.isSpaceRoom())
+              mDirects.has(rId) ? null : joinRuleToIconSrc(room.getJoinRule(), room.isSpaceRoom())
             }
             isUnread={false}
             notificationCount={0}