Repository navigation
Desktop: download updates in the background and install on quit (parked for upstream #17588) - #40
Draft
scuttletoby wants to merge 1 commit into
Draft
scuttletoby wants to merge 1 commit into
scuttletoby wants to merge 1 commit into
Conversation
Opt-in "autoUpdate": true in desktop-settings.json: after each background check an available update is downloaded and installed when the app quits. The install record is written at the real quit, and the setting is read again there. Moved out of the server auto-update PR (#5) and parked: upstream pingdotgg#17588 does the same thing and replaces this when it lands. Reviewed in #5 rounds 1-3; rebased on fork main with no behaviour change. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why this is a separate, parked PR
This is the desktop half of #5, moved out so #5 is only the server updater. It is parked, not for merge yet. Upstream pingdotgg#17588 ("download updates in the background and install them on quit") does the same thing. When it lands, the fork gets it from the nightly follow and this PR is closed. Keeping it here, not deleted, keeps the reviewed work in case pingdotgg#17588 stalls or is rejected.
Rejected alternatives:
Differences from pingdotgg#17588 (read only, as of 11-06): pingdotgg#17588 has no setting. It is always on, but only Windows and AppImage install at quit; macOS and
.debstill need Install. This PR is opt-in ("autoUpdate": trueindesktop-settings.json, off by default) and arms install-on-quit on every platform electron-updater supports.What
setAutoInstallOnAppQuit(true).Failure cases
DesktopAutoInstall.test.ts)Hand breaks from the #5 rounds, each turning the tests red: no quit step (2), record written at arm time (5), setting not re-read at quit (1).
Tests
Rebased on fork main with one conflict in
DesktopUpdates.ts(the channel change now restores the release floor on error; the disarm stays before it). Desktop typecheck is clean.src/updates+src/app: 235/235 pass, withGH_TOKEN/GITHUB_TOKENunset and an emptyGH_CONFIG_DIR.Not proven: no real electron-updater download and install-on-quit (that needs a published fork release). A reboot that kills the app during the quit step, after the record but before the install, would still report "did not apply".
General vs project
All general: one desktop setting in the public fork, nothing project-specific.
🤖 Generated with Claude Code