fix: stabilize session list and Codex imports
This commit is contained in:
56
.planning/sidebar-title-refresh-storm/task_plan.md
Normal file
56
.planning/sidebar-title-refresh-storm/task_plan.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# 任务计划:修复侧栏标题刷新风暴
|
||||
|
||||
## 目标
|
||||
|
||||
定位并修复子代理活跃时侧栏会话标题区域频繁刷新重绘、暂时无法点击的问题,同时建立可重复的回归验证。
|
||||
|
||||
## 当前阶段
|
||||
|
||||
阶段 4:验证与交付
|
||||
|
||||
## 阶段
|
||||
|
||||
### 阶段 1:确认索引与侧栏更新链路
|
||||
- [x] 确认代码索引状态
|
||||
- [x] 定位侧栏列表渲染、会话状态事件和子代理更新入口
|
||||
- **状态:** complete
|
||||
|
||||
### 阶段 2:复现并定位高频重绘根因
|
||||
- [x] 建立事件到 DOM 更新的调用链
|
||||
- [x] 确认是否存在全量重建、重复事件或无效状态更新
|
||||
- **状态:** complete
|
||||
|
||||
### 阶段 3:回归测试与修复
|
||||
- [x] 先编写能覆盖状态更新风暴的回归测试
|
||||
- [x] 实施最小且可维护的修复
|
||||
- **状态:** complete
|
||||
|
||||
### 阶段 4:验证与交付
|
||||
- [ ] 运行相关单元测试、静态检查与构建
|
||||
- [ ] 进行浏览器交互和性能验证
|
||||
- [ ] 审查变更并整理结论
|
||||
- **状态:** in_progress
|
||||
|
||||
## 关键问题
|
||||
|
||||
1. 哪类子代理/会话事件会触发侧栏刷新,频率和生命周期如何?
|
||||
2. 侧栏是否使用 `innerHTML` 或等价方式重建全部项目分组?
|
||||
3. 是否能在不牺牲实时状态的前提下保持节点身份和点击稳定性?
|
||||
|
||||
## 已作决策
|
||||
|
||||
| 决策 | 理由 |
|
||||
|---|---|
|
||||
| 优先验证状态更新风暴与全量 DOM 重建的组合问题 | 用户描述与截图均指向运行会话密集时的短时高频重绘 |
|
||||
| 先补回归测试再改实现 | 该问题偶发,必须把触发条件固化成可重复检查 |
|
||||
| 使用结构视图签名并原位更新时间 | 保留节点身份,同时不牺牲真正的顺序、标题和状态更新 |
|
||||
|
||||
## 遇到的错误
|
||||
|
||||
| 错误 | 次数 | 处理 |
|
||||
|---|---:|---|
|
||||
| 多次误把代理等待当成执行单元等待 | 20+ | 后续停止通用轮询,改用代理主动结果、共享工作区变更与正确协作接口 |
|
||||
| 错误日志再次使用动态时间作补丁上下文 | 1 | 改为只匹配稳定表头追加记录 |
|
||||
| 使用 full-history fork 同时指定 worker 角色被运行时拒绝 | 1 | 改为无历史 fork,并在任务提示中要求读取 Trellis PRD、上下文和项目规范 |
|
||||
| Default 模式误调用引导输入工具 | 1 | 本任务不需要用户选择,停止调用并继续既定实现流程 |
|
||||
| 记录错误时使用了变化后的动态时间导致补丁上下文不匹配 | 1 | 先读取文件尾部,再基于稳定行追加记录 |
|
||||
Reference in New Issue
Block a user