Files
claude-code/src
claude-code-best f69c705166 Fix/bypass root confirm (#1275)
* fix(ink): 主屏幕模式周期性终端重绘, 防止长时间运行 TUI 显示腐蚀

- 添加 lastMainScreenHealTime 字段, 每 5 秒触发一次全量终端重绘
- 使用 wall-clock 时间替代帧计数, 避免 drain frames (250fps) 加速周期
- 添加 isTTY 守卫, 防止非 TTY 环境泄漏 ANSI 转义序列
- 扩展 needsEraseBeforePaint 到主屏幕模式, BSU/ESU 确保原子性无闪烁
- 修复 log-update cursor 漂移和 blit ghosting 导致的文字重叠/残留

Co-Authored-By: deepseek-v4-pro <deepseek-ai@claude-code-best.win>

* fix(messages): lookups 缓存感知 progress tick 替换, 修复 Bash 进度时间卡死

REPL.tsx 用原地替换处理 ephemeral progress (Bash/PowerShell/MCP) 以
限制 messages 数组增长, 但 computeMessageStructureKey 只把 parentToolUseID
计入 key, 替换前后 key 完全相同, Messages.tsx 的 lookups 缓存命中,
updateMessageLookupsIncremental 长度相同时又直接返回 existing, 导致
progressMessagesByToolUseID 永远停在首条 tick, ShellProgressMessage 的
elapsed time 卡在首次显示值不动.

- computeMessageStructureKey: 加入 progress.uuid, tick 替换后 key 必变
- updateMessageLookupsIncremental: 长度相同 + 末尾为 progress 时返回 null
  触发 full rebuild, 让新 tick 进入 progressMessagesByToolUseID

补充 4 个测试覆盖 bug 行为与 fast path 保护.

Co-Authored-By: glm-5.2 <zai-org@claude-code-best.win>

* fix: bypass 模式在 root/sudo 下改为警告 + y 确认而非直接退出

交互式 TTY 下打印风险警告并等待用户输入 y 才进入 bypass 模式;
非 TTY (pipe/ACP/CI) 维持原 exit(1) 行为,因为无法交互确认。

Co-Authored-By: glm-5.2 <zai-org@claude-code-best.win>

---------

Co-authored-by: deepseek-v4-pro <deepseek-ai@claude-code-best.win>
Co-authored-by: glm-5.2 <zai-org@claude-code-best.win>
2026-06-19 10:17:47 +08:00
..
2026-06-11 17:59:08 +08:00
2026-06-11 17:59:08 +08:00
2026-06-15 19:08:31 +08:00
2026-04-16 20:59:29 +08:00
2026-03-31 19:22:47 +08:00
2026-05-01 21:39:30 +08:00
2026-06-15 19:08:31 +08:00
2026-05-01 21:39:30 +08:00
2026-06-11 17:59:08 +08:00
2026-03-31 23:32:58 +08:00
2026-06-19 10:17:47 +08:00
2026-03-31 19:22:47 +08:00
2026-03-31 19:22:47 +08:00
2026-06-14 18:13:49 +08:00
2026-03-31 19:22:47 +08:00
2026-06-19 10:17:47 +08:00
2026-03-31 19:22:47 +08:00
2026-03-31 19:22:47 +08:00
2026-06-14 18:13:49 +08:00