Repository navigation
v0.4.0 — 彻底修复:删除会话后在侧栏复活(含批量删除)
彻底修复「删除后又回到工作区」
0.3.0 只覆盖了「打开中」的 live 会话;批量删除归档会话仍会复活。完整根因:客户端侧栏的行来自内存 list store,只有 host/session-removed 帧(仅 live 会话 dispose 时宿主才发)或全新 session.list 基线才能把行移除。冷会话被删后宿主不发任何帧,行一直留在所有已连接客户端的 store 里——此时摘除归档 id 会广播 archived-sessions-changed,把残留行重新显示出来。
修复策略
- 运行期间永不摘除归档 id(delete / purge / 清空回收站一致):归档只是隐藏标记,没有行数据的 ghost id 在官方 UI 里不渲染任何东西,保留代价为零
- ghost 统一在宿主重启时清理(插件挂载时 reconcile 一次):重启后所有客户端都用全新基线重建 store,已删会话的行不复存在,此时摘除绝对安全
- /list 不再在运行期间 reconcile(那个广播本身就是复活诱因)
- 操作方客户端删除 / 还原后主动重拉
session.list基线(sessions.refresh(),能力探测),立即剪掉自己 store 里的残留行
升级
dsh plugin --profile web add github:xohmai/dsh-session-delete#v0.4.0装完重启 dsh web(重启同时会把历史 ghost 一并清掉)。测试:26 项 smoke + 8 项 render 全绿。