From c916e2e09d449aea92da5aa5db0ef8541dc40227 Mon Sep 17 00:00:00 2001 From: Abdullah Atta Date: Wed, 26 Oct 2022 09:24:23 +0500 Subject: [PATCH] web: fix login loop on session expiry --- apps/web/src/views/auth.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/web/src/views/auth.tsx b/apps/web/src/views/auth.tsx index 4af3820c7..78979d56a 100644 --- a/apps/web/src/views/auth.tsx +++ b/apps/web/src/views/auth.tsx @@ -172,7 +172,8 @@ function Auth(props: AuthProps) { useEffect(() => { if (!isAppLoaded) return; db.user?.getUser().then((user) => { - if (user && authorizedRoutes.includes(route)) return openURL("/"); + if (user && authorizedRoutes.includes(route) && !isSessionExpired()) + return openURL("/"); setIsReady(true); }); }, [isAppLoaded, route]); @@ -392,8 +393,7 @@ function SessionExpiry(props: BaseAuthComponentProps<"sessionExpiry">) { useEffect(() => { (async () => { const user = await db.user?.getUser(); - const isSessionExpired = Config.get("sessionExpired", false); - if (user && isSessionExpired) { + if (user && isSessionExpired()) { setUser(user); } else if (!user) { Config.set("sessionExpired", false); @@ -988,3 +988,7 @@ function maskEmail(email: string) { username.length - 2 )}@${domain}`; } + +function isSessionExpired() { + return Config.get("sessionExpired", false); +}