Problem
After a user transitions from OldDot (Classic) to New Expensify via a short-lived token (the /transition?...&shortLivedAuthToken=... flow), the resulting session is not re-authenticated when its authToken later expires. Instead of transparently re-authenticating, the app fires a continuous stream of 407 responses (expired/invalid authToken) and the user is left stuck on an endless loading state (observed on the Reports page and Inbox).
This is not SAML/SSO related and does not involve Copilot — it's a plain short-lived-token transition session.
What happens
- User transitions from OldDot to New Expensify via a short-lived auth token (
/transition?...&shortLivedAuthToken=...). This initial load works.
- User closes the app and re-opens it later.
- The authToken has expired. Every subsequent request returns 407.
- The
Reauthentication middleware does not successfully re-authenticate, so the 407s repeat indefinitely and the UI never finishes loading.
Expected
When the authToken expires, the Reauthentication middleware should transparently obtain a fresh authToken and recover, rather than looping on 407s and leaving the user stuck loading.
Notes / evidence
Platform
Web (New Expensify)
Reported in Slack.
Issue Owner
Current Issue Owner: @eVoloshchak
Problem
After a user transitions from OldDot (Classic) to New Expensify via a short-lived token (the
/transition?...&shortLivedAuthToken=...flow), the resulting session is not re-authenticated when its authToken later expires. Instead of transparently re-authenticating, the app fires a continuous stream of 407 responses (expired/invalid authToken) and the user is left stuck on an endless loading state (observed on the Reports page and Inbox).This is not SAML/SSO related and does not involve Copilot — it's a plain short-lived-token transition session.
What happens
/transition?...&shortLivedAuthToken=...). This initial load works.Reauthenticationmiddleware does not successfully re-authenticate, so the 407s repeat indefinitely and the UI never finishes loading.Expected
When the authToken expires, the Reauthentication middleware should transparently obtain a fresh authToken and recover, rather than looping on 407s and leaving the user stuck loading.
Notes / evidence
Platform
Web (New Expensify)
Reported in Slack.
Issue Owner
Current Issue Owner: @eVoloshchak