Repository navigation
Freeze retained-wallet modernization for release qualification - #488
Draft
takemiyamakoto wants to merge 12 commits into
Draft
takemiyamakoto wants to merge 12 commits into
takemiyamakoto wants to merge 12 commits into
Conversation
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.
Summary
This is a stacked draft PR onto
modernize(#467). It freezes the current wallet modernization changes as a reviewable source revision.Fixtures/Modernization/ios-wallet-opening-localization-handoff.md: eight new messages remain missing from 31 locale catalogs; Try again reuses the existing retry-action label in 30 catalogs; Catalan derivesTorna-ho a provarfrom its checked-inPlease try againtranslation, pending language review. The storage-upgrade, retained-wallet recovery, and PIN-unavailable retry actions now use that same existing label. Preserve the asset symbol in Azerbaijani and Serbian insufficient-balance warnings. Restore the missing Hungarian QR-share argument and slippage arguments in Dutch and Polish. Repair ten further format placeholders in Persian, Hindi, Italian, and Azerbaijani while preserving the existing translated wording. The 61-key format-token audit now finds zero mismatched locale/key pairs..stringsdictplurals.WalletUX.textskips empty values. Active legacy transfer and QR errors use 11 explicit English defaults where the old dotted keys have no shipped English entry; the transfer title uses its existing R.swift translation. All 33 catalogs remain bundled. Product and language-owner approval of English fallback remains open.Verification
The clean-worktree source gate,
verify-modernization-dependencies.sh --lint-ios-migration-release-source-gate, passed at current head4bf5209b. The observed-only archive wrapperarchive-ios-migration-candidate.sh --lint-contractalso passes at this head.A local unsigned generic-iOS Release
build-for-testingcompleted on Xcode 27. Its app binary is arm64, has bundle IDco.jp.soramitsu.sora, and has no top-level code signature. The unsigned Release device compile passed in CI for prior heade88dca74on the pull request merge checkout (29m23s); all three checks passed at prior head2f538658after the locale-only edits; all three exact-head CI checks pass at4bf5209b: source contract, full Release XCTest closure, and unsigned Release device compile. The earlier local build checked candidate source before the localization-only balance, retry, QR-share, slippage, and recovery-button corrections.Before the documentation and CI-only commits, the same app source passed the non-promoting Release simulator selection: 323 unit tests, 19 integration tests, and 3 UI tests (2 documented environment skips), zero failures. The local result bundle is retained under
/private/tmp/sora-ios-prod-readiness.BQRuRH/FullClean.xcresult. The full Release XCTest closure passed in CI for prior heade88dca74on the pull request merge checkout (43m44s), alongside the source contract and unsigned device compile checks. All three CI checks passed at0531e5a3: source contract, full Release XCTest closure, and unsigned device compile. All three CI checks passed at prior2f538658: source contract, full Release XCTest closure, and unsigned Release device compile. All three exact-head CI checks pass at4bf5209b: source contract, full Release XCTest closure, and unsigned Release device compile.On current
4bf5209b, four focused unsigned Release simulator XCTest cases passed with zero failures, covering selected, missing, empty, formatted, plural, and active legacy message fallback. The vendored R.swift package passed 23 tests, generated source parsed for arm64 iOS Simulator, and the Release source gate passed (94 migration, 8 internal TestFlight, 17 Release-package, 15 Taira, 10 vendored-binary, 10 signing-identity, and 20 promotion tests; 13 lints and parse). SeeFixtures/Modernization/ios-localization-fallback-qualification-20260925.md.Read-only dependency alert review found six open SwiftNIO-family Dependabot alerts on the older
developworkspace lock. This candidate, stacked onmodernizeModernize #467, pins patchedswift-nio2.100.0,swift-nio-extras1.34.1, andswift-nio-http21.44.0 in its project workspace lock. The default-branch alerts remain open until patched pins reachdevelop; final signed IPA contents are not established by this lockfile check.Release admission
This PR does not authorize distribution. The pinned Apple Distribution certificate and App Store profile are installed and match the candidate inventory, but protected signing admission still fails closed on missing release-controller pins and dual-authority receipt. The non-authorizing signing source-contract SHA-256 at
4bf5209bremainsd9993da68529a43b49b145dcf1a78c469df7d09995b3a0d2e4b61b2741f35810. Retained-device migration, vendored-binary, and rollout receipts remain required for an exact-source IPA. The newly added wallet-opening localization handoff still has 248 missing locale/key pairs, and a broader audit found 5,060 missing nonempty English-key/locale pairs across the 32 non-English catalogs; reuse of 30 existing retry labels and the Catalan phrase is not language-review approval. The key-aware fallback now displays English for missing or empty selected values where the English catalog has text. The legacy L10n path still has historical inactive keys without shipped defaults; the 11 active error messages have explicit English defaults. English fallback is not translation approval. A separate local audit of 61 English formatted keys now finds zero mismatched format-token pairs after the two Azerbaijani and Persian argument repairs. The public TestFlight links do not identify the build currently available to testers, and previously uploaded build 2026091402 does not bind this candidate revision. Production capability flags remain closed pending candidate-bound admission and funded canaries.