Block a user
🔴 [H10] Loading 状态下忽略文件变更事件
已修复 ✅
提交: 534a089 fix(tui): defer file-change events during Loading state to prevent stale reader
修复方案:延迟重载标记
在 App 中新增 reload_after_loading: bool 标志位:
…
🔴 [H9] 运行时 panic/error 无终端恢复保护
审核结论:已修复 ✅
该 Issue 描述的问题已不存在于当前代码中。
当前代码分析
crates/tui/src/main.rs 已实现完整的 RAII TerminalGuard 模式(第 29-76 行):
Droptrait 已实现…
🔴 [H8] 初始文件加载失败 → 终端状态损坏
Fixed in b7938e0. RAII TerminalGuard with Drop cleanup. 88 tests pass. tmux integration test verified terminal restored on error exit (exit code 1) and normal exit (exit code 0).
🔴 [H4] 缓存指纹太弱 → 中间修改检测不到
审核结论:关闭(风险极低)
技术缺陷确认属实:compute_file_hash(core/io/index_cache.rs:63)确实只采样 head 4KB + tail 4KB + file_size,中间区域不参与指纹计算。
但实际风险极低: -…
🔴 [H2] mmap 与索引构建之间存在 TOCTOU 竞态
修复方案
根因: FileReader::open() 和 reload() 中,mmap 映射(快照 A)和 LineIndex::from_reader(BufReader) (快照 B)是两个独立的文件读取操作。如果文件在两步之间被外部修改,索引偏移量…