Regenerate the string resources from the localizations store - #480
Merged
Ryanmello07 merged 1 commit intoSep 6, 2026
Merged
Conversation
Generated output of urnetwork/localizations#<store PR>; no hand edits. `npm run gen:android` wrote all 19 res/values*/strings.xml. urnetwork#479 added seven mock_location_* strings directly to res/values/strings.xml. These files are generated, and build.sh regenerates from ../localizations before every pipeline build, so the release build dropped all seven and failed on nine unresolved R.string.mock_location_* references across MockLocationGuideScreen.kt, MockLocationSection.kt and SettingsScreen.kt. CI stayed green throughout: it runs gradle directly and never runs the generator, which build-and-test.yml:31 already documents as a known gap. Reproduced on main before the store keys landed -- `npm run gen:android` took the mock_location_* set from 24 keys to 17 and :app:compileGithubReleaseKotlin failed. With the keys in the store the same regeneration is clean. The seven keys now arrive translated in all 18 locales rather than English only, and mock_location_error_cleanup_required drops out: the ORPHANED copy moved to the _stuck_ strings and it has no kotlin references left, so it is retired in the store. Verified after regeneration: 345 unit tests, 0 failures; github, play, solana_dapp and ethos_dapp release variants all compile; assembleGithubDebug packages; merged manifests unchanged (github still has no ACCESS_COARSE_LOCATION, the three GMS flavors still do, no ACCESS_FINE_LOCATION anywhere). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019VYp99vhW9soGoTmNGVYJk
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.
Follow-up to #479. Depends on urnetwork/localizations#19 — merge that first.
The problem #479 left in main
#479 added seven
mock_location_*strings directly tores/values/strings.xml. Those files are generated (<!-- Generated by @urnetwork/localizations (gen/generate.mjs). DO NOT EDIT. -->), andbuild.shregenerates from../localizationsbefore every pipeline build. A string that exists only instrings.xmland not in the store disappears there —build.sh's own header says exactly this.The release pipeline is currently broken on
main. Reproduced locally atefb2797f:With the committed
strings.xml, the same tree builds clean — so regeneration is the only trigger, which is why both checks on #479 passed.build-and-test.yml:31already documents the gap: the generated files are committed, "so CI does not need the sibling store — it just will not catch key drift, which the release pipeline regenerates and would."This PR
Generated output only —
npm run gen:androidwrote all 19 files, no hand edits.mock_location_error_cleanup_requireddrops out: the ORPHANED copy moved to the_stuck_strings and it has no kotlin references left, so it is retired in the store.Verification
Against a locally built toolchain (JDK 21, SDK 36, NDK 29.0.14206865, gradle 9.5.1, locally built
URnetworkSdk.aar), after regeneration::app:testGithubDebugUnitTestcompile{Github,Play,Solana_dapp,Ethos_dapp}ReleaseKotlin:app:assembleGithubDebuggithubstill has noACCESS_COARSE_LOCATION, the three GMS flavors still do, noACCESS_FINE_LOCATIONanywhereWorth considering separately
CI could catch this class of bug by running the generator and failing on drift. It needs the sibling store checked out, which is why it was skipped — but a
--checkagainst a shallow clone ofurnetwork/localizationswould have caught #479 before merge.🤖 Generated with Claude Code
https://claude.ai/code/session_019VYp99vhW9soGoTmNGVYJk