Repository navigation
fix(release): restore desktop app-update.yml and keep V1 as the GitHub Latest release - #59529
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
There was a problem hiding this comment.
This looks correct to me. I checked writeUpdateConfig against app-builder-lib 26.15.7: its onAfterPack skips app-update.yml for --dir targets, and --prepackaged doesn't run afterPack, so the base really ships without the file. With this change the generated YAML is byte-identical to what electron-builder would write for the prod, beta and dev channels (same provider, url, channel and sanitised updaterCacheDirName; no publisherName, since verifyUpdateCodeSignature is false). tsc -b passes in packages/desktop. I couldn't run the macOS/Windows packaging or a real gh release here, so this is unverified end to end.
Public API: unchanged (release tooling only).
No blocking concerns.
Related: #58105
Two release blockers from the new release pipeline (#59046), found before the first stable run.
Desktop builds lose
app-update.ymlpack.tsbuilds macOS and Windows withelectron-builder --dir(the installer step uses--prepackaged). app-builder-lib only writesresources/app-update.ymlfordmg/zip/nsistargets, and our updater (gui-plugins/src/updater/platform.ts) never callssetFeedURL, so it needs that file.app-update.ymlresources/)devrun 40455332094,build-desktop-darwin-arm64build-desktop-windows-x64Anyone who updates to a build without it can never auto-update again.
pack.tsnow writes the file into the app's resources before the tarball / unpacked copy, so it is signed with the app and the Windows installer step picks it up. Values come from the channel'spublishconfig; forlatestthe output is byte-identical to the installed 2.1.4 file:V2 GitHub releases must not take Latest
publish-github-release.shpublished the release without--latest=false, sov2.xwould replacev1.19.4as Latest. OpenCode 1's CLIupgrade(curl/yarn installs), electron-updater, Scoop and the GitHub Action all follow Latest, and the V2 release attaches CLI archives with the sameopencode-<target>.zipnames (see #54903).Blocks v2.2.0.
Added by the opencode bot (AI-generated).
Related: #58105