6bec390ecdd5157d997f452ecafb3d893b406499
会话和分组不再只活在进程里。`SessionStore` 带 `Context` 的 mutator 现在 「改内存 → 写库 → notify」,落到 `~/Library/Application Support/shellr/ shellr.db`(`SHELLR_DATA_DIR` 可覆盖目录)。内存仍是唯一事实来源:写库 失败只丢持久化、不丢用户的编辑,store 发 `PersistFailed`,工作区据此弹 错误通知,绝不静默吞掉。 分组从只读的种子数据变成真正的配置项:任意层级嵌套,可新建 / 重命名 / 改上级 / 删除,删除按外键 `ON DELETE CASCADE` 连同子分组和里面的会话一起 带走,确认框写明数量。会话因此可以不属于任何分组,渲染在树的根层级—— 首次启动是空库,第一个会话必须能在还没有任何分组时建出来。 - rusqlite 0.40(bundled):同步写、WAL、外键、`PRAGMA user_version` 迁移 - `app/paths.rs` 解析数据目录;`dirs` 6 已在依赖树里,不增加编译量 - `Workspace::new` 改为外部注入 store:`main.rs` 从库加载,测试注入 seed - `ConnectionState` 不入库;`last_connected_at` 入库,最近连接跨启动保留 - 新增 5 个 UI 测试,其中一个走真实写路径后用第二个连接读回同一个文件 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JcMDBhETbHS7rEucBMAVvv
Description
High-performance native SSH client in Rust, GPU-rendered with GPUI: host manager, terminal, WinSCP-style SFTP and port forwarding. Rust 编写、GPU 渲染的原生 SSH 客户端。
https://shellrs.com
14 MiB
0 Stars
1 Watchers
0 Forks