feat: retain multilingual offline place articles - #1839
Merged
Merged
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
timohueser
marked this pull request as ready for review
September 16, 2026 09:25
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Landmark maps previously retained one article language. They now retain every usable article in the supported UI languages: English, German, French and Spanish. The device selects its UI language, then English, then a baked local default. Changing UI language selects the installed text and its Sources without a new map download. All versions share one optional photo.
Closes #1832. Shared prerequisite for peak articles in #1830; peak capture, map associations and Peak View access remain separate issues #1834, #1835 and #1836.
Implementation
Public documentation is updated in separate
docs:commits. The binary specification, compiler README and capture commands describe the format and language policy.Development fixtures
Rebuilt, uploaded and publicly verified all replacement archives: compiled Swiss content, Grimsel, Meiringen, West Cork and current Peak View metadata. The catalog pins their exact byte counts and SHA-256 digests. Maps use the normal pack or bake/cut/assemble path. The Grimsel fixture recipe now accepts its compiled landmark input.
Swiss content has 1,478 sites, 2,391 article versions and 1,109 shared photos. The retained source snapshot predates Spanish and locale acquisition; provenance explicitly records that limitation. It contains English, German and French versions and exercises the missing-metadata fallback. Current capture supports Spanish and local metadata. No sources were fabricated and no raw country capture was published.
Peak View’s published metadata differed from its tracked
locations.jsonon the base branch. That package now contains the tracked metadata with unchanged terrain. Existing source boundaries, registered routes/tracks and terrain are preserved. Grimsel’s archive drops a redundant, unregistered demo GPX; its tracked source remains unchanged, and all identified consumers use that tracked source directly.The fixture cleanup record reports removal of 22 unreferenced development archives (459,444,225 bytes). Active branch and CI references are retained until superseded safely.
Validation
Passed locally:
./tools/obc test -p obc-formats -p obc-reader -p obc-pack -p obcm-assemble -p obc-bake -p obc-app -p obc-vectors -p obc-host-core; repeated these affected packages after the upstream test-target integration.cargo clippyfor those eight packages with--all-targets -- -D warnings../tools/obc test -p obc-pack -p obcm-testkitand scoped Clippy after the final locale bound adjustment../tools/obc test -p obc-web-assemble(20 unit and 30 determinism tests) and scoped Clippy for the CI dependency fix.python3 -m unittest tools.tests.test_landmark_capture(11 tests), then the completetools/testssuite (206 tests) in an isolated environment with repository requirements.python3 fixtures/verify-landmark-content.py: captured four-site compilation is byte-identical across two runs; three valid photos retained, missing-creator photo rejected../tools/obc test fixtures -p obc-route --test nav_fixturesand./tools/obc test fixtures -p obc-sim --test present_fixtures: four tests each on refreshed Grimsel.cargo build --release --locked --features resource-report, followed byresource_guard.py reportandboardagainst the recorded baseline. No base rebuild.resource_guard.py strict-alignpasses../tools/obc suites check;bash -n fixtures/build-map-package.sh;python3 docs/build_docs.py --check-links;git diff --check.The affected-suite dry run selected 54 suites. The full platform matrix was left to required CI; no local full-CI mirror, second UI sweep, repeated resource build, wake profiling, flashing or physical acceptance run was performed.
Independent review
A separate sub-agent passed adversarial review of the initial code with no actionable findings. A different implementation sub-agent supplied the CI dependency fix, and another rebuilt the Swiss fixtures. Scoped adversarial review of the final integration and fixture delta passed. It found one stale Cork documentation paragraph; the fixture agent corrected it in
ddd786da5, and the reviewer verified the correction. No findings remain open. Required final-head CI is the remaining merge gate.