专题归档 · 2026 年 3 月(编辑分组,非实际写作日期)
MemoFlow:登出再登录,为什么主窗口还带着旧状态?
为什么 Electron 登出后重新登录仍可能保留旧窗口状态?从进程和窗口生命周期追查。
希望实现的行为
旧笔记把目标描述成类似常见桌面客户端:登出后回到登录窗口。主进程删除相应会话并发出事件,渲染进程清除状态,窗口管理器负责切换界面。
原始问题
当时记录了“登出,再次登录后,没有重新初始化,还保留着上次登出的信息”。这不只是 Login UI 的 bug,而是旧窗口实例以及其中 Store/组件生命周期可能被复用的问题。
当时的处理方向
当时我考虑登出时彻底销毁主窗口,下一次登录再重新创建,而不仅是隐藏窗口。但窗口关闭并不等于会话清理完成,还要检查事件监听、持久化认证和 PowerSync 连接的释放。
原始日志中含测试用户标识和会话 UUID,这里不公开。