Move Chase Plaid fallback to frontend manual flow.#85399
Move Chase Plaid fallback to frontend manual flow.#85399nkuoch merged 3 commits intoExpensify:mainfrom
Conversation
Skip the ConnectBankAccountWithPlaid API call for new Chase accounts, set reimbursement account step/substep in Onyx, and clear only account/routing draft fields with action tests.
Rename Chase-specific connectBankAccountWithPlaid tests and update expectation wording so they clearly distinguish new-account short-circuit behavior from non-zero bankAccountID API flow.
|
@hungvu193 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] |
|
@shubham1206agra 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] |
|
I did not remove any request for review as mentioned here. I don't know what PullerBear did here. 😕 |
|
I reported this kind of bug before but looks like it wasn't fixed yet. |
|
@hungvu193 Who is going to review this? |
|
Not sure what we should do here? Let's do random then? |
|
@hungvu193 the dice has chosen you
|
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppScreen.Recording.2026-03-20.at.22.29.56.moviOS: mWeb SafariMacOS: Chrome / SafariScreen.Recording.2026-03-20.at.22.22.28.movScreen.Recording.2026-03-20.at.22.13.07.mov |
|
🎯 @hungvu193, thanks for reviewing and testing this PR! 🎉 An E/App issue has been created to issue payment here: #85962. |
|
🚧 @nkuoch has triggered a test Expensify/App build. You can view the workflow run here. |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/nkuoch in version: 9.3.42-0 🚀
Bundle Size Analysis (Sentry): |

Explanation of Change
While migrating this
pushUpdatesToClientsfrom PHP to Auth, it is found that there is no Auth command to which this Onyx update could be added to.On investigating it is found that the Onyx update can be moved to App and need not be in Web-Expensify.
Presently, after logging into Chase account through Plaid, backend sends an Onyx update redirecting the user to the step of manually filling account number and routing number. The Onyx update also resets the account number and routing number in the draft.
This PR moves that logic to App and returns early without making the API call for this case.
While deprecating
Onyx::pushUpdatesToClientsusage in PHP, we found there is no suitable Auth command where this Onyx update can be moved cleanly.On investigation, we determined this update can be handled in App and does not need to be sent from Web-Expensify.
Currently, after a user logs into Chase through Plaid, the backend sends an Onyx update that redirects the user to manual entry for account and routing numbers. That update also clears account and routing numbers in the draft.
This PR moves that logic to App and returns early (without making the
connectBankAccountWithPlaidAPI call) for that Chase-specific case.Fixed Issues
$ https://github.com/Expensify/Expensify/issues/609463
PROPOSAL: https://github.com/Expensify/Expensify/issues/609463#issuecomment-4073738215
Tests
Screen.Recording.2026-03-19.at.10.04.07.AM.mov
Offline tests
None
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
Same as tests
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
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
Screen.Recording.2026-03-19.at.10.04.07.AM.mov