Skip to content

Fix wallet opening and SORA node failover - #486

Draft
takemiyamakoto wants to merge 2 commits into
codex/ios-wallet-upgrade-testflight-2026091401-r2from
codex/ios-wallet-upgrade-testflight-2026091402-r4
Draft

takemiyamakoto wants to merge 2 commits into
codex/ios-wallet-upgrade-testflight-2026091401-r2from
codex/ios-wallet-upgrade-testflight-2026091402-r4

Conversation

@takemiyamakoto

@takemiyamakoto takemiyamakoto commented Sep 14, 2026 •

Copy link
Copy Markdown

A valid PIN could leave the wallet on its keypad while chain or asset services were still starting. Authentication now opens a bounded loading screen, then offers retry and node selection when services remain unavailable. Wallet verification failures route to a recheck. Node outages show status instead of a blocking alert that incorrectly claims an account was created.

Bundle both verified SORA mainnet endpoints, wss://ws.mof.sora.org and wss://mof2.sora.org, in deterministic order. Automatic fallback and explicit node changes reconnect and start the same subscribed engine, so metadata requests follow the active node without overwriting the user's saved preference. Cold boot saves local chain/defaults before optional asset metadata is fetched; refresh preserves custom and selected nodes, and unavailable metadata leaves retained assets intact. Both endpoints passed standard-TLS WebSocket checks against the exact mainnet genesis. Taira's endpoint is unchanged. These changes do not modify wallet accounts, signing material or recovery markers.

Validation: all 296 canonical Release regression tests passed with zero failures or skips; 16 localization tests and 8 publication-contract tests also passed. The signed archive and external IPA passed verification. Full CI originally exposed a synthetic-window attachment timing issue in the resume-authentication UI test. The test-only correction in PR #487 retains every security assertion and fixes fixture attachment and teardown; all 26 WalletUX tests passed locally, and full Release CI run 35693991267 now passes: 323 unit tests, 19 integration tests, and a UI suite with zero failures and two explicit isolated-simulator skips. CI tested checkout e7f38cc96c0c0237bb934743c75a2e505740fc82. All 6,085 entries in the actual CI checkout match the fixture commit; its only difference from the accepted publication is WalletUXTests.swift. Production code, resources and publication pins are identical to uploaded build 1402. Regression coverage includes delayed startup, node exhaustion, retained connection identity, custom selections and a blocked asset-metadata request.

Build 2026091402; runtime a6aaa77b194e77f77b4335d0502738b3625411db; publication 7176228c4accc13d88217bd69de58be53c532a05. The 14 application/test/resource changes have been integrated into the primary checkout with unrelated changes preserved. The additional Python expectation correction remains in the release checkout because that script is absent from the primary checkout. Apple accepted the verified external-capable GUI IPA on 2026-09-14 at 04:48:30 UTC (delivery b7230c06-ef57-4cab-8360-81a3c50bffac, SHA-256 8a4b824c77ed9dccde4e202681df445f002c67b177f6ea492b84eb075d7aee34). Xcode reported nine vendor framework dSYM warnings and no upload errors; the warning-bearing receipt and logs are preserved. On September 22, App Store Connect confirmed processing complete. Build 1402 is submitted and Waiting for Review, assigned to both existing external groups (Early adopters and SORA Externals), with automatic tester notifications enabled. Both public links are enabled without tester limits or eligibility criteria; public access awaits Apple beta-review approval. Recovery and successful wallet opening on the reporting iPhone remain unverified.

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