Conversation
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
|
🚧 @mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
|
🚧 @mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
|
🚧 @mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
|
@abdulrahuman5196 Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0e47244173
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
checking now |
|
checking now again |
|
IMO. Code looks good. |
@mountiny Could you kindly re-add this since we have new changes? |
| encryptedAuthToken, | ||
| creationDate, | ||
| }) | ||
| .then(() => { |
There was a problem hiding this comment.
Ah, I see. OK, if it was just moved and not modified, I'm OK with doing it in another PR and issue. We should get the original author(s) involved in it.
authToken expires while in copilot modeauthToken expires while in copilot mode
|
Running actions on https://github.com/Expensify/Mobile-Expensify/pull/13973 - if green we can merge this |
authToken expires while in copilot modeauthToken expires while in copilot mode
mountiny
left a comment
There was a problem hiding this comment.
The OldApp PR is ready to be merged so we can merge these both now, thanks for your patience
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚧 mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/mountiny in version: 9.4.34-0 🚀
|
|
🤖 I reviewed the changes in this PR and no help site changes are required under Why: This is an internal session-management bug fix. When a copilot's (delegate's) The existing Copilot help articles (Act as a Copilot, Manage Copilot Access) document how to switch into, act within, and exit a Copilot account. They do not document error-recovery behavior when an auth/session token expires, and nothing in them becomes inaccurate as a result of this fix. This change restores expected behavior rather than introducing anything that needs to be documented. Since no documentation updates are needed, I did not create a draft PR.
|
|
🚀 Deployed to production by https://github.com/roryabraham in version: 9.4.34-14 🚀
|
|
🚀 Deployed to production by https://github.com/roryabraham in version: 9.4.34-14 🚀
Bundle Size Analysis (Sentry): |
Explanation of Change
While connected as a delegate, the original user's credentials live in
STASHED_CREDENTIALS(notCREDENTIALS, which is wiped on delegate transition), so reauth must use those. Also unified the delegate disconnect and reauth-driven restoration into a singlerestoreDelegateSessionflow that writes SESSION before clearing Onyx and syncs OldDot viaHybridAppModule.switchAccountin both paths.When a copilot's (delegate's) auth token expires, the app should restore the user to their own account instead of getting stuck, signed out, or left on the delegated account
Fixed Issues
$ #94329
PROPOSAL:
MOBILE-EXPENSIFY: https://github.com/Expensify/Mobile-Expensify/pull/13973
Tests
How to trigger an expired auth token
Use the Troubleshoot page → invalidate auth token. This simulates the delegate/session token expiring without waiting for it to expire naturally.
Case 1
Case 2
Case 3
Offline tests
QA Steps
Same as tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Case 1:
Screen_Recording_20260624_163822_Expensify.Adhoc.mp4
Case 2:
Screen_Recording_20260624_164327_Expensify.Adhoc.mp4
Case 3:
Screen_Recording_20260624_164517_Expensify.Adhoc.mp4
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari