Repository navigation
Description
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Version Number: 9.3.38-0
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from BrowserStack: #83893
Email or phone of affected tester (no customers): biruknew45+6yu@gmail.com
Issue reported by: Applause Internal Team
Bug source: Exploratory - Significant User Experience Deterioration
Device used: Web
App Component: Workspace Settings
Action Performed:
- Go to https://staging.new.expensify.com/
- Enable Expensify Card feature in workspace settings > More features
- Go to workspace settings > Expensify Card
- Click Issue new card
- Click Log into your bank
- Complete the process of adding a bank account
- On "You're all set" success page, close the RHP
- Click Issue new card
- Click Add a new bank account
- Click Connect manually > Next
- Wait a moment on that page
Expected Result:
The page should stay on the same page
Actual Result:
After waiting a moment on the Routing Number and Account Number page, the system automatically redirects to the previously added BA success page.
Workaround:
Unknown
Platforms:
- Android: App
- Android: mWeb Chrome
- iOS: App
- iOS: mWeb Safari
- iOS: mWeb Chrome
- Windows: Chrome
- MacOS: Chrome / Safari
Screenshots/Videos
Video.mp4
Issue Owner
Current Issue Owner: @MonilBhavsarUpwork Automation - Do Not Edit
- Upwork Job URL: https://www.upwork.com/jobs/~022043620548570916144
- Upwork Job ID: 2043620548570916144
- Last Price Increase: 2026-05-11
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
Activity
harryautomazione commentedon Mar 18, 2026
Hi everyone, here is my proposal to fix this issue:
🔍 Root Cause
In
ReimbursementAccountPage.tsx:fetchData()function callsopenReimbursementAccountPage(). For a workspace with an existing bank account, the backend responds that the current step isENABLE(Success).shouldShowConnectedVerifiedBankAccount(around line 275) relies solely onachData?.currentStep === ENABLEorstate === OPEN.Since this is calculated before displaying sub-components, the
ConnectedVerifiedBankAccount(Success Page) is rendered, hijacking display.BankInfo/Country) back withENABLE.🛠️ Solution
We must prevent navigation to the success page during intermediate setup steps if the user manually started a new connection flow (e.g., coming from
Expensify Cardflow).📄 ReimbursementAccountPage.tsx
Prevent sync override when inside setup:
Block success page render during setup:
Let me know if this approach looks good to you! Happy to hear your feedback and coordinate on the fix.
MelvinBot commentedon Apr 13, 2026
Proposal
What is the root cause of that problem?
The effect at
ReimbursementAccountPage.tsx:272unconditionally setsshouldShowConnectedVerifiedBankAccount = truewhenachData.currentStep === ENABLE(USD) orachData.state === OPEN(non-USD).When a user who already has a connected bank account tries to add a new one via the Expensify Card flow, the existing bank account's achData is already loaded in Onyx with
currentStep = 'EnableStep'. The mount effect at line 234 skipsfetchData()becauseisPreviousPolicyis true andreimbursementAccountalready exists. So the sync effect at line 254-274 fires immediately with the old bank account data and redirects to the success page.Additionally,
removeExistingBankAccountDetailsinVerifiedBankAccountFlowEntryPoint.tsx:106-118only clears draft values and setsbankAccountID: 0— it does not clearachData.currentSteporachData.state, so the redirect condition remains satisfied.What changes do you think we should make in order to solve the problem?
In the effect at
ReimbursementAccountPage.tsx:272, add a guard that checks whether the user has started a new bank account setup flow. SinceremoveExistingBankAccountDetailssetsbankAccountIDto0when the user initiates a new connection, we can useachData.bankAccountID === 0as a signal that a new setup is in progress and skip settingshouldShowConnectedVerifiedBankAccount = truein that case.This is more robust than gating on
isComingFromExpensifyCardalone because it covers any entry point where the user starts a fresh bank account flow (not just the Expensify Card route).What alternative solutions did you explore?
isComingFromExpensifyCardonly (as proposed in the comments): This would fix the specific Expensify Card flow but miss other entry points where a user replaces a bank account. Too narrow.achData.currentStep/achData.stateinremoveExistingBankAccountDetails: This could work but risks side effects in other parts of the codebase that depend on those fields for rendering decisions. CheckingbankAccountID === 0is a safer, less invasive signal.Next Steps for Contributor+ team: Reply with
@MelvinBot implement thisto create a draft PR,@MelvinBot <your feedback>to refine this analysis, or explain why you are rejecting Melvin's proposal.melvin-bot commentedon Apr 13, 2026
Triggered auto assignment to Contributor-plus team member for initial proposal review - @Eskalifer1 (
External)[-]Bank account - The page automatically redirects to the BA success page when manually connecting new BA[/-][+][$250] Bank account - The page automatically redirects to the BA success page when manually connecting new BA[/+]melvin-bot commentedon Apr 13, 2026
Job added to Upwork: https://www.upwork.com/jobs/~022043620548570916144
17 remaining items
melvin-bot commentedon Apr 30, 2026
@MonilBhavsar Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!
mvtglobally commentedon May 2, 2026
Issue not reproducible during KI retests. (First week)
melvin-bot commentedon May 4, 2026
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸
MonilBhavsar commentedon May 4, 2026
Holding on KI retests
mvtglobally commentedon May 9, 2026
Issue not reproducible during KI retests. (Second week)
melvin-bot commentedon May 11, 2026
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸
MonilBhavsar commentedon May 14, 2026
Closing this as it's not reproducible. Feel free to reopen if it's still an issue