Skip to content

K2GO-317 feat(maps): pause and resume full-region downloads - #712

Merged
luisguzman-adfa merged 2 commits into
mainfrom
feat/K2GO-317-maps-pause-resume
Oct 30, 2026
Merged

luisguzman-adfa merged 2 commits into
mainfrom
feat/K2GO-317-maps-pause-resume

Conversation

@luisguzman-adfa

Copy link
Copy Markdown
Collaborator

What changes

Full-region (FQR) map downloads become pausable and resumable, instead of
stop-and-restart.

Server (dash-node): pause sends the extract a graceful SIGTERM, so the custom
go-pmtiles build flushes its on-disk resume journal; resume re-runs tile-extract
and continues from that journal instead of from zero. The maps runner keeps the
partial on pause, purges it on cancel or any other failure, reads the json
progress line by line, and reports whole-job percent with speed and ETA. Bumps
dash-node to 1.4.7 with a CHANGELOG line, since the server behavior changed.

App (FQR overlay): the keep-the-download control relabels Stop/Retry as
Pause/Resume, a paused job freezes the bar in amber, and the progress line shows
an ETA.

UI changes

  • No strings added or changed: the overlay reuses existing, already-translated
    strings (k2go_dl_pause, k2go_dl_resume, k2go_dl_paused_notif,
    k2go_eta_*). No l10n debt.
  • Visible change: the overlay control reads Pause / Resume by state (was
    Stop / Retry), a paused job shows "Paused" with an amber frozen bar, and the
    progress line gains an ETA suffix.
  • Light and dark: pending device verification (see Verification).

Why

Resume lets a user recover a large map download after an interruption, without
re-spending the metered data the network-cost consent gate warns about.

Verification

  • dash-node tsc --noEmit: clean. controller
    compileStandardDebugJavaWithJavac: clean.
  • Device E2E (pause then resume a real region) and light/dark: pending the APK
    build, the dash-node redeploy, and the rootfs that carries the m16 pmtiles
    binary and the patched tile-extract.py.

Coordination

Resume needs the K2GO-317 carry patch (the pmtiles m16 build plus the patched
tile-extract.py) baked into the rootfs. Without it the partial is kept, but a
re-run re-downloads from zero.

Pause sends SIGTERM so pmtiles flushes its on-disk resume journal; resume
re-runs tile-extract and continues from the journal instead of from zero.
The FQR overlay relabels Stop/Retry as Pause/Resume and shows an ETA.
Maps pause/resume changes dash-node behavior, so it bumps the REST version and
adds the CHANGELOG line the app reads via /system/dashboard/update-check.
@luisguzman-adfa luisguzman-adfa changed the title Feat/k2 go 317 maps pause resume K2GO-317 feat(maps): pause and resume full-region downloads Oct 30, 2026
@luisguzman-adfa
luisguzman-adfa merged commit 96e3491 into main Oct 30, 2026
4 checks passed
@luisguzman-adfa
luisguzman-adfa deleted the feat/K2GO-317-maps-pause-resume branch October 30, 2026 16:46
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