Skip to content

v0.4.0 — empty trash, native dialogs, force delete

Choose a tag to compare

@JeffKeeping JeffKeeping released this 17 Oct 15:48
· 2 commits to main since this release

v0.4.0

基于上游 dream12347/dsh-session-manager v0.2.3(MIT)的衍生版本,在 DSH 0.2.1-rc.2 上验证。

新增

  • 一键清空回收站:回收站底部新增「清空回收站」,经 POST /dsh-session-manager/purge-all 一次性永久删除全部条目与磁盘目录;失败条目保留以便重试,响应回报 purged / failed / remaining
  • 原生确认弹窗:删除 / 恢复 / 彻底删除 / 清空回收站 / 批量删除 / 删除工作区 / 保存失败等提示改用官方 Modal(遮罩模糊、Esc 关闭、焦点归还、危险色按钮、等宽展示会话 ID),不再弹出桌面端系统消息框
  • 强制删除:常规删除失败时弹窗提供「强制删除」,跳过归档校验、按 ~/.dsh/sessions/<project>/<id> 兜底定位并移入回收站(仍可恢复);运行中的会话仍拒绝
  • 更宽的会话 ID 兼容:od-<uuid> 等非 session-<hex> 的 ID 不再报 invalid-session-id

修复

  • 重挂载导致宿主启动崩溃:webServer.register() 对重复路由硬抛错,插件重挂载时会重复注册 9 条路由且旧注册未释放,异常沿 apply() 逃逸使 DSH 启动失败。改为进程级路由表接管:新挂载先释放旧注册再注册,冲突只记日志;setup() 失败也被兜住

安装

dsh plugin --profile <profile> add https://github.com/JeffKeeping/dsh-session-manager/releases/latest/download/dsh-session-manager.tgz

或本地目录:dsh plugin --profile <profile> add /absolute/path/to/dsh-session-manager(link 安装,勿删除目录)。

插件市场

提交清单在 market-submission/JeffKeeping__dsh-session-manager.yml。