Revert "Revert "83598: Remove TestDrive from sign-up flow""#85269
Revert "Revert "83598: Remove TestDrive from sign-up flow""#85269luacmartins merged 2 commits intomainfrom
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4342449778
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| registerGuard(OnboardingGuard); | ||
| registerGuard(MigratedUserWelcomeModalGuard); |
There was a problem hiding this comment.
Keep the test-drive modal guard registered
Removing registerGuard(TestDriveModalGuard) drops the modal-active blocking logic while the app still navigates users to ROUTES.TEST_DRIVE_MODAL_ROOT in the RHP onboarding path (src/components/SidePanel/RHPVariantTest/index.ts). In that flow, if a user switches tabs before the modal overlay is fully mounted, DISMISS_MODAL can no longer pop the modal because handleDismissModalAction only succeeds when the last route is a modal (src/libs/Navigation/AppNavigator/createRootStackNavigator/GetStateForActionHandlers.ts), which leaves affected onboarding users in a broken navigation state.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
The Test Drive modal is removed from the RHP onboarding path
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safari |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
Revert "Revert "83598: Remove TestDrive from sign-up flow"" (cherry picked from commit d6648ed) (cherry-picked to staging by luacmartins)
|
🚧 @luacmartins has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Cherry-picked to staging by https://github.com/luacmartins in version: 9.3.37-8 🚀
|
|
🚀 Deployed to production by https://github.com/cristipaval in version: 9.3.37-10 🚀
|
|
🚀 Cherry-picked to staging by https://github.com/luacmartins in version: 9.3.38-0 🚀
|
|
🚀 Deployed to production by https://github.com/cristipaval in version: 9.3.38-4 🚀
|
Reverts #85140
Reverting the revert of the Remove TestDrove modal from the sign-up flow, turns out a single case was missed that can be easily fixed
Fixed Issues
$ #85162
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Screen.Recording.2026-03-02.at.10.52.04.PM.mov
Android: mWeb Chrome
Screen.Recording.2026-03-02.at.11.02.00.PM.mov
iOS: Native
Screen.Recording.2026-03-02.at.11.08.37.PM.mov
iOS: mWeb Safari
Screen.Recording.2026-03-02.at.11.09.26.PM.mov
MacOS: Chrome / Safari
Screen.Recording.2026-02-28.at.12.22.47.AM.mov