Skip to content

feat(desktop): show live download progress for app updates - #336

Merged
quickbeard merged 2 commits into
mainfrom
update-download-progress
Aug 27, 2026
Merged

quickbeard merged 2 commits into
mainfrom
update-download-progress

Conversation

@quickbeard

Copy link
Copy Markdown
Owner

What

Downloading an app update used to show nothing measurable: the update dialog's button spun, the settings row said "Downloading...", and an automatic background download showed nothing at all until Install and restart appeared. On the fleet's metered links, where installers are hundreds of megabytes, that reads as a hang.

  • UpdaterState's downloading now actually carries the percent the type always declared: the controller gains reportDownloadProgress(percent) — floored to whole percents and deduped, since electron-updater reports every chunk and each transition is a log line plus an IPC send to every window; trailing events after the download settles are ignored so they cannot resurrect the state.
  • main/updater.ts feeds it from autoUpdater.on("download-progress"); the percent rides the existing updater-state broadcast, so no new IPC channels.
  • The update dialog renders a progress circle with the percentage, gets a dedicated "is downloading" sentence (en/es/vi), and now also opens once per run while a download is in flight — previously it only opened on available/ready, so a default-settings launch check that went straight to downloading surfaced nothing.

Bookkeeping

  • Extended the "Update checking and download controls" row in DIVERGENCES.md (upstream files: updater-controller.ts, updater.ts, i18n en/es).
  • Controller test covers the whole-percent dedup, the downloading-only gate, and the trailing-event guard.

🤖 Generated with Claude Code

Quickbeard and others added 2 commits August 27, 2026 08:58
The downloading state carries a whole-number percent now: the updater
controller gains reportDownloadProgress (floored, downloading-only, and
deduped per whole percent so chunk-level events do not fan out to every
window), fed from electron-updater's download-progress event. The update
dialog renders it as a progress circle and also opens while a download
is running, so an automatic download in flight is visible instead of
silent until ready.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@quickbeard
quickbeard merged commit 102ad5e into main Aug 27, 2026
0 of 5 checks passed
@quickbeard
quickbeard deleted the update-download-progress branch August 27, 2026 02:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant