v3.18.5
v3.18.5 — 修复编译版二进制的更新链路
自 v3.18.x 起 botmux 通过 npm 与 install.sh 分发的都是同一个自包含二进制。
但三处更新入口(botmux update、Dashboard 手动更新、定时自动更新)都按
「install root 的路径形态」判包管理器,而编译版没有 package.json 落盘,
该根解析为 / ⟹ 全部失效。在真实发布的 v3.18.4 二进制上复现:版本号显示
正常,但 botmux update 报「无法安全识别当前安装方式(unknown)」后退出。
本版改为按二进制实际所在位置(process.execPath)判安装形态:
- npm / pnpm / Bun 平台子包形态 → 交回原包管理器更新;
- install.sh 独立安装形态 → 下载对应平台资产、校验 SHA-256、原子替换自身。
同时修掉同源的几处缺陷:
- 编译版在存在
/src的镜像中会被误判为源码 checkout 而转去git pull; - 分离式重启传参在编译态错位,导致「报告重启成功但实际未重启」;
- 内建版本号会遮蔽更新结果,使定时任务误判「已是最新」而跳过重启,
Dashboard 的变更标记恒为假,版本回退则每次误报版本不匹配; - pnpm 版本化 store 更新后可能由旧二进制拉起进程;
- 回退入口此前会展示给不支持回退的安装形态。
Node 安装形态的行为保持不变。
🐛 修复
- update: 编译版二进制的更新路径按安装形态分流 (#1078)
Full Changelog: v3.18.4...v3.18.5