This repository was archived by the owner on Sep 11, 2026. It is now read-only.
feat: map download with resume, update checking, and integrity verification - #101
Merged
Merged
Conversation
- Resume partial downloads via HTTP Range headers (survives app restarts) - Check for map updates on NavigationSetupScreen open (digest comparison) - SHA256 integrity verification against GitHub release digests - Byte-weighted progress with MB display across display + valhalla tiles - Disk space check before download - Track installed map metadata in metadata.json - Fix valhalla: use tar directly (no extraction), correct service name - Remove nonexistent mbtileserver restart
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds map downloading to the navigation setup screen. When maps are missing or outdated, the user can download display tiles and Valhalla routing tiles for their current region. The region is resolved from the current GPS position via Nominatim reverse geocoding.
Downloads are resumable: files are written with a
.partsuffix and HTTP Range requests are used to continue interrupted transfers. Each file is verified with SHA256 against the digest published in the GitHub release. Installed region, digests, and timestamps are persisted inmetadata.json(viaMapMetadata), which is checked on screen open to detect available updates. A progress bar tracks total bytes across both tile types, and available disk space is checked before starting.Test plan