Fix roomlist not updating live
authorAjay Bura <ajbura@gmail.com>
Thu, 3 Mar 2022 13:16:47 +0000 (18:46 +0530)
committerAjay Bura <ajbura@gmail.com>
Thu, 3 Mar 2022 13:16:47 +0000 (18:46 +0530)
Signed-off-by: Ajay Bura <ajbura@gmail.com>
src/app/organisms/navigation/Drawer.jsx

index 10b047f0d161dab0b92e18dad3c2f76fe5f84445..8e3e4ea6d0edbffa117bce9b3192770cb467c311 100644 (file)
@@ -13,6 +13,7 @@ import DrawerBreadcrumb from './DrawerBreadcrumb';
 import Home from './Home';
 import Directs from './Directs';
 
+import { useForceUpdate } from '../../hooks/useForceUpdate';
 import { useSelectedTab } from '../../hooks/useSelectedTab';
 import { useSelectedSpace } from '../../hooks/useSelectedSpace';
 
@@ -39,8 +40,17 @@ function Drawer() {
   const [systemState] = useSystemState();
   const [selectedTab] = useSelectedTab();
   const [spaceId] = useSelectedSpace();
+  const [, forceUpdate] = useForceUpdate();
   const scrollRef = useRef(null);
 
+  useEffect(() => {
+    const { roomList } = initMatrix;
+    roomList.on(cons.events.roomList.ROOMLIST_UPDATED, forceUpdate);
+    return () => {
+      roomList.removeListener(cons.events.roomList.ROOMLIST_UPDATED, forceUpdate);
+    };
+  }, []);
+
   useEffect(() => {
     requestAnimationFrame(() => {
       scrollRef.current.scrollTop = 0;