Skip to content

JavSP-fork v0.4.2

Choose a tag to compare

@luckwalter luckwalter released this 25 Oct 17:34
· 13 commits to master since this release

JavSP-fork v0.4.2

修复 v0.4.1 升级功能的两个缺陷(Windows 桌面版实测暴露)。
未使用 v0.4.1 升级功能的用户不受影响;已升级或正准备升级的,请直接用本版本。


🐛 修复一:更新提示条不显示版本号

现象:提示「发现新版本 v」,版本号是空的。

根因:前端取错了数据层级。更新接口把版本详情放在 info 里(版本号字段为 info.latest),而提示组件读的是顶层 latest —— 顶层只有 available / frozen / container 这类状态位,版本号根本不在那儿。

现在会正确显示成「发现新版本 v0.4.2(当前 v0.4.1)」。

🐛 修复二:点了「立即升级」并没有真正升级

现象(比较迷惑):安装包确实下载到了程序目录下的 update/,主程序也退出了,但目录里还是旧版本,手动再打开 exe 依然是老版本。

根因:启动升级助手进程时用了 DETACHED_PROCESS | CREATE_NEW_PROCESS_GROUP 这个组合。该组合下 PowerShell 进程能起来、脚本却不执行 —— 连它自己的第一行日志都不写,全程静默失败,所以表面上看不出任何异常。

实测了 6 组启动参数:

启动方式 结果
无特殊标志 正常执行
无特殊标志 + 隐藏窗口 正常执行
DETACHED_PROCESS | CREATE_NEW_PROCESS_GROUP 不执行
DETACHED_PROCESS | CREATE_NEW_PROCESS_GROUP + 隐藏窗口 不执行
CREATE_NO_WINDOW 正常执行
CREATE_NO_WINDOW + 隐藏窗口 正常执行

已改用 CREATE_NO_WINDOW —— 既隐藏控制台窗口,又能真正执行。

配套加固:

  • 新增「助手是否真的跑起来」的观察信号(以助手写入的第一行日志为准),便于区分"已启动但失败"和"压根没启动";
  • 主进程退出延时由 1.5 秒放宽到 3 秒,避免观察还没完成主进程就退了;
  • 升级助手的日志改为 UTF-8 写入(此前用 PowerShell 5.1 默认的 ANSI,中文日志是乱码,不利于排查)。

验证:用模拟旧目录 + 模拟升级包做了端到端演练,主进程硬退出后助手独立完成替换 —— 新版就位、config.yml 与 JavSP.log 原样保留、.bak 备份生成。


📦 下载与校验

资产 用途
JavSP-0.4.2-windows.zip Windows 桌面版,解压即用(exe 同级便携)
javsp-fork-0.4.2-image.tar.gz Docker 镜像,docker load -i 后重启容器
javsp-fork-0.4.2.sha256 上述两个文件的 SHA-256 校验值

⚠️ 升级说明

  • Windows:v0.4.0 及以上在界面顶部点「立即升级」即可自动完成(配置自动保留)。v0.4.1 用户若在上一版遇到"点了没反应",用本版本再点一次即可正常升级。
  • Docker:docker load -i javsp-fork-0.4.2-image.tar.gz 后 docker restart javsp;配置文件挂在容器外,不受影响。