Repository navigation
[Payment due @nkdengineer] Add Guest workspace role - #97644
Conversation
|
Hey, I noticed you changed If you want to automatically generate translations for other locales, an Expensify employee will have to:
Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running: npx ts-node ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
|
Hey, I noticed you changed If you want to automatically generate translations for other locales, an Expensify employee will have to:
Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running: npx bun ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
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.
|
|
@nkdengineer 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] |
|
@ShridharGoel please check AI review comment and ask someone to run translation workflow. |
This comment has been minimized.
This comment has been minimized.
|
Test is failing. |
|
@ShridharGoel, the Member row is showing again in the
|
flodnv
left a comment
There was a problem hiding this comment.
Thanks for following through with this!! 👏 ![]()
|
🚧 JmillsExpensify has triggered a test Expensify/App build. You can view the workflow run here. |
This comment has been minimized.
This comment has been minimized.
JmillsExpensify
left a comment
There was a problem hiding this comment.
Everything else looks good! Thanks
|
Looks like everything is ready to merge this one and Flo is out sick. Nice job @nkdengineer @ShridharGoel ! |
|
🚧 mountiny 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/mountiny in version: 9.5.6-0 🚀
|
|
A help site update is needed. I opened a draft PR: Docs updates for E/A#97644 Add Guest role to Managing Workspace Members article. Guest is a new role, and it isn't behind a beta. Its People admin rules also made four sentences in Managing Workspace Members in New Expensify wrong. For example: "People admins can only invite members as Members or Auditors." People admins can now also invite, remove, and assign Guests. The docs PR makes these edits:
I took the labels from the merged English strings. I couldn't check them in the live UI because the test session couldn't sign in. @ShridharGoel, please review the linked help site PR and confirm it reflects the current behavior. Then mark the linked help site PR view run · no recording available |
|
Deploy Blocker #103524 was identified to be related to this PR. |
|
Deploy Blocker #103525 was identified to be related to this PR. |
|
Deploy Blocker #103548 was identified to be related to this PR. |
|
🚀 Deployed to production by https://github.com/puneetlath in version: 9.5.6-6 🚀
Bundle Size Analysis (Sentry): |
|
🤖 Payment issue created: #103658 |


Explanation of Change
Adds Guest as a Control workspace role. Guests can submit and approve reports, use
#announce, open public rooms by direct link, and use chats shared with them. Guests cannot browse workspace members or participant details in#announce. The Rooms page shows guests only the chats shared with them and does not load the full room directory.Guest appears only in Control workspace role selectors. This PR also adds translated role text, optimistic role updates, FullStory typing, navigation guards, participant UI guards, and regression tests.
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/666136
PROPOSAL:
Tests
#announceand verify participant avatars, count, and participant navigation are hidden.Offline tests
QA Steps
Same as tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, 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
Screen.Recording.2026-09-29.at.6.35.29.PM.mov
Screen.Recording.2026-09-29.at.6.36.15.PM.mov