fix(auth): 修复重启后无法对话 — restoreSession 优先验证 SaaS token
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled

根因: 心跳降级将 'tauri' 持久化到 localStorage,重启后盲信该值。
修复: token refresh 成功时强制恢复 'saas' 模式;connectionMode 携带时间戳。
This commit is contained in:
iven
2026-04-11 12:32:20 +08:00
parent be01127098
commit f7edc59abb
2 changed files with 32 additions and 4 deletions

View File

@@ -818,8 +818,11 @@ export const useSaaSStore = create<SaaSStore>((set, get) => {
account,
saasUrl: restored.saasUrl,
authToken: newToken,
connectionMode: loadConnectionMode() === 'saas' ? 'saas' : 'tauri',
// If token refresh succeeded, always restore to 'saas' mode
// regardless of what was persisted (heartbeat may have degraded to 'tauri')
connectionMode: 'saas',
});
saveConnectionMode('saas');
get().fetchAvailableModels().catch(() => {});
get().fetchAvailableTemplates().catch(() => {});
get().fetchAssignedTemplate().catch(() => {});