From 8335d86cb89998d3fb87b94c21db1666c6da9d72 Mon Sep 17 00:00:00 2001 From: "Builder.io" Date: Sat, 8 Nov 2025 21:20:43 +0000 Subject: [PATCH] completionId: cgen-18edb2567d724ccbba492dd8c87d9419 cgen-18edb2567d724ccbba492dd8c87d9419 --- client/contexts/AuthContext.tsx | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/client/contexts/AuthContext.tsx b/client/contexts/AuthContext.tsx index 35b6301b..2c846637 100644 --- a/client/contexts/AuthContext.tsx +++ b/client/contexts/AuthContext.tsx @@ -851,8 +851,8 @@ export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ setSession(null); setLoading(false); - // Step 2: Clear localStorage - console.log("Clearing localStorage..."); + // Step 2: Clear localStorage and IndexedDB + console.log("Clearing localStorage and IndexedDB..."); if (typeof window !== "undefined") { try { window.localStorage.removeItem("onboarding_complete"); @@ -862,13 +862,26 @@ export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ (key) => key.startsWith("sb-") || key.includes("supabase") || + key.includes("auth-token") || key.startsWith("mock_") || key.startsWith("demo_"), ) .forEach((key) => window.localStorage.removeItem(key)); console.log("localStorage cleared"); + + // 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 {} + }); + } } catch (e) { - console.warn("localStorage clear failed:", e); + console.warn("Storage clear failed:", e); } }