Skip to content

Connections - Back button on Import page closes RHP after refreshing the page #104029

Open

Description

@applause-bot

If you haven’t already, check out our contributing guidelines for onboarding. To join our Slack channel, fill out this form.


Version Number: 9.5.9-0
Reproducible in staging?: Yes
Reproducible in production?: N/A - new feature, doesn't exist in prod
If this was caught during regression testing, add the test name, ID and link from BrowserStack: #102265
Email or phone of affected tester (no customers): [email protected]
Issue reported by: Applause Internal Team
Bug source: Exploratory - Significant User Experience Deterioration
Device used: Mac 26.5 / Chrome
App Component: Workspace Settings

Action Performed:

Precondition:

  • Enable unifiedConnections beta.
  • Workspace is connected to Sage Intacct.
  1. Go to staging.new.expensify.com
  2. Go to workspace settings > Connections.
  3. Click Sage Intacct.
  4. Click Import.
  5. Refresh the page.
  6. Click RHP back button.

Expected Result:

RHP will return to Sage Intacct page.

Actual Result:

RHP closes.

Workaround:

Unknown

Platforms:

  • Android: App
  • Android: mWeb Chrome
  • iOS: App
  • iOS: mWeb Safari
  • iOS: mWeb Chrome
  • Windows: Chrome
  • MacOS: Chrome Safari

Screenshots/Videos

Bug7286540_1792000231733.8.mp4

View all open jobs on GitHub

Applause Internal Information
Exported by: Chandana Kiran
Bug ID: 7286540

Activity

  1. added
    DeployBlockerCashThis issue or pull request should block deployment
    BugSomething is broken. Auto assigns a BugZero manager.
    on Oct 14, 2026
  2. applause-bot commented on Oct 14, 2026

    @applause-bot
    Author

    While Applause doesn't embed attachments for this bug, here are the links for quick view:
    https://platform.applause.com/services/links/v1/external/29f04fce80917ed18ede4f4004349c064e294979c3a0b120564c63493bcfc07b

  3. melvin-bot commented on Oct 14, 2026

    @melvin-bot

    You have been assigned to this deploy blocker because you recently merged this PR: #102265

  4. github-actions commented on Oct 14, 2026

    @github-actions
    Contributor

    👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

    1. Identify the pull request that introduced this issue and revert it.
    2. Find someone who can quickly fix the issue.
    3. Fix the issue yourself.
  5. melvin-bot commented on Oct 14, 2026

    @melvin-bot

    @lakchote @situchan you have been assigned to this deploy blocker because you reviewed the offending PR: #102265

  6. melvin-bot commented on Oct 14, 2026

    @melvin-bot

    @Krishna2323 you have been assigned to this deploy blocker because you authored the offending PR: #102265

  7. melvin-bot commented on Oct 14, 2026

    @melvin-bot

    💬 A slack conversation has been started in #expensify-open-source

  8. MelvinBot commented on Oct 14, 2026

    @MelvinBot
    Contributor

    Deploy Blocker Investigation

    Causing PR: Consolidate integration to one Connection screen (Expensify/App#102265). The auto-assignment is correct. Confidence: high, based on code reading. I didn't reproduce it in a browser.

    Recommendation: Fix forward, don't revert. The PR touches 118 files and many commits have landed on top of it. The bug only affects the unifiedConnections beta and only appears after a refresh.

    Root cause: The PR moved integration settings into an RHP screen (WORKSPACE_CONNECTIONS_ACCOUNTING). Import is still a static route under workspaces/:policyID/accounting/sage-intacct/import. After a refresh, the RHP stack is rebuilt with only the Import screen. SageIntacctImportPage.tsx:74-84 passes no back handler. The bare Navigation.goBack() therefore closes the RHP.

    Recommended fix: Give these pages an explicit back route using the existing beta-aware helper getAccountingSettingsRoute:

    onBackButtonPress={() => Navigation.goBack(getAccountingSettingsRoute(isUnifiedConnectionsBetaEnabled, policyID))}

    goBack(route) pops to the route when it's already in the stack. Otherwise it replaces the current screen with that route. With the beta off, the helper returns POLICY_ACCOUNTING, so current behavior is kept.

    Investigation details
    • Configure opens WORKSPACE_CONNECTIONS_ACCOUNTING (useAccountingConnectionListings.ts:149). The route is registered as an RHP screen (ModalStackNavigators/index.tsx:447).
    • Import navigates to a static route (accounting/utils.tsx:370, ROUTES.ts:4956-4959).
    • On refresh, static RHP routes rebuild only the full-screen page underneath (getAdaptedStateFromPath.ts:140-148). Only dynamic routes restore parent RHP screens (getDynamicRouteAdaptedState.ts:78-116). The PR added CONNECTIONS_ACCOUNTING as a parent only for dynamic sub-routes such as Export, so Export likely survives a refresh and Import doesn't.
    • The default back handler is in ConnectionLayout.tsx:102. The fallback behavior of goBack(route) is in Navigation.ts:497-502.
    • Before the PR, closing the RHP showed the Accounting page, which was the correct parent. The PR also changed SageIntacctAdvancedPage.tsx:111 from goBack(ROUTES.POLICY_ACCOUNTING...) to a bare goBack(). Advanced most likely has the same bug.
    • Scope: Other static first-level sub-pages opened from integration settings most likely behave the same way. These include Import, Advanced, and card reconciliation for QBO, Xero, NetSuite, QBD, Certinia, Rillet, and DualEntry. Apply the fix to all of them.
    • Longer term: Convert these pages to dynamic routes with CONNECTIONS_ACCOUNTING as the parent, as the PR already did for Export.
    • I found no later commit on main and no open PR that fixes this.

    Next Steps: Reply with @MelvinBot implement this to create a draft PR, or @MelvinBot <your feedback> to refine this analysis.


    view run

  9. lakchote commented on Oct 15, 2026

    @lakchote
    Contributor

    Behind beta, demoting

  10. added and removed
    DeployBlockerCashThis issue or pull request should block deployment
    on Oct 15, 2026
  11. lakchote commented on Oct 19, 2026

    @lakchote
    Contributor

    @Krishna2323 are you picking this up as a follow-up to #102265?

  12. Krishna2323 commented on Oct 20, 2026

    @Krishna2323
    Contributor

    PR is ready for review: #104402

    cc: @situchan @lakchote

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

BugSomething is broken. Auto assigns a BugZero manager.EngineeringReviewingHas a PR in reviewWeeklyKSv2

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions