登录令牌刷新失败后,焦点会丢失,返回路径也没有保留。请定位原因、修复并补充回归测试。
修复会话恢复
已完成A3S 已复现问题。失败分支在重定向前清除了恢复目标,同时跳过了触发控件的焦点恢复。
计划3 / 3 已完成- 复现登录恢复问题
- 修复路由与焦点恢复
- 补充回归测试并验收
交付状态任务已可审阅已验证- 12
- 已通过
- 0
- 待检查
- 0
- 失败
- 0
- 风险
查看分析过程定位恢复状态的清理顺序失败分支在重定向前清除了恢复目标,并且焦点恢复依赖已经被卸载的触发控件。修复需要先保留稳定的返回路径,再在导航提交后恢复焦点。
执行记录4 步 · 4.8 秒检查会话恢复路径src/auth/session.ts · src/routes/sign-in.tsx已完成
- 操作
- 读取 2 个源文件和 1 个测试文件
- 发现
- 失败分支过早清除了返回路径
更新恢复实现src/auth/session.ts+18 −6
src/auth/session.ts − const target = session.returnTo;+ const target = normalizeReturnPath(returnTo); await refreshSessionToken();+ navigate(target);+ restoreTriggerFocus();确认运行工作区测试npm test -- session已允许
需要你的确认只影响当前这一次操作- 即将执行
npm test -- session- 为什么需要
- 命令会启动本地测试进程并读取当前工作区。
- 影响范围
- 当前任务工作区,不写入工作区外部。
运行回归测试12 passed · 0 failed通过
测试日志
npm test -- session
执行完成4 条记录 · 保留全部#01stdout$ npm test -- session
#02stdoutPASS tests/session.test.ts
#03stdout恢复失败后回到原焦点 · 保留返回路径 · 公告恢复状态
#04stdout测试:12 通过,0 失败
并行检查2 个检查已完成- 回归覆盖检查测试审阅 · 已完成
- 键盘焦点复核无障碍检查 · 已完成
恢复路径及其回归测试现已通过。