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`
|
且发布**不带** `--prerelease` → 正式版用户(`allowPrerelease=false`)走 `/releases/latest`
|
||||||
按 GitHub 标记取最新正式版,正常识别。
|
按 GitHub 标记取最新正式版,正常识别。
|
||||||
- 同格式升级:`1.2.1-beta.14 > 1.2.1-beta.13`(数值比较)✓;`1.2.1-14 > 1.2.1-13` ✓
|
- 同格式升级:`1.2.1-beta.14 > 1.2.1-beta.13`(数值比较)✓;`1.2.1-14 > 1.2.1-13` ✓
|
||||||
- 注意:当前版本为 `1.2.1-13`(数字尾号)时切到 runner 通道,通道逻辑会把 "13" 当自定义频道 → 无匹配,
|
- **runner 通道显式设置 `autoUpdater.channel = "beta"`**:否则当前版本为数字尾号稳定版
|
||||||
属预期边缘情况(数字尾号构建请使用 woker 通道);`1.2.1-beta.x` 的 runner 用户不受影响。
|
(如 `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
|
- 所有旧数字版本(`1.2.1-12` / `1.2.1-2608271921`)都小于 `1.2.1-beta.13`,平滑升级,无需提升 base
|
||||||
|
|
||||||
## 14. M2 主进程更新模块(2026-08-28,UI 待做)
|
## 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 {
|
private applyChannel(): void {
|
||||||
const def = getChannelDef(this.channelKey);
|
const def = getChannelDef(this.channelKey);
|
||||||
// runner(跑步) 强制开启 allowPrerelease → GitHub provider 走 Atom feed 频道逻辑可收 beta;
|
// runner(跑步) 强制开启 allowPrerelease → GitHub provider 走 Atom feed 频道逻辑可收 beta;
|
||||||
// woker(慢走) 关闭 → 走 releases/latest 只认稳定版,不被预览版污染。
|
// woker(慢走) 关闭 → 走 releases/latest 只认稳定版,不被预览版污染。
|
||||||
autoUpdater.allowPrerelease = def.allowPrerelease;
|
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 动态渲染;可扩展) */
|
/** 通道定义列表(UI 动态渲染;可扩展) */
|
||||||
|
|||||||
Reference in New Issue
Block a user