You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Connections - RHP shows not here page briefly after disconnecting accounting #104319
Version Number: 9.5.13-3 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.
Go to staging.new.expensify.com
Go to workspace settings > Connections.
Connect to Sage Intacct.
Click Sage Intacct.
Click 3-dot menu > Disconnect > Disconnect.
Expected Result:
RHP will not show not here page after disconnecting accounting.
Actual Result:
RHP shows not here page briefly after disconnecting accounting.
👋 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:
Identify the pull request that introduced this issue and revert it.
Root cause: After you confirm the disconnect, the page starts closing the RHP and removes the connection in the same tick. The RHP stays mounted during its close animation. It re-renders with no connection, so its not-found check passes and shows the not-here page until the animation ends.
Recommendation: Demote and fix forward. Do not revert. The bug is a brief visual flash in a beta feature, and the PR touches about 100 files. Run the removal in goBack's afterTransition callback instead of right away. DeleteGroupRow.tsx:59-61 already uses this pattern.
AccessOrNotFoundWrapper.tsx:225-226 still allows the not-found page because the Workspaces tab stays focused. The closing RHP renders the not-here page.
Demoting this. It only happens with the unifiedConnections beta on, and #102265 already went to production with the 10-14 deploy, so this deploy didn't cause it.
@Krishna2323 can you fix it in a follow-up PR with the afterTransition change Melvin suggested above?
Activity
applause-bot commentedon Oct 18, 2026
While Applause doesn't embed attachments for this bug, here are the links for quick view:
https://platform.applause.com/services/links/v1/external/fa2bdf7138288e04a9e15a1d0c6a543558515ca3f021aaac0ae012ec0e7a3610
melvin-bot commentedon Oct 18, 2026
@lakchote recently merged #102265, but they are OOO right now, so I'll auto-assign someone else.
melvin-bot commentedon Oct 18, 2026
Triggered auto assignment to @Beamanator (
DeployBlockerCash), see https://stackoverflowteams.com/c/expensify/questions/9980/ for more details.github-actions commentedon Oct 18, 2026
👋 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:
melvin-bot commentedon Oct 18, 2026
@lakchote @situchan you have been assigned to this deploy blocker because you reviewed the offending PR: #102265
melvin-bot commentedon Oct 18, 2026
@Krishna2323 you have been assigned to this deploy blocker because you authored the offending PR: #102265
melvin-bot commentedon Oct 18, 2026
💬 A slack conversation has been started in #expensify-open-source
MelvinBot commentedon Oct 18, 2026
Deploy Blocker Analysis
Causing PR: Consolidate integration to one Connection screen (high confidence).
Not a regression from this deploy. That PR shipped to production in Deploy Checklist: New Expensify 2026-10-14. It is hidden behind the
unifiedConnectionsbeta. None of the PRs in Deploy Checklist: New Expensify 2026-10-16 touch this code.Root cause: After you confirm the disconnect, the page starts closing the RHP and removes the connection in the same tick. The RHP stays mounted during its close animation. It re-renders with no connection, so its not-found check passes and shows the not-here page until the animation ends.
Recommendation: Demote and fix forward. Do not revert. The bug is a brief visual flash in a beta feature, and the PR touches about 100 files. Run the removal in
goBack'safterTransitioncallback instead of right away.DeleteGroupRow.tsx:59-61already uses this pattern.Mechanism and fix details
useConnectedAccountingIntegration.tsx:239-240callsonDisconnectConfirmed?.()and thenremovePolicyConnection(...).ConnectionsAccountingPage.tsx:56setsonDisconnectConfirmedtoNavigation.goBack(...), which starts the close animation.actions/connections/index.ts:39-47setspolicy.connections[connectionName]tonullin Onyx right away.ConnectionsAccountingPage.tsx:66:shouldBeBlockedbecomestruebecauseconnectedIntegrationis nowundefined.AccessOrNotFoundWrapper.tsx:225-226still allows the not-found page because the Workspaces tab stays focused. The closing RHP renders the not-here page.Suggested fix:
The legacy
PolicyAccountingPagepasses no callback, so its behavior does not change.Two sibling RHPs from the same PR use the same pattern. I did not reproduce either:
ConnectionsReceiptPartnersPage.tsxwithuseReceiptPartnersSettings.tsConnectionsMergePageBase.tsxwithuseMergeProviderCardDetails.tsxApply the same fix to both.
Next Steps: Reply with
@MelvinBot implement thisto create a draft PR, or@MelvinBot <your feedback>to refine this analysis.view run
lakchote commentedon Oct 19, 2026
Demoting this. It only happens with the unifiedConnections beta on, and #102265 already went to production with the 10-14 deploy, so this deploy didn't cause it.
@Krishna2323 can you fix it in a follow-up PR with the afterTransition change Melvin suggested above?
Krishna2323 commentedon Oct 20, 2026
PR is ready for review: #104402
cc: @situchan @lakchote