Files
cc-web/.planning/session-switch-live-failure/task_plan.md

1.2 KiB
Raw Blame History

继续修复会话切换失败

目标

定位用户在 HTTP 改造发布后仍然切换失败的实际原因,验证完整的点击、请求、接收、显示和实时订阅链路。

阶段

  1. [completed] 复现现场会话切换失败并定位阻塞阶段。
  2. [completed] 修复已复现的根因并覆盖对应回归。
  3. [completed] 验证实际点击切换与运行态恢复并记录上线条件。

约束

  • 禁止子代理,不修改其他任务尚未提交的改动。
  • 不修改生产会话历史;复现使用隔离副本。
  • 不把 HTTP 200、代码生效或打包通过视作用户问题解决。
  • 重启前确认除当前对话外无其他运行会话。
  • 单次测试最多60秒;沿用用户此前打包、提交全部修改并推送的授权,在修复与验证后交付。

已定位

  • 线上请求在进入HTTP处理函数前排队约79秒,CPU采样指向WebSocket会话列表的快照尾部重复解析。
  • 修复:归档列表只读元数据,旧快照尾部单次扫描;按磁盘修订缓存列表字段,不重建历史快照。
  • 已通过高密度嵌套字段、截断边界、并发列表与HTTP切换、真实Firefox回归;线上真实点击3次及并发列表刷新连续切换9次均通过。