From 48c65db3c9b98e5e770a9f07c4d1d264cb288ca9 Mon Sep 17 00:00:00 2001 From: Nate Kelley Date: Wed, 10 Sep 2025 16:16:44 -0600 Subject: [PATCH] add additional loggin --- .../supabase/getSupabaseUserClient.ts | 6 +++++- apps/web/src/routes/app.tsx | 21 ++++++++++++------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/apps/web/src/integrations/supabase/getSupabaseUserClient.ts b/apps/web/src/integrations/supabase/getSupabaseUserClient.ts index 93aa9161c..7b433c601 100644 --- a/apps/web/src/integrations/supabase/getSupabaseUserClient.ts +++ b/apps/web/src/integrations/supabase/getSupabaseUserClient.ts @@ -14,7 +14,11 @@ export const getSupabaseSession = async () => { : await supabase.auth.getSession(); //10 - 15ms locally, maybe consider getting it from the cookie instead. console the supabase object it had it there. if ((!sessionData?.session || sessionError) && !isServer) { - throw new Error('No session data found'); + return { + accessToken: '', + isExpired: true, + expiresAt: 0, + }; } const isExpired = isTokenExpired(sessionData.session?.expires_at); diff --git a/apps/web/src/routes/app.tsx b/apps/web/src/routes/app.tsx index 2d224b2fe..ebab1e1bf 100644 --- a/apps/web/src/routes/app.tsx +++ b/apps/web/src/routes/app.tsx @@ -16,17 +16,22 @@ export const Route = createFileRoute('/app')({ ssr: true, beforeLoad: async () => { console.log('beforeLoad app route'); - const { isExpired, accessToken = '' } = await getSupabaseSession(); - console.log('beforeLoad app route done'); + try { + const { isExpired, accessToken = '' } = await getSupabaseSession(); + console.log('beforeLoad app route done'); - if (isExpired || !accessToken) { - console.error('Access token is expired or not found'); + if (isExpired || !accessToken) { + console.error('Access token is expired or not found'); + throw redirect({ to: '/auth/login', replace: true }); + } + + return { + accessToken, + }; + } catch (error) { + console.error('Error in app route beforeLoad:', error); throw redirect({ to: '/auth/login', replace: true }); } - - return { - accessToken, - }; }, loader: async ({ context }) => { const { queryClient, accessToken } = context;