Restore Wallet and other Account sections for agent accounts#95421
Conversation
Re-enable Wallet, Preferences, Subscription, contact methods, and private personal details for agent accounts, both in the Account menu and at the route level. Security (including 2FA, device management, close/merge/lock account) stays hidden since agents can't have 2FA. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
@cretadn22 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] |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppUploading Screen Recording 2026-07-07 at 01.48.29.mov… Android: mWeb ChromeScreen.Recording.2026-07-07.at.01.44.17.moviOS: HybridAppScreen.Recording.2026-07-07.at.01.47.49.moviOS: mWeb SafariScreen.Recording.2026-07-07.at.01.45.03.movMacOS: Chrome / SafariScreen.Recording.2026-07-07.at.01.35.14.mov |
|
@NicolasBonet This step doesn't seem to work as expected for me. Instead of navigating to the profile page, it just displays a blank white space
Screen.Recording.2026-07-07.at.01.35.14.mov |
On a cold deep-link the screen's effect runs before the NavigationContainer is ready, so the redirect to Profile was silently dropped, leaving a blank central pane. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Please check again, I fixed that @cretadn22 |
joekaufmanexpensify
left a comment
There was a problem hiding this comment.
Good for product.
|
@NicolasBonet We need to fix the failing tests before merging this PR |
|
@MelvinBot let's address the tests failing here: https://github.com/Expensify/App/actions/runs/28821279438/job/85473296572?pr=95421 |
Co-authored-by: Nicolás Bonet <NicolasBonet@users.noreply.github.com>
|
Fixed the failing Root cause: The commit Fix: Added
|
|
@MelvinBot let's allow to add pronouns, timezone and all the other stuff currently hidden with the exception of 2FA. |
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.
|
|
Thanks Plan — remove agent gating everywhere except 2FA:
Two things to confirm:
Full list of currently-gated itemsMenu-level ( Route guards ( In Reply to confirm (a) and (b) and I'll implement it. One process note: I'm not currently an assignee on this PR, so to have me push the change please add me ( |
|
@MelvinBot i only want the 2FA options, the security page itself should be available, let's also keep hidden the agents page |
…hidden Co-authored-by: Nicolás Bonet <NicolasBonet@users.noreply.github.com>
|
Done — pushed What changed (interpreting "I only want the 2FA options hidden" literally — everything else in Security is restored for agents):
|
|
@cretadn22 re-asking for approval as I was asked to add some more sections. @joekaufmanexpensify this should be ready for your review as well |
|
@NicolasBonet Could you update the PR description and testing steps? |
Done |
Co-authored-by: Nicolás Bonet <NicolasBonet@users.noreply.github.com>
Co-authored-by: Nicolás Bonet <NicolasBonet@users.noreply.github.com>
|
🚧 yuwenmemon has triggered a test Expensify/App build. You can view the workflow run here. |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/yuwenmemon in version: 9.4.32-0 🚀
|
|
🤖 Help site review — no changes required I reviewed the changes in this PR against the help site articles under Why: This PR is an internal-visibility change. It reverses App#90248 so that internal agent accounts ( The help site's AI Agents articles (e.g. Since no changes are required, I did not open a draft help site PR. What I checked
If you feel a public-facing behavior here should be documented, reply with |
|
Deploy Blocker #95712 was identified to be related to this PR. |
|
Deploy Blocker #95726 was identified to be related to this PR. |
|
Deploy Blocker #95730 was identified to be related to this PR. |
|
Deploy Blocker #95755 was identified to be related to this PR. |
|
🚀 Deployed to production by https://github.com/grgia in version: 9.4.32-3 🚀
Bundle Size Analysis (Sentry): |
Explanation of Change
App#90248 hid several Account sections for agent accounts (
agent_*@expensify.ai). That was too restrictive: without the Wallet, when a company/test card is assigned to an agent there's no way to see the card or its transactions in the UI. This PR reverses that hiding so agents don't have arbitrary constraints, keeping only Security hidden (agents can't have 2FA and shouldn't be able to troubleshoot biometrics).Restored for agents (both the Account menu entries and their route-level
withAgentAccessDeniedguards):Still hidden for agents (Security domain): all 2FA screens, agents page and the troubleshoot for biometrics.
Fixed Issues
$ #95351
PROPOSAL:
Tests
/settings/securityas the agent and verify it is shown, but the option to add 2FA is hidden.Offline tests
QA Steps
Same as tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)Avatar, 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.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
MacOS: Chrome / Safari
Uploading CleanShot 2026-07-06 at 13.13.50.mp4…