From 33d16412292f088b55174fd89897b5e77f8a6e44 Mon Sep 17 00:00:00 2001 From: "Builder.io" Date: Mon, 10 Nov 2025 00:45:49 +0000 Subject: [PATCH] Fix AuthContext clearing session on every page load cgen-fab9160a1ffc453fa595032e67855330 --- client/contexts/AuthContext.tsx | 32 ++++++-------------------------- 1 file changed, 6 insertions(+), 26 deletions(-) diff --git a/client/contexts/AuthContext.tsx b/client/contexts/AuthContext.tsx index f2e41878..468c976e 100644 --- a/client/contexts/AuthContext.tsx +++ b/client/contexts/AuthContext.tsx @@ -177,6 +177,7 @@ export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ if (!storageClearedRef.current && typeof window !== "undefined") { try { + // ONLY clear mock/demo data, NOT actual Supabase auth session [ "mock_user", "mock_profile", @@ -185,34 +186,13 @@ export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ "demo_posts", "demo_seed_v1", "aethex_onboarding_progress_v1", - "onboarding_complete", ].forEach((key) => window.localStorage.removeItem(key)); - // Clear all Supabase-related keys - Object.keys(window.localStorage) - .filter( - (key) => - key.startsWith("sb-") || - key.includes("supabase") || - key.includes("auth-token"), - ) - .forEach((key) => window.localStorage.removeItem(key)); - - // Clear IndexedDB (where Supabase stores sessions) - if (window.indexedDB) { - const dbs = [ - "supabase", - "sb_" + (process.env.VITE_SUPABASE_URL || "").split("/").pop(), - ]; - dbs.forEach((dbName) => { - try { - const req = window.indexedDB.deleteDatabase(dbName); - req.onsuccess = () => console.log(`Cleared IndexedDB: ${dbName}`); - req.onerror = (e) => - console.warn(`Failed to clear IndexedDB: ${dbName}`, e); - } catch {} - }); - } + // NOTE: We deliberately DO NOT clear: + // - sb-* keys (Supabase session tokens) + // - auth-token keys + // - IndexedDB (where Supabase stores sessions) + // Clearing these breaks session persistence across page reloads/redirects! storageClearedRef.current = true; } catch {