专题归档 · 2026 年 3 月(编辑分组,非实际写作日期)
MemoFlow:登录成功后,为什么 PowerSync 仍然没有准备好?
记录主进程、Renderer 认证状态与本地优先数据库初始化的竞态问题。
现象不是单独的“登录失败”
旧排障记录列出的症状包含:个人中心提示需要认证、PowerSync 连接失败,以及身份标识不一致。它把这几类问题作为相互关联的故障来检查,而不是当成互不相干的组件 Bug。
桌面应用有两个状态来源
排查时我怀疑 Main 进程与 Renderer 使用的认证状态不同步:例如 Renderer 的持久化状态还显示已登录,但主进程持有的会话已经过期或不一致。仅看一个 Store 的 isAuthenticated 不能证明整个桌面客户端已完成认证。
初始化顺序与竞态
第二组问题集中在 PowerSync 的重复连接、认证信息未准备好时提前初始化等边界。所以我把问题分成两步:先检查主进程与渲染进程的认证状态,再检查 PowerSync 的连接生命周期。两层都需要有可复现的测试,才能判断登录链路是否稳定。
这份记录与 本地优先的业务覆盖问题 是两条相连却不同的线:一条是业务数据如何读写,另一条是身份与数据库连接何时真正可用。