Repository navigation
dsh-session-toolbox v0.1.12
迁移/还原后自动刷新会话位置,以及让迁移不再留下半完成状态。
问题背景:一次迁移只完成了账本阶段、文件没真正移动,结果会话从侧栏消失——注册表说它在目标项目,字节却还在原项目,journal 又被清空,无法自动恢复。
修复
-
账本写入前校验文件真实位置:
ledger阶段读取新位置日志并确认header.cwd === toCwd,不匹配即以publish-missing失败。这种「注册表与字节不一致」的孤立状态从此不会发生。 -
迁移失败自动回滚:
commit之后任一阶段抛错,立即按逆序回滚到底;只有回滚本身也失败时才保留 journal 作为人工救援指针。 -
迁移/还原后自动刷新:宿主在
index阶段重新读取会话头使新位置立即生效;客户端广播通知让面板重新拉取状态。侧栏列表是服务端驱动的快照,因此界面明确提示「刷新侧栏后可见」,而不是让会话看起来消失了。
不受影响:刷新只作用于被迁移/还原的那一个会话,其它会话不做任何操作。
62 项测试(60 通过 + 2 项需真机跳过)。