Fix: "Pay with personal account" does nothing in QAB expense flow#88390
Conversation
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppScreen.Recording.2026-04-22.at.10.39.27.PM.moviOS: mWeb SafariScreen.Recording.2026-04-22.at.10.46.41.PM.movMacOS: Chrome / Safariweb.mov |
|
🤖 Code Review The implementation is clean and follows existing patterns consistently. A few observations: Looks good:
One question: The new page sets both |
| return ( | ||
| <VerifyAccountPageBase | ||
| navigateBackTo={createRoute} | ||
| navigateForwardTo={createRoute} |
There was a problem hiding this comment.
After successful verification, should we navigate to next step instead of going back to amount input page?
Screen.Recording.2026-04-22.at.10.18.45.PM.mov
There was a problem hiding this comment.
This can be out of scope since it's production behavior in normal pay flow
Screen.Recording.2026-04-22.at.10.29.26.PM.mov
|
This is also out of scope as happening on production but worth mentioning: No amount input validation on "Pay with personal account" while validates on "Mark as paid" Screen.Recording.2026-04-22.at.10.32.31.PM.mov |
|
🚧 @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! 🧪🧪
|
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/luacmartins in version: 9.3.62-0 🚀
Bundle Size Analysis (Sentry): |
Explanation of Change
These changes add a dedicated account-verification step to the money request creation flow.
If an unverified user tries to create a money request via the
create/pay/startflow, we can now send them to a purpose-built verify-account screen and then return them to the same create flow afterward. The update wires that experience through navigation, deep linking, screen registration, and settlement-button routing so it behaves consistently across app entry points.Fixed Issues
$ #87779
PROPOSAL: #87779 (comment)
Tests
Offline tests
Same as Tests.
QA Steps
Same as Tests.
// TODO: These must be filled out, or the issue title must include "[No QA]."
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))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-04-22.at.4.48.43.PM.mp4
Android: mWeb Chrome
REC-2026042151640.PM.mp4
iOS: Native
REC-2026042145505.PM.mp4
iOS: mWeb Safari
REC-2026042145859.PM.mp4
MacOS: Chrome / Safari
Screen.Recording.2026-04-21.at.4.47.10.PM.mov