mirror of
https://github.com/feigeCode/navop.git
synced 2026-11-06 08:07:31 +00:00
2026-11-01 生产 settings.json 被重置的根因已复现:`cargo test -p db_view`
的用例在 app paths 未初始化时调用 `AppSettings::update_and_save`,目录经
`app_dirs::config_dir()` 回落成 `~/.config/navop`,整份写入把设置写成默认值。
- settings 保存加硬闸:app paths 未初始化时拒绝落盘;从无法读取/解析的
settings.json 起步时本次运行也不再写盘(坏文件已隔离为 .corrupt-*)。
- 隔离判定从「构建 profile」扩展为「可执行文件来源」:`target/{debug,release}`、
`targets`、`~/.cargo/bin` 一律走 `~/.navop-dev`,release 自测不再读写生产目录
与生产 keychain。
- `settings.json.bak` 保留三代(.bak/.bak.1/.bak.2),临时文件名带进程号,
避免单代备份被启动期连续 save 顶掉、以及双实例并发写穿。
- db_view hover 用例把 app paths 指到临时目录;notes 默认根跟随 AppPaths;
开发构建跳过全局 skills 安装;开发构建的 worktree 落 `~/.navop-dev/worktrees`。