From 48c65db3c9b98e5e770a9f07c4d1d264cb288ca9 Mon Sep 17 00:00:00 2001 From: Nate Kelley Date: Wed, 10 Sep 2025 16:16:44 -0600 Subject: [PATCH 1/2] 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; From e31f90a6f512efdb33d53dba6d9466c54416471e Mon Sep 17 00:00:00 2001 From: Nate Kelley Date: Wed, 10 Sep 2025 16:21:32 -0600 Subject: [PATCH 2/2] Update deploy-web-reusable.yml --- .github/workflows/deploy-web-reusable.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-web-reusable.yml b/.github/workflows/deploy-web-reusable.yml index 241cfa1cf..db51e86fe 100644 --- a/.github/workflows/deploy-web-reusable.yml +++ b/.github/workflows/deploy-web-reusable.yml @@ -95,10 +95,11 @@ jobs: NODE_ENV: production - name: Purge Cloudflare Cache - uses: nathanvaughn/actions-cloudflare-purge@master - with: - cf_zone: ${{ secrets.CLOUDFLARE_ZONE_ID }} - cf_auth: ${{ secrets.CLOUDFLARE_API_TOKEN }} + run: | + curl -X POST "https://api.cloudflare.com/client/v4/zones/${{ secrets.CLOUDFLARE_ZONE_ID }}/purge_cache" \ + -H "Authorization: Bearer ${{ secrets.CLOUDFLARE_API_TOKEN }}" \ + -H "Content-Type: application/json" \ + --data '{"purge_everything":true}' - name: Get commit info id: commit