Skip to content

K2GO-503 feat(updaters): overall progress and total ETA for add-ons/assets - #677

Merged
luisguzman-adfa merged 2 commits into
mainfrom
feat/K2GO-503-updater-progress-eta
Oct 22, 2026
Merged

luisguzman-adfa merged 2 commits into
mainfrom
feat/K2GO-503-updater-progress-eta

Conversation

@luisguzman-adfa

Copy link
Copy Markdown
Collaborator

What

The Update add-ons and Update build assets updaters now show one
monotonic progress bar with aggregate speed and total ETA, a "Checking for
updates..." state, and a result that says whether the content was already up to
date or a new version was installed. The fix lives in the shared path, so the
add-ons/assets duplication is removed and a new download module inherits the
behavior.

How

  • Box: downloadWithAria2 aggregates progress across all files through
    aria2's RPC (piece-accurate completedLength): overall percent, aggregate
    speed, and total ETA on the job. Add-ons supplies the total from its staged
    catalog; assets uses aria2's learned totals. aria2 is shut down on queue drain
    (it does not exit on its own under RPC); the console readout stays as the
    fallback. New eta field through jobs.ts / routes.ts. No mirror change.
  • App: new ContentUpdater interface + shared ContentUpdaterView (progress
    block, checking state, percent/speed/ETA line, terminal
    done/up-to-date/failed/cancelled, and the listener-lifecycle guard that fixes
    the initial-paint race). AddonsUpdater / CodeAssetsUpdater are thin
    adapters; the duplicated AddonsRefresh / CodeAssetsRefresh are deleted;
    ModuleActions is rewired.
  • Control unchanged: pause / resume / cancel / retry go through the box job
    engine's process kill, not RPC (RPC is read-only progress); the metered-network
    consent stays app-side before the download. The withRetry reconnect indicator
    is re-surfaced from the poller.

UI

The add-ons and build-assets module updaters (the inline progress under the
Update button). Light and dark + device verification pending.

Strings

New UI strings, localized to all 33 locales before merge:

Key Value
k2go_update_checking Checking for updates...
k2go_eta_min_sec %1$d min %2$d s left
k2go_eta_sec %1$d s left
k2go_code_addons_update_up_to_date Add-ons already up to date
k2go_code_assets_update_up_to_date Build assets already up to date

Verification

  • Dashboard tsc green; app compileStandardDebugJavaWithJavac green.
  • Two-pass code review done (2 correctness bugs fixed).
  • Device test pending.

…ssets

Aggregate aria2 progress through its RPC into one monotonic bar with aggregate
speed and total ETA; unify the duplicated add-ons/assets refresh views into one
ContentUpdaterView behind a ContentUpdater adapter (fixes the dancing bar, the
duplicate label, and the up-to-date message).
@luisguzman-adfa
luisguzman-adfa force-pushed the feat/K2GO-503-updater-progress-eta branch from abfbd3e to 40a8347 Compare October 22, 2026 20:30
@luisguzman-adfa luisguzman-adfa added ui change or edit to UI strings changes or updates on xml strings files labels Oct 22, 2026
@luisguzman-adfa
luisguzman-adfa merged commit a492f08 into main Oct 22, 2026
4 checks passed
@luisguzman-adfa
luisguzman-adfa deleted the feat/K2GO-503-updater-progress-eta branch October 22, 2026 21:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

strings changes or updates on xml strings files ui change or edit to UI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant