Skip to content

dsh-pet v0.2.12

Choose a tag to compare

@PC2005-cloud PC2005-cloud released this 24 Sep 04:30
· 45 commits to main since this release

安装 / 更新

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 项全部通过。