From 296a2463da4139468ba354cdcbcbb81a35186fce Mon Sep 17 00:00:00 2001 From: Gigiaj Date: Sun, 29 Jun 2025 23:29:03 -0500 Subject: [PATCH] useAppVisibility change hook instead of baking into client root for cleanliness --- src/app/pages/client/ClientRoot.tsx | 33 +---------------------------- 1 file changed, 1 insertion(+), 32 deletions(-) diff --git a/src/app/pages/client/ClientRoot.tsx b/src/app/pages/client/ClientRoot.tsx index 4cccd641..c1c602c5 100644 --- a/src/app/pages/client/ClientRoot.tsx +++ b/src/app/pages/client/ClientRoot.tsx @@ -149,7 +149,6 @@ type ClientRootProps = { export function ClientRoot({ children }: ClientRootProps) { const [loading, setLoading] = useState(true); const { baseUrl } = getSecret(); - const clientConfig = useClientConfig(); const [loadState, loadMatrix] = useAsyncCallback( useCallback(() => initClient(getSecret() as any), []) @@ -160,6 +159,7 @@ export function ClientRoot({ children }: ClientRootProps) { ); useLogoutListener(mx); + useAppVisibility(mx); useEffect(() => { if (loadState.status === AsyncStatus.Idle) { @@ -173,37 +173,6 @@ export function ClientRoot({ children }: ClientRootProps) { } }, [mx, startMatrix]); - useEffect(() => { - const handleVisibilityChange = () => { - const isVisible = document.visibilityState === 'visible'; - appEvents.onVisibilityChange?.(isVisible); - if (!isVisible) { - appEvents.onVisibilityHidden?.(); - } - }; - - document.addEventListener('visibilitychange', handleVisibilityChange); - - return () => { - document.removeEventListener('visibilitychange', handleVisibilityChange); - }; - }, []); - - - useEffect(() => { - if (!mx) return; - - const handleVisibilityForNotifications = (isVisible: boolean) => { - togglePusher(mx, clientConfig, isVisible); - }; - - appEvents.onVisibilityChange = handleVisibilityForNotifications; - - return () => { - appEvents.onVisibilityChange = null; - }; - }, [mx, clientConfig]); - useSyncState( mx, useCallback((state) => {