From 481fcc0471d602b72517c49b85dad9c85fc9660e Mon Sep 17 00:00:00 2001 From: Luke Vella Date: Sat, 4 Nov 2023 16:24:42 +0000 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Update=20handling=20of=20u?= =?UTF-8?q?nauthenticated=20user?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web/src/components/user-provider.tsx | 28 ++++++++++++----------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/apps/web/src/components/user-provider.tsx b/apps/web/src/components/user-provider.tsx index dabfea775..778d3c131 100644 --- a/apps/web/src/components/user-provider.tsx +++ b/apps/web/src/components/user-provider.tsx @@ -58,14 +58,9 @@ export const IfGuest = (props: { children?: React.ReactNode }) => { }; export const UserProvider = (props: { children?: React.ReactNode }) => { - const session = useSession(); - - const user = session.data?.user; - - const { t } = useTranslation(); - - React.useEffect(() => { - if (session.status === "unauthenticated") { + const session = useSession({ + required: true, + onUnauthenticated() { // Begin: Legacy token migration const legacyToken = Cookies.get("legacy-token"); // It's important to remove the token from the cookies, @@ -74,13 +69,20 @@ export const UserProvider = (props: { children?: React.ReactNode }) => { Cookies.remove("legacy-token"); signIn("legacy-token", { token: legacyToken, + redirect: false, + }); + } else { + // End: Legacy token migration + signIn("guest", { + redirect: false, }); - return; } - // End: Legacy token migration - signIn("guest"); - } - }, [session.status]); + }, + }); + + const user = session.data?.user; + + const { t } = useTranslation(); if (!user) { return null;