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