Desktop: detect and surface a failed auto-update install. When a…#227
Merged
Conversation
… (PRD-7149) (#2010) * fix(open-knowledge): surface failed auto-update installs at next boot (PRD-7149) A user-committed update (Relaunch now, or quit-to-install via autoInstallOnAppQuit) that fails after the app cleanly quits — e.g. macOS Squirrel's post-quit ShipIt never runs — left no signal: the in-session error path and the no-quit watchdog only fire while the process is alive, and the pending-install record was cleared before quit. The app booted back on the old version silently. Add a persisted attemptedInstall record set at update-downloaded (it survives the relaunch-now clear of versionPendingInstall). At boot, a prerelease-aware compare decides success vs failure; on failure the renderer shows a richer 'Update to vX didn't install' notice with Retry and Download manually. The record stays armed until the install actually takes, so a persistently-failing install keeps re-surfacing instead of going silent after one Retry. * test(open-knowledge): address review — pin installReached branches + success-branch persist failure (PRD-7149) - Add 3 installReached tests: non-numeric ASCII order, numeric-ranks-below-non-numeric (semver 11.4.3), and the length tie-break — the comparator the feature pivots on. - Add a symmetric success-branch persist-failure test (attemptedInstall stays armed, no dispatch) mirroring the failure-branch one. - Log version context when the success-branch reconcile persist fails, matching the failure branch's diagnostic. - Capture + log the Retry-rejection reason renderer-side instead of dropping it silently (re-arm behavior kept: the two-action card is already the error surface). GitOrigin-RevId: a68c5a4d70cceee0b1334e957aee65316d94e89a
Contributor
There was a problem hiding this comment.
Automated approval from agents-private public-mirror-sync (run: https://github.com/inkeep/agents-private/actions/runs/27986725743). Source of truth is the monorepo; direct edits on inkeep/open-knowledge are overwritten on next sync.
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.
Desktop: detect and surface a failed auto-update install. When a "Relaunch now" (or quit-to-install) update is committed but the app boots back on the old version — e.g. macOS Squirrel's post-quit install never ran — the next launch now shows a clear "Update to vX didn't install" notice with Retry and Download manually actions, instead of failing silently. Previously this clean-quit failure left no signal: the in-session error and no-quit watchdog only fire while the process is alive, and the pending-install record was cleared before quit. Detection uses a prerelease-aware version compare so same-version beta bumps (e.g. beta.1 → beta.3) are no longer misread as a successful install.