Skip to content

dsh-session-toolbox v0.1.12

Choose a tag to compare

@AndroidSix AndroidSix released this 18 Oct 08:03
· 11 commits to main since this release

迁移/还原后自动刷新会话位置,以及让迁移不再留下半完成状态。

问题背景:一次迁移只完成了账本阶段、文件没真正移动,结果会话从侧栏消失——注册表说它在目标项目,字节却还在原项目,journal 又被清空,无法自动恢复。

修复

  1. 账本写入前校验文件真实位置:ledger 阶段读取新位置日志并确认 header.cwd === toCwd,不匹配即以 publish-missing 失败。这种「注册表与字节不一致」的孤立状态从此不会发生。

  2. 迁移失败自动回滚:commit 之后任一阶段抛错,立即按逆序回滚到底;只有回滚本身也失败时才保留 journal 作为人工救援指针。

  3. 迁移/还原后自动刷新:宿主在 index 阶段重新读取会话头使新位置立即生效;客户端广播通知让面板重新拉取状态。侧栏列表是服务端驱动的快照,因此界面明确提示「刷新侧栏后可见」,而不是让会话看起来消失了。

不受影响:刷新只作用于被迁移/还原的那一个会话,其它会话不做任何操作。

62 项测试(60 通过 + 2 项需真机跳过)。