feat(desktop): isolate private data by account

This commit is contained in:
冰朔 2026-08-16 18:25:57 +08:00
commit 1d2a8a2f63
12 changed files with 143 additions and 60 deletions

View file

@ -718,6 +718,15 @@ function HoloLakeApp() {
// 五湖开场:校验通过=第五域从湖面浮起,镜头沉入湖中再进场。
setLoginRising(true)
await new Promise((resolve) => setTimeout(resolve, 1300))
// 账号切换时先清空上一账号的内存投影,绝不让旧页面在新会话首帧闪现。
setPersonal(previewPersonal)
setKnowledge(previewKnowledge)
setCodeChannels(previewCode)
setActiveDocument(null)
setActiveChannel(null)
setCodeTree(null)
setActiveCodeFile(null)
setReceipts([])
setRepoLogin({ username: receipt.username, host: receipt.host, domain: receipt.domain, signedInAtUnixMs: Date.now() })
setLoginRising(false)
setLoginPassword('')
@ -726,6 +735,14 @@ function HoloLakeApp() {
}
const signOutRepo = async () => {
try { await invoke('sign_out_code_repo_login') } catch { /* 登出以本机清场为准 */ }
setPersonal(previewPersonal)
setKnowledge(previewKnowledge)
setCodeChannels(previewCode)
setActiveDocument(null)
setActiveChannel(null)
setCodeTree(null)
setActiveCodeFile(null)
setReceipts([])
setRepoLogin(null)
}
const initializeIdentity = async (event: React.FormEvent) => {