rwadurian/frontend/mobile-app/lib/core
hailin a5cc3fdc5b fix(mobile-app): 修复切换账号时 token 过期导致自动退出登录
根因:switchToAccount() 流程中,定时器在 _clearCurrentAccountData()
之后才停止。clear 阶段会删除 token,但此时定时器仍在运行,
in-flight 的 API 请求收到 401 → 触发 _handleTokenExpired()
→ 调用 logoutCurrentAccount() 把正在恢复的新账号数据全部清掉
→ 用户被自动踢到登录页面。

修复:将 onBeforeRestore 回调(停止定时器)移到 _clearCurrentAccountData()
之前执行,确保所有 API 请求停止后再清除 token。

修改前: save → clear(删token) → 停定时器 → restore
修改后: save → 停定时器 → clear(删token) → restore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 12:21:57 -08:00
..
config refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
constants feat(pricing): 预种每份价格从 3171 调整为 3566 绿积分 2026-02-26 08:02:17 -08:00
di feat(pricing): 预种每份价格从 3171 调整为 3566 绿积分 2026-02-26 08:02:17 -08:00
errors refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
extensions refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
network feat(mobile-app): 增强合同PDF下载可靠性和用户体验 2026-01-09 07:12:21 -08:00
providers fix(mobile-app): 修复切换窗口期 NotificationBadge 混账号请求问题 2026-02-25 09:09:37 -08:00
sentry fix(sentry): 修复 Flutter 代码分析错误 2025-12-15 11:04:28 -08:00
services fix(mobile-app): 修复切换账号时 token 过期导致自动退出登录 2026-02-26 12:21:57 -08:00
storage fix(mobile-app): 修复多账号切换数据串号问题,完善存储隔离与状态重置 2026-02-25 06:13:05 -08:00
telemetry fix(mobile-app): 修复开机动画卡住问题 2026-01-09 08:08:21 -08:00
theme refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
updater fix(mobile-app): 升级弹窗禁止点击外部或返回键关闭,必须通过按钮操作 2026-02-25 08:01:52 -08:00
usecases refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
utils feat(frontend): 前端时间显示统一转换为本地时间 2025-12-23 19:45:51 -08:00
widgets feat(profile): 添加懒加载、防抖和失败重试机制 2025-12-15 20:50:27 -08:00