Skip to content

[Due for payment 2026-07-23] Copilot: old design (Classic/OldDot) screens shown & stuck loading when copilot account's authToken expires #94329

Description

@melvin-bot

Version Number:
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from BrowserStack: N/A
Email or phone of affected tester (no customers): jenna@expensify.com (acting as copilot of jenna@cardtest.expensify.com)
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Jenna Hay
Slack conversation (hyperlinked to channel name): https://expensify.slack.com/archives/C05LX9D6E07/p1780585697696809

Action Performed:

  1. Sign in as your own account on the app.
  2. Switch into a Copilot account (act as another user as their delegate).
  3. Leave the app open/backgrounded overnight so the copilot account's authToken expires.
  4. Reopen the app.

Expected Result:

The app reauthenticates cleanly and shows the current New Expensify UI (either staying in the copilot account or switching back to your main account).

Actual Result:

On reopening, the app renders old design (Classic / OldDot) screens and gets stuck on a long "Switching accounts" spinner. The expired copilot token triggers an OldDot reauthentication flow that fails, bouncing the user out of New Expensify into the legacy UI rather than restoring the session cleanly.

Workaround:

Yes — hard close and reopen the app returns the user to their correct New Expensify account.

Platforms:

Select the officially supported platforms where the issue was reproduced:

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

Screenshots/Videos

See Slack thread (screenshots attached there).

Related PR: #93084 — fix: restore main session when authToken expires while in copilot mode.

View all open jobs on GitHub

Issue OwnerCurrent Issue Owner: @mallenexpensify

Metadata

Metadata

Labels

Awaiting PaymentAuto-added when associated PR is deployed to productionBugSomething is broken. Auto assigns a BugZero manager.DailyKSv2

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions