SELF-2540: Fix account recovery flow after phone restore#1942
SELF-2540: Fix account recovery flow after phone restore#1942transphorm merged 16 commits intodevfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughStartup navigation now computes an initial target with controllable queued-deeplink semantics. Deeplink API changed from get-and-clear semantics to a peek-only accessor. Account recovery flows and copy were updated (new Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 59817da0f8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 3131c041-9095-44d1-b999-bd9039c9c38c
📒 Files selected for processing (2)
app/src/screens/app/SplashScreen.tsxapp/src/stores/settingStore.ts
🚧 Files skipped from review as they are similar to previous changes (1)
- app/src/screens/app/SplashScreen.tsx
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 396402dd-3cdb-4b61-84f1-41b7c5806bce
📒 Files selected for processing (6)
.github/workflows/mobile-e2e.ymlapp/src/screens/account/recovery/AccountRecoveryChoiceScreen.tsxapp/src/screens/account/recovery/AccountRecoveryScreen.tsxapp/src/screens/account/recovery/DocumentDataNotFoundScreen.tsxapp/src/screens/account/recovery/RecoverWithPhraseScreen.tsxapp/src/screens/account/recovery/recoveryCopy.ts
✅ Files skipped from review due to trivial changes (1)
- app/src/screens/account/recovery/DocumentDataNotFoundScreen.tsx
🚧 Files skipped from review as they are similar to previous changes (1)
- app/src/screens/account/recovery/AccountRecoveryChoiceScreen.tsx
Summary
Changes
React Native App
SplashScreen.tsx— Replace hardcodedHomeroute withgetStartupNavigationTarget()that checkshasSecretStored()andhasAnyValidRegisteredDocument()to determine the correct startup screen. Suppress deep link processing during recovery.startupRouting.ts(new) — Pure routing function: no secret + documents/recovery signals →AccountRecoveryChoice; no secret + fresh user →Disclaimer; otherwise →Home.AccountRecoveryChoiceScreen.tsx— Remove dead!secretcheck; navigate toCountryPickerwhen secret recovered but no local document; removeHomenavigations on failure paths.RecoverWithPhraseScreen.tsx— Same: remove dead!secretcheck, navigate toCountryPickeron missing document, removeHomenavigations on all failure paths.deeplinks.ts— AddpeekQueuedUrl()to read the queued URL without consuming it during recovery.Tests
startupRouting.test.ts(new) — Unit tests covering all startup routing branches and recovery signal detection.Docs/Specs
kmp-revival/SPEC.mdandsdk-distribution/SPEC.md(unrelated).Linear Issues
Test Plan
yarn workspace @selfxyz/mobile-app jest:run tests/src/screens/app/startupRouting.test.ts --runInBandpassesyarn workspace @selfxyz/mobile-app typespassesAccountRecoveryChoicescreen appearsCountryPickerNative Consolidation Checklist
cd app && yarn jest:run/yarn workspace @selfxyz/rn-sdk-test-app test)🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Improvements
Tests
Documentation