Fix: "Travel and expense" modal not showing for migrated users#55005
Conversation
…dingFlowRouter useEffect logic
|
🚧 @puneetlath has triggered a test build. You can view the workflow run here. |
|
@sobitneupane Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
🚧 @puneetlath has triggered a test hybrid app build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪 |
Reviewer Checklist
Screenshots/VideosAndroid: NativeScreen.Recording.2025-01-09.at.11.59.43.PM.movScreen.Recording.2025-01-10.at.12.01.49.AM.movAndroid: mWeb ChromeiOS: NativeScreen.Recording.2025-01-09.at.7.50.00.PM.movScreen.Recording.2025-01-09.at.7.59.51.PM.moviOS: mWeb SafariMacOS: Chrome / SafariMacOS: Desktop |
…splaying Fix: "Travel and expense" modal not showing for migrated users (cherry picked from commit ab139e1) (CP triggered by thienlnam)
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Cherry-picked to staging by https://github.com/thienlnam in version: 9.0.82-6 🚀
@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes. |
|
🚀 Deployed to production by https://github.com/thienlnam in version: 9.0.82-12 🚀
|
cc @allroundexperts @puneetlath @danielrvidal
Explanation of Change
When a migrated user is signed in, we're correctly navigating to the migrated user welcome modal (
/onboarding/migrated-user-welcome). However, immediately after that, the app navigates to /home?singleNewDotEntry=false(theinitialRoutecomes from here and the navigation call is here) onceopenAppcompletes and the app finishes loading.The bug occurs when
openApptakes some time to complete, which is why it's not consistently reproducible.The solution that worked for me is to wait for the app to finish loading before starting the
useOnboardingFlowRouteruseEffectlogic. This can be achieved by adding an early return ifONYXKEYS.IS_LOADING_APPis notfalse.https://expensify.slack.com/archives/C02NK2DQWUX/p1736424286423219?thread_ts=1736289390.111259&cid=C02NK2DQWUX
Fixed Issues
$ #54915
$ #55021
https://expensify.slack.com/archives/C02NK2DQWUX/p1736382637828999?thread_ts=1736289390.111259&cid=C02NK2DQWUX
PROPOSAL:
Tests
Test 1 (Migrated account):
Precondition:
You need an account that is opened from oldot and which has some expenses:
Test Steps:
Test 2 (Unmigrated account):
Precondition:
You need an account that is opened from oldot and which has some expenses:
Test Steps:
Test 3:
Perform tests related to the onboarding flow
Verify that no errors appear in the JS console
Offline tests
QA Steps
Same as tests. Additionally, perform these manual tests from the design doc
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))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.2025-01-09.at.1.24.51.PM.mov
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop