diff --git a/apps/web/src/context/BusterAssets/metric-server/metricIndexServerAssetContext.tsx b/apps/web/src/context/BusterAssets/metric-server/metricIndexServerAssetContext.tsx index 29bf9ec98..0cf6a479e 100644 --- a/apps/web/src/context/BusterAssets/metric-server/metricIndexServerAssetContext.tsx +++ b/apps/web/src/context/BusterAssets/metric-server/metricIndexServerAssetContext.tsx @@ -14,5 +14,6 @@ export const beforeLoad = ({ search, unsafeRelative: 'path', replace: true, + statusCode: 302, }); }; diff --git a/apps/web/src/context/BusterAssets/report-server/reportIndexServerAssetContext.tsx b/apps/web/src/context/BusterAssets/report-server/reportIndexServerAssetContext.tsx index 3a9b17967..c3f413b82 100644 --- a/apps/web/src/context/BusterAssets/report-server/reportIndexServerAssetContext.tsx +++ b/apps/web/src/context/BusterAssets/report-server/reportIndexServerAssetContext.tsx @@ -14,5 +14,6 @@ export const beforeLoad = ({ search, unsafeRelative: 'path', replace: true, + statusCode: 302, }); }; diff --git a/apps/web/src/integrations/supabase/signOut.tsx b/apps/web/src/integrations/supabase/signOut.tsx index 065ad9dfc..714e224d2 100644 --- a/apps/web/src/integrations/supabase/signOut.tsx +++ b/apps/web/src/integrations/supabase/signOut.tsx @@ -13,5 +13,6 @@ export const signOut = createServerFn({ method: 'POST' }).handler(async () => { throw redirect({ href: '/', replace: true, + statusCode: 302, }); }); diff --git a/apps/web/src/routes/app.tsx b/apps/web/src/routes/app.tsx index ebab1e1bf..205262e07 100644 --- a/apps/web/src/routes/app.tsx +++ b/apps/web/src/routes/app.tsx @@ -13,7 +13,6 @@ const DEFAULT_LAYOUT: LayoutSize = ['230px', 'auto']; export const Route = createFileRoute('/app')({ context: ({ context }) => ({ ...context, getAppLayout }), - ssr: true, beforeLoad: async () => { console.log('beforeLoad app route'); try { @@ -22,7 +21,7 @@ export const Route = createFileRoute('/app')({ if (isExpired || !accessToken) { console.error('Access token is expired or not found'); - throw redirect({ to: '/auth/login', replace: true }); + throw redirect({ to: '/auth/login', replace: true, statusCode: 302 }); } return { @@ -30,7 +29,7 @@ export const Route = createFileRoute('/app')({ }; } catch (error) { console.error('Error in app route beforeLoad:', error); - throw redirect({ to: '/auth/login', replace: true }); + throw redirect({ to: '/auth/login', replace: true, statusCode: 302 }); } }, loader: async ({ context }) => { @@ -45,10 +44,11 @@ export const Route = createFileRoute('/app')({ prefetchListDatasources(queryClient), prefetchGetDatasets(queryClient), ]); - console.log('app route loaded', user); + console.log('app route loaded', user?.id); if (!user) { - throw redirect({ to: '/auth/login', replace: true }); + console.error('User not found - redirecting to login'); + throw redirect({ to: '/auth/login', replace: true, statusCode: 302 }); } return { @@ -60,7 +60,7 @@ export const Route = createFileRoute('/app')({ }; } catch (error) { console.error('Error in app route loader:', error); - throw redirect({ to: '/auth/login', replace: true }); + throw redirect({ to: '/auth/login', replace: true, statusCode: 302 }); } }, component: () => { diff --git a/apps/web/src/routes/app/_app/datasets.$datasetId.permissions.index.tsx b/apps/web/src/routes/app/_app/datasets.$datasetId.permissions.index.tsx index d9c3baf3f..b43a3e417 100644 --- a/apps/web/src/routes/app/_app/datasets.$datasetId.permissions.index.tsx +++ b/apps/web/src/routes/app/_app/datasets.$datasetId.permissions.index.tsx @@ -6,6 +6,7 @@ export const Route = createFileRoute('/app/_app/datasets/$datasetId/permissions/ to: '/app/datasets/$datasetId/permissions/overview', params, replace: true, + statusCode: 302, }); }, }); diff --git a/apps/web/src/routes/app/_app/datasets.$datasetId.tsx b/apps/web/src/routes/app/_app/datasets.$datasetId.tsx index 2583cb941..225543ce2 100644 --- a/apps/web/src/routes/app/_app/datasets.$datasetId.tsx +++ b/apps/web/src/routes/app/_app/datasets.$datasetId.tsx @@ -13,6 +13,7 @@ export const Route = createFileRoute('/app/_app/datasets/$datasetId')({ to: '/app/datasets/$datasetId/overview', params, replace: true, + statusCode: 302, }); } }, diff --git a/apps/web/src/routes/app/_settings/_permissions.tsx b/apps/web/src/routes/app/_settings/_permissions.tsx index 008053606..fdd932c0c 100644 --- a/apps/web/src/routes/app/_settings/_permissions.tsx +++ b/apps/web/src/routes/app/_settings/_permissions.tsx @@ -9,7 +9,7 @@ export const Route = createFileRoute('/app/_settings/_permissions')({ const { queryClient } = context; const userData = await prefetchGetMyUserInfo(queryClient); if (!userData || !userData.organizations || !checkIfUserIsAdmin(userData.organizations[0])) { - throw redirect({ to: '/auth/login', replace: true }); + throw redirect({ to: '/auth/login', replace: true, statusCode: 302 }); } }, }); diff --git a/apps/web/src/routes/app/_settings/_permissions/settings.dataset-groups.$datasetGroupId.index.tsx b/apps/web/src/routes/app/_settings/_permissions/settings.dataset-groups.$datasetGroupId.index.tsx index c91be0495..3026d74e6 100644 --- a/apps/web/src/routes/app/_settings/_permissions/settings.dataset-groups.$datasetGroupId.index.tsx +++ b/apps/web/src/routes/app/_settings/_permissions/settings.dataset-groups.$datasetGroupId.index.tsx @@ -8,6 +8,7 @@ export const Route = createFileRoute( to: '/app/settings/dataset-groups/$datasetGroupId/datasets', params, replace: true, + statusCode: 302, }); }, }); diff --git a/apps/web/src/routes/app/_settings/_restricted_layout/_admin_only.tsx b/apps/web/src/routes/app/_settings/_restricted_layout/_admin_only.tsx index 40f2d747c..510e0604c 100644 --- a/apps/web/src/routes/app/_settings/_restricted_layout/_admin_only.tsx +++ b/apps/web/src/routes/app/_settings/_restricted_layout/_admin_only.tsx @@ -7,7 +7,7 @@ export const Route = createFileRoute('/app/_settings/_restricted_layout/_admin_o const { queryClient } = context; const userData = await prefetchGetMyUserInfo(queryClient); if (!userData || !userData.organizations || !checkIfUserIsAdmin(userData.organizations[0])) { - throw redirect({ to: '/auth/login', replace: true }); + throw redirect({ to: '/auth/login', replace: true, statusCode: 302 }); } }, diff --git a/apps/web/src/routes/app/_settings/settings.index.tsx b/apps/web/src/routes/app/_settings/settings.index.tsx index 12c2edd72..568db31ff 100644 --- a/apps/web/src/routes/app/_settings/settings.index.tsx +++ b/apps/web/src/routes/app/_settings/settings.index.tsx @@ -5,6 +5,7 @@ export const Route = createFileRoute('/app/_settings/settings/')({ throw redirect({ to: '/app/settings/profile', replace: true, + statusCode: 302, }); }, }); diff --git a/apps/web/src/routes/app/index.tsx b/apps/web/src/routes/app/index.tsx index 85a1732df..85d071267 100644 --- a/apps/web/src/routes/app/index.tsx +++ b/apps/web/src/routes/app/index.tsx @@ -2,7 +2,7 @@ import { createFileRoute, redirect } from '@tanstack/react-router'; export const Route = createFileRoute('/app/')({ beforeLoad: async () => { - throw redirect({ to: '/app/home', replace: true }); + throw redirect({ to: '/app/home', replace: true, statusCode: 302 }); }, component: () => null, }); diff --git a/apps/web/src/routes/auth.logout.tsx b/apps/web/src/routes/auth.logout.tsx index e599aed8e..686969076 100644 --- a/apps/web/src/routes/auth.logout.tsx +++ b/apps/web/src/routes/auth.logout.tsx @@ -13,6 +13,6 @@ export const Route = createFileRoute('/auth/logout')({ preload: false, loader: async () => { await signOut(); - throw redirect({ to: '/auth/login' }); + throw redirect({ to: '/auth/login', statusCode: 302 }); }, }); diff --git a/apps/web/src/routes/index.tsx b/apps/web/src/routes/index.tsx index b0e74f029..c9f78113a 100644 --- a/apps/web/src/routes/index.tsx +++ b/apps/web/src/routes/index.tsx @@ -3,7 +3,7 @@ import { createFileRoute, redirect } from '@tanstack/react-router'; export const Route = createFileRoute('/')({ beforeLoad: async () => { console.log('redirecting to /app/home'); - throw redirect({ to: '/app/home', replace: true }); + throw redirect({ to: '/app/home', replace: true, statusCode: 302 }); }, component: () => null, });