fix: keep terminal stable across auth refresh

This commit is contained in:
2569718930@qq.com
2026-05-30 14:33:26 +08:00
parent ed8c898e0e
commit 1c250906ed
4 changed files with 37 additions and 2 deletions
@@ -954,6 +954,18 @@ function ScanTerminalScreen() {
data: { subscription },
} = supabase.auth.onAuthStateChange(async (event, session) => {
if (event === "SIGNED_OUT") {
try {
const {
data: { session: currentSession },
} = await supabase.auth.getSession();
const accessToken =
currentSession?.access_token || session?.access_token || null;
if (accessToken) {
const payload = await loadAuthProfile(accessToken);
setProAccess((prev) => mergeAccessStateWithAuthPayload(prev, payload));
return;
}
} catch {}
setProAccess(createEmptyAccess(false));
} else if (event === "TOKEN_REFRESHED" || event === "SIGNED_IN") {
try {