diff --git a/components/mobile/profile/ThemeSessionBridge.tsx b/components/mobile/profile/ThemeSessionBridge.tsx index 3c5ce88..0acc135 100644 --- a/components/mobile/profile/ThemeSessionBridge.tsx +++ b/components/mobile/profile/ThemeSessionBridge.tsx @@ -23,11 +23,11 @@ export function ThemeSessionBridge() { useEffect(() => { if (!session?.user) return; const serverTheme = (session.user as SessionUserWithTheme).theme; - if ( - serverTheme === 'light' || - serverTheme === 'dark' || - serverTheme === 'system' - ) { + // Only enforce explicit choices. 'system' is the column default and may + // mean "no opinion yet" — don't clobber a user's existing client preference + // (especially relevant on first load after the migration that backfilled + // every existing user to 'system'). + if (serverTheme === 'light' || serverTheme === 'dark') { if (serverTheme !== theme) { setTheme(serverTheme); }