mirror of
https://github.com/dream-pep/koring-launcher.git
synced 2026-09-12 05:45:18 +08:00
fix(auto-updater): 修复 runner 通道数字尾号版本无法检测 beta 更新的问题
更新自动更新计划文档,补充说明该修复细节和 runner 通道的正确配置要求
This commit is contained in:
@@ -326,8 +326,9 @@ src/
|
||||
且发布**不带** `--prerelease` → 正式版用户(`allowPrerelease=false`)走 `/releases/latest`
|
||||
按 GitHub 标记取最新正式版,正常识别。
|
||||
- 同格式升级:`1.2.1-beta.14 > 1.2.1-beta.13`(数值比较)✓;`1.2.1-14 > 1.2.1-13` ✓
|
||||
- 注意:当前版本为 `1.2.1-13`(数字尾号)时切到 runner 通道,通道逻辑会把 "13" 当自定义频道 → 无匹配,
|
||||
属预期边缘情况(数字尾号构建请使用 woker 通道);`1.2.1-beta.x` 的 runner 用户不受影响。
|
||||
- **runner 通道显式设置 `autoUpdater.channel = "beta"`**:否则当前版本为数字尾号稳定版
|
||||
(如 `1.2.1-13`)时,`prerelease[0]="13"` 会被当自定义频道 → 通道循环无匹配,
|
||||
正式版切跑步模式检测不到 beta(已修复,见 updater.ts applyChannel);woker 恢复 `latest`
|
||||
- 所有旧数字版本(`1.2.1-12` / `1.2.1-2608271921`)都小于 `1.2.1-beta.13`,平滑升级,无需提升 base
|
||||
|
||||
## 14. M2 主进程更新模块(2026-08-28,UI 待做)
|
||||
|
||||
File diff suppressed because one or more lines are too long
+12
-2
@@ -277,13 +277,23 @@ class UpdateService {
|
||||
}
|
||||
}
|
||||
|
||||
/** 按当前通道应用 electron-updater 的 allowPrerelease(woker=只收正式版 / runner=可收预览版) */
|
||||
/** 按当前通道应用 electron-updater 的 allowPrerelease + 频道(woker=只收正式版 / runner=可收预览版) */
|
||||
private applyChannel(): void {
|
||||
const def = getChannelDef(this.channelKey);
|
||||
// runner(跑步) 强制开启 allowPrerelease → GitHub provider 走 Atom feed 频道逻辑可收 beta;
|
||||
// woker(慢走) 关闭 → 走 releases/latest 只认稳定版,不被预览版污染。
|
||||
autoUpdater.allowPrerelease = def.allowPrerelease;
|
||||
console.log(`[updater] 更新通道: ${def.label}(${def.key},allowPrerelease=${def.allowPrerelease})`);
|
||||
if (def.allowPrerelease) {
|
||||
// 关键:runner 显式指定频道 "beta"。否则当当前版本是数字尾号稳定版(如 1.2.5-13)时,
|
||||
// semver.prerelease(currentVersion)[0] = "13" 会被 GitHub provider 当作"自定义频道",
|
||||
// 通道循环匹配不到任何版本 → "No published versions on GitHub",
|
||||
// 正式版切跑步模式将无法检测 beta 预览版。
|
||||
autoUpdater.channel = 'beta';
|
||||
} else {
|
||||
// woker 恢复默认 latest 频道(allowPrerelease=false 走 /releases/latest,频道不影响识别)
|
||||
autoUpdater.channel = 'latest';
|
||||
}
|
||||
console.log(`[updater] 更新通道: ${def.label}(${def.key},allowPrerelease=${def.allowPrerelease},channel=${autoUpdater.channel})`);
|
||||
}
|
||||
|
||||
/** 通道定义列表(UI 动态渲染;可扩展) */
|
||||
|
||||
Reference in New Issue
Block a user