Uh oh!
There was an error while loading. Please reload this page.
feat(updates): update modal, auto-download setting, changelog - #2818
Conversation
React Doctor found 1 issue in 1 file · 1 warning. 1 warning
Reviewed by React Doctor for commit |
|
Uh oh!
There was an error while loading. Please reload this page.
f934def to
3b3c512Comparef47c58b to
8ebb593Compare3b3c512 to
05dc196Compare8ebb593 to
f7ef353Compare05dc196 to
8456ef4CompareThere was a problem hiding this comment.
This PR exceeds the automated review size ceiling (1402 lines, 30 files) and touches multiple areas including Electron updater behavior, platform interfaces, core store logic, and new UI modals. The scope is too large to review confidently without human oversight — request a team member review before re-requesting auto-approval.
8456ef4 to
6cdb962Compare97fb702 to
d07a09aCompareThere was a problem hiding this comment.
Gates denied this PR for exceeding size limits (1552 lines, 32 files). The change touches Electron updater behavior, platform interfaces, core store logic, host-router wiring, and multiple new UI modals — too broad to auto-approve. A prior bot review also flagged it as requiring human oversight. Request a team member review before re-requesting.
6cdb962 to
ae7bae2Comparef2656c7 to
482f3bfCompareae7bae2 to
96ed56fCompare482f3bf to
2edb0b3Compare96ed56f to
d7276ccCompare2edb0b3 to
a0d7442Compare9d9204f to
53a910aCompared48dcee to
c6d952cCompare53a910a to
130215aCompareMerge activity
|
130215a to
39568b3Compare4fef368 to
25b320bCompare39568b3 to
0e31c9bCompare0e31c9b to
046a599CompareUh oh!
There was an error while loading. Please reload this page.

Problem
The move to electron-updater gave us a new set of primitives that were previously unavailable to us: checking for an update without downloading it, byte-level download progress, an explicit download trigger, install-on-quit and release notes at check time. The old experience used none of them. Updates downloaded silently, and the only UI was a bottom-left banner with a "Restart" button that appeared once the download had already finished. There was no opt-in download, no release notes, no progress and no way to browse the changelog.
Changes
Three user-facing additions, built on those primitives:
updates.setAutoDownloadprocedure.GitHubReleasesService(in workspace-server, publicGET /repos/PostHog/code/releases, Zod-parsed and cached). The current version is marked, and the modal auto-shows once on the first launch after an update installs (tracked with a persistedlastSeenChangelogVersion).Plumbing:
IUpdatergainsdownload(),onDownloadProgress()andsetAutoDownload(), andonUpdateAvailablenow carries the release notes. The electron-updater adapter setsautoDownloadto false andautoInstallOnAppQuitto true and wires thedownload-progressevent.UpdatesServicegains an "available" state, download progress and the auto-download decision, and the status payload plus the renderer stores carry the new fields.Auto-update stays macOS and Windows only; the What's New changelog works on every platform.
Stacked on #2817.
How did you test this?
pnpm typecheck(22 of 22),pnpm lintandpnpm buildall pass.pnpm testpasses. New unit tests cover theUpdatesServicetransitions (available, then requestDownload, then downloading, then ready, plus the auto-download branch) with a fakedIUpdater, and theGitHubReleasesServicemapping, caching and error handling with a faked fetch.Automatic notifications