dsh-pet v0.2.12
安装 / 更新
dsh plugin --profile web add dsh-pet@0.2.12发布时位于 npm
test标签(latest仍是 0.2.11),确认稳定后再 promote。桌面模式需在配置里开启display: "desktop",改完重启 DSH 生效。
🐛 Bug 修复
- 关闭 DSH 弹 "Uncaught Exception: write EPIPE",helper 还不退出(#56) —— 宿主退出后管道读端关闭,helper 下一次写就是 EPIPE,而 Electron 默认只弹框、不退出。现在写失败即视为宿主已死并自行退出,另有每 2 秒的宿主探测兜底。
- 工作状态气泡的任务文案不更新、任务结束后永久残留(#59) —— 文案原先存在一个全局字段里、没有任何清空路径,写过一次就一直显示,还永久挡掉六档状态文案。现在它随会话同生共死(空闲 / 条目清除 / 新一轮清空),并改为取最后一个
in_progress(取第一个会永远停在最早那步)。 - 回合结束后宠物卡在工作动画上,不返回待机(#61) —— 进行中档位是 loop 播(
ended永不触发),回空闲时又不切动画,链就断了。现在回空闲时把当前那段改成"播完即停",工作期间的原生 loop 不变;浏览器与桌面两端一致。 - 偶发点击没反应:素材加载卡住后永久挂起(#62,来自 @Mineocean) ——
<video>流式加载偶发 stalled 且不报错,加载又没有超时兜底。现在改走fetch + blob并加 10 秒超时;顺带:缓存策略收回默认(同名替换自定义动画不再命中旧动画)、桌面端补上同样的兜底、宿主侧素材响应长度改取所读 fd(消除"永不结束的响应")。 - macOS 桌面模式完全不显示(#63) —— 宿主(DSH Desktop)把
ELECTRON_RUN_AS_NODE透传给 helper,helper 被当成纯 Node 启动、require('electron')直接崩,重启 12 次后熔断。现在 spawn 时删掉这个变量(设空串反而会让 Electron abort),手动拉起同样处理。 - 改桌宠大小保存后短暂出现"第二只宠物"(#64) —— 旧进程还没关窗就把新进程拉起来了。现在先等旧 helper 真正退出再拉起,并把连续保存串行化。
📝 其它
- #60:修正注释里"全屏透明窗导致视频黑屏"的因果——触发与窗口尺寸无关。
- 发布闸门新增一项:构建产物里出现
@oxc-project/runtime直接报错(该包不在依赖里,命中会让 DSH 起不来)。
兼容性
- 无破坏性变更,无需改配置;测试 225 项全部通过。