From f348203016e43ad8312c5956f0fca992bdef6fe5 Mon Sep 17 00:00:00 2001 From: Gabe Kangas Date: Sun, 13 Nov 2022 10:47:28 -0800 Subject: [PATCH] Fix delay in app state being set --- web/components/stores/ClientConfigStore.tsx | 23 +++++++-------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/web/components/stores/ClientConfigStore.tsx b/web/components/stores/ClientConfigStore.tsx index 00cc275ea..677f3d111 100644 --- a/web/components/stores/ClientConfigStore.tsx +++ b/web/components/stores/ClientConfigStore.tsx @@ -153,7 +153,7 @@ export const ClientConfigStore: FC = () => { const [currentUser, setCurrentUser] = useRecoilState(currentUserAtom); const setChatAuthenticated = useSetRecoilState(chatAuthenticatedAtom); const [clientConfig, setClientConfig] = useRecoilState(clientConfigStateAtom); - const setServerStatus = useSetRecoilState(serverStatusState); + const [serverStatus, setServerStatus] = useRecoilState(serverStatusState); const setClockSkew = useSetRecoilState(clockSkewAtom); const [chatMessages, setChatMessages] = useRecoilState(chatMessagesAtom); const [accessToken, setAccessToken] = useRecoilState(accessTokenAtom); @@ -173,15 +173,11 @@ export const ClientConfigStore: FC = () => { }); }; const sendEvent = (event: string) => { - // console.log('---- sending event:', event); + console.debug('---- sending event:', event); appStateSend({ type: event }); }; const updateClientConfig = async () => { - if (hasLoadedConfig) { - return; - } - try { const config = await ClientConfigService.getConfig(); setClientConfig(config); @@ -197,10 +193,6 @@ export const ClientConfigStore: FC = () => { }; const updateServerStatus = async () => { - if (hasLoadedStatus) { - return; - } - try { const status = await ServerStatusService.getStatus(); setServerStatus(status); @@ -210,11 +202,6 @@ export const ClientConfigStore: FC = () => { const clockSkew = new Date(serverTime).getTime() - Date.now(); setClockSkew(clockSkew); - if (status.online) { - sendEvent(AppStateEvent.Online); - } else if (!status.online) { - sendEvent(AppStateEvent.Offline); - } setGlobalFatalErrorMessage(null); } catch (error) { sendEvent(AppStateEvent.Fail); @@ -360,6 +347,12 @@ export const ClientConfigStore: FC = () => { useEffect(() => { if (hasLoadedStatus && hasLoadedConfig) { sendEvent(AppStateEvent.Loaded); + + if (serverStatus.online) { + sendEvent(AppStateEvent.Online); + } else { + sendEvent(AppStateEvent.Offline); + } } }, [hasLoadedStatus, hasLoadedConfig]);