Skip to content

Releases: mrzhangkris/dsh-session-pruner

v0.3.2 — isLive fail-closed 安全修复 + 单一来源重构 + 文档体系化

Choose a tag to compare

@mrzhangkris mrzhangkris released this 02 Sep 18:01

Security

  • live 检查 fail-closed 完整化:cordis registry.get 在 provider fiber 非 active(sessions 服务重载窗口)时返回 undefined 而非抛异常——旧版 try/catch 只覆盖抛异常路径,该窗口内 live 保护整体失效,delete 模式下最坏批量物理删除(不可恢复)。现在「服务缺失/接口缺失/查询异常」一律视为 live(isLive 单一来源,三处调用点共用)。

Changed

  • 配置应用单一来源 applyRuntimeConfig(apply 与 onChange 共用,消除旧版 3 字段 vs 10 字段覆盖不一致)
  • client dirty 判定去重(高级 badge 复用 advDirty 原子判定)
  • 清理死代码:NS/Config 多余 export、jsx-runtime 迁移遗迹、调试日志
  • npm test(poc 回归 + e2e)
  • 文档体系化:DESIGN(设计决策与关键不变量)/ TESTING(测试矩阵与验证金字塔)/ PROJECT-STATUS(新会话交接快照),DEVELOPMENT-GUIDE 同步坑 12(cordis registry.get 空值语义)

升级:dsh plugin --profile web add dsh-session-pruner@0.3.2 后重启 dsh web 守护进程;含安全修复,建议尽快升级。

Full Changelog: v0.3.1...v0.3.2

v0.3.1 — 设置卡片渐进披露(UX 减负)

Choose a tag to compare

@mrzhangkris mrzhangkris released this 02 Sep 14:23

Changed

  • 设置卡片渐进披露重构:常用 6 项(归档保留/归档方式/one-shot 阈值/可续与主会话闲置/Pin 白名单)默认可见,4 项低频兜底(扫描间隔/容量保底/界面兜底刷新/超限清 main)收进「高级设置」折叠区——默认视图从 10 个字段减半。
  • 高级项有未保存更改时折叠标题显示「有未保存更改」标记,防止收起后忘存。
  • 配置能力不变(10 项全保留,仅视觉分组),零破坏升级。

Full Changelog: v0.3.0...v0.3.1

v0.3.0 — Pin 白名单 + 面板状态行(审计修复 + 产品化)

Choose a tag to compare

@mrzhangkris mrzhangkris released this 02 Sep 13:56

Added

  • Pin 白名单:pinnedIds 配置(面板每行一个会话 ID / env DSH_SESSION_PRUNER_PINNED_IDS 逗号分隔),名单内会话永不自动清理。拦截点在 archiveSession 入口——所有清理路径(one-shot 闲置 / 事件驱动 / 容量保底 / 闲置归档)单点防护。
  • 面板实时状态行:卡片展开显示归档数量与最早到期时间、会话总量(含超限)、最近一轮清理数量与时间、已固定数量——新增 GET /plugins/dsh-session-pruner/status 轻量路由(归档目录 stat 实时 + 扫描快照缓存,绝不触发全量 zstd 解压),client 30s 轮询。
  • 清理判定抽为 classifySession 单一来源(runOnce 与预览/审计复用);archiveSession 返回布尔(顺带修复归档失败也计入 removed 的计数瑕疵)。
  • README 恢复指引:恢复归档会话后建议立即 pin 或打开,避免打开前窗口期被再次归档。

Fixed

  • 🔴 ended 判定改 JSON.parse 精判:旧版纯字符串包含会把「用户消息文本里出现 session/end-seed 字样」的行误判为已结束,绕过运行中保护(闲置归档与容量保底路径可误删)。
  • 🟠 pruneArchive 不再因 archiveMode=delete 提前 return:archive→delete 切换后旧归档不再永久残留磁盘。
  • 🟠 dry-run 复用 lib 的 decodeSession/decompressLog,消除双源漂移(统计即生产行为)。
  • 面板 intervalMinutes hint 文案张冠李戴(误写为 one-shot 存活时间)。
  • README 双语同步 v0.2.3+ 事件驱动语义(中文版表格/安全段/原理图漂移 + 英文版语言混用)。

升级:dsh plugin --profile web add dsh-session-pruner@0.3.0 后重启 dsh web 守护进程生效(launchctl kickstart -k gui/$(id -u)/com.deepseek.dsh-web);仅改配置无需重启(热加载)。

Full Changelog: v0.2.4...v0.3.0