Skip to content

feat(update): time left during an update download, notices for slow or interrupted transfers - #8

Merged
howar31 merged 2 commits into
mainfrom
feat/update-download-eta
Oct 1, 2026
Merged

howar31 merged 2 commits into
mainfrom
feat/update-download-eta

Conversation

@howar31

@howar31 howar31 commented Oct 1, 2026

Copy link
Copy Markdown
Owner

Cause

The update download status showed percent and size only. A slow transfer was hard to tell from a stuck one, and a transfer that dropped or stalled showed the same notice as any other failure, although the release page it opens serves the file from the same servers.

Change

  • lib/update/updater.dart: DownloadRate measures the rate over the most recent progress reports; DownloadProgress carries the estimated time left and a slow flag (set once the download has run 20 seconds with more than 2 minutes left, kept for the rest of that download). failedInDownload tells a failure during the transfer from a missing listing or a refused apply.
  • lib/settings/update_download_text.dart: one caption builder shared by the About status line and the install scope page.
  • lib/settings/settings_app.dart: the About status area has a 22px minimum and grows, animated, for the slow-download line and the two-sentence download failure notice.
  • lib/settings/install_scope_page.dart: same caption and slow-download line.
  • lib/l10n: five new strings in English and Traditional Chinese.
  • Version 1.23.0+40.

Verification

  • flutter analyze and the full flutter test suite pass on macOS, including new tests for the rate estimate, the slow flag, the failure flag, the caption and the scope page line.
  • The About status area was not checked on screen: a debug build is not an installed copy and never reaches the download. It can be checked when an installed 1.23.0 updates to a later release.

…n slow or interrupted transfers

The download status showed percent and size only, so a slow transfer was
hard to tell from a stuck one, and a transfer that dropped showed the
same notice as any other failure.

The updater now measures the transfer rate over the most recent progress
reports and carries an estimate of the time left. The About status line
and the install scope page append it to the progress caption. When a
download has run for a while and the estimate is still long, a second
line states that the speed depends on the connection to the download
servers and that the download is still running; the About status area
grows to fit it.

A failure during the transfer itself now shows its own notice, which
also says that the browser download uses the same servers. Other
failures keep the existing notice.
@howar31
howar31 merged commit 1f3dd11 into main Oct 1, 2026
4 checks passed

This branch was successfully deployed

1 active deployment
github-pages — 1f3dd110 Deployed Oct 1, 2026 by howar31 via deploy #65
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