Block a user
🟡 [M11] LogLevel::from_str 不 trim 空白
修复方案
根因: LogLevel::from_str (crates/core/src/types.rs) 使用 s.to_uppercase() 直接匹配,未对输入做 trim() 处理。JSON 日志路径中 serde 保留字段原始值(含前后空白),导致 `"…
🟡 [M9] 非字符串类型的 timestamp/level 字段被静默丢弃
已修复,提交 8e9600d。
根因: parse_line 中 fields.remove(key) 在类型检查之前执行,非字符串值(如 {"level":30})被移除后 as_str() 返回 None,导致字段既不在提取结果中也不在 fields 中 → 静默数据…
🟡 [M9] 非字符串类型的 timestamp/level 字段被静默丢弃
🟡 [M7] 并发缓存保存共享同一临时文件路径
修复方案
根因: IndexCache::save_with_hash() 和 save() 使用固定的 .index.tmp 临时路径,后台索引线程和 TUI 主线程并发调用时 File::create 截断对方数据。
修复: 用 `tempfile::Builde…
🟡 [M6] 后台线程在有界通道上阻塞 send
已修复,提交 0d88e93。
根因: spawn_indexer 和 spawn_visual_height_rebuild 的后台线程使用阻塞 tx.send() 在有界通道上,consumer 停止 drain 时线程永久挂起,取消检查不可达。
修复方案: -…
[Critical] WAL write failure 语义过于简化:write() 失败后 bytes 可能已落盘
🟡 [M5] Remove 事件不经过路径过滤,可能误报
已修复,commit 420b853。
修复方案:将路径过滤移至 event.kind 匹配之前,所有事件类型(包括 Remove)统一经过路径检查。
变更内容:
- 提取 process_event() 函数,路径过滤在 match 之前执行 -…
[Important] publishedSequence 需要明确的内存序约束