账户确认与失败恢复 · PR 2604

源码评审说明;原生与真实服务验收仍待完成

basebdcc996a1ae1fa6d83439647bda4e4643b2b21aehead05b20d6d3c3841a800054f26a993e8ee541391c6date2026-10-23

两项账号操作均需二次确认。清理只认保存配对时记录的账号归属。取消不会执行账号操作。

A

操作影响

操作 此手机 远端
退出登录 清会话及归属此账号的连接 保留账号、Host 关联和数据
删除账号 同样清理已知归属连接 删除账号及 Connect tunnel、DNS、关联和 WorkOS 用户
仅清理此手机 在删除结果未知时,另行确认后完成本机清理 不重试、不确认远端删除;联系支持核实

手动、其他账号及来源不明的旧连接记录保留。删除 Connect tunnel 后,所有使用该 tunnel 的设备都失去该路由。远程文件、Bot 和聊天不被删除。

B

归属与确认

说明影响零操作确认时校验登录实例清理匹配账号的连接保存待清理记录保存成功后停止客户端并清理AccountHosts原生确认取消ConnectAccountHostSessionSecureStore本地数据

配对记录保存 issuer、relay、OAuth client 和可信 WorkOS subject。不能用邮箱、Host 列表或域名推断归属。旧会话刷新时保存稳定标识;token 轮换不会使同一登录实例失效。

C

删除恢复

已知结果 可执行的下一步
远端已成功 保存完成标记,重试本机清理
远端未知,认证可用 重试删除;不能承诺回滚
远端未知,认证失效 另行确认仅清理手机,联系支持核实远端

成功响应已到达、完成标记却写入失败时,进程保留已观察到的成功,重试不再次删除远端。重启后只信持久标记。结果未知时,过期凭据无法证明远端完成;本机恢复也不会作此承诺。

D

持久清理边界

HostSession 先保存待清理记录,再移出可用连接并停止客户端。草稿、会话缓存、最近聊天、快捷入口与过滤器写入失败时,保留待办以便重试。远端推送注销仍是尽力执行。配对存储读取失败时,操作先重试读取,不能将未知状态当成空列表。最终清理完成才清账号会话。

账号状态机源码 · 本机清理边界

E

验证与下一步

整合 main 后,1,254 项 mobile 测试通过,9 项跳过。类型、lint 和格式检查通过。测试覆盖取消、归属隔离、过期凭据、完成标记写入失败、重启恢复和本地清理失败。

原生测试仅使用开发应用中的内存 fixture。它拒绝未列出的请求,不读取真实账号凭据。测试替身不证明 WorkOS 或 Cloudflare 的真实删除效果。

唯一 QA owner 将核对安装包,验证两平台弹窗、取消、确认、失败重试、中英文本及三字号×两主题。main 新增 LAN 原生模块;不能直接复用 Batch58 的二进制结论。PR 保持 Draft,未获合并或真实账号操作授权。