github csyangwen/dsh-memory-evolve v26090901

latest releases: v26092802, v26092801, v26091501...
one month ago

修复「Memory Evolve 设置 → 配置」里勾选「记忆写入看门狗」保存后刷新即失效(issue #44,外部 PR #45 by @firedrakeovo)。

根因

MemoryQueueView.saveConfig() 手工拼了一个固定键列表的 patch 发给宿主。perTurnWriteGuard(看门狗开关)与 writeGuardThreshold(阈值)在面板里有控件、draft 绑定也在(勾选立即变化),却没进这个 patch——于是 POST body 里根本没有这两个键,宿主 updateRuntime() 收不到、plugin-state.json 不落盘,刷新后 GET /api/config 回显默认 false 把复选框打回未勾选。服务端 RUNTIME_KEYS 与 validateRuntimePatch 本身正常,缺的只是客户端发送。

修复

  • src/client/MemoryQueueView.tsx:保存 payload 补上两个键(+2 行);
  • lib/client.js:同步重建的产物(+2 行);
  • 新增 tests/client-config-save.test.js:3 条契约断言——面板 draft 绑定键 ⊆ saveConfig 发送键、源码与产物键集合一致(防「改了源码没重建」)、RuntimeConfig 接口字段 = 发送键。

维护者复核(合入前独立验证)

  • 独立提取面板 26 个 draft 键比对:漏键正好是这两个,无其它遗漏;
  • 回归测试有效性:还原修复(源码+产物各删 2 行)后 3/3 失败,恢复后 3/3 通过;
  • 全量 node --test 'tests/*.test.js':802/802 通过;PR 分支重跑 npm run build 产物无 diff;
  • 服务端实测:两键均在 RUNTIME_KEYS,布尔值通过、阈值 0 / 2.5 被正确拒绝。

完整说明见 docs/CHANGELOG.md。

Don't miss a new dsh-memory-evolve release

NewReleases is sending notifications on new releases.