Repository navigation
[Payment due @Pujan92] Add approve-only workspace role - #102933
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 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.
|
|
Deploy Blocker #104902 was identified to be related to this PR. |
|
Deploy Blocker #104903 was identified to be related to this PR. |
|
Deploy Blocker #104907 was identified to be related to this PR. |
|
Deploy Blocker #104912 was identified to be related to this PR. |
|
Deploy Blocker #104914 was identified to be related to this PR. |
|
Deploy Blocker ##104917 was identified to be related to this PR. |
|
Deploy Blocker ##104943 was identified to be related to this PR. |
|
Deploy Blocker ##104944 was identified to be related to this PR. |
|
Deploy Blocker ##104945 was identified to be related to this PR. |
|
@ShridharGoel This PR is failing in offline test because of a regression issue #104946 The issue is reproducible in: web, Android, iOS Bug7294861_1792793866553.Recording__2612.mp4 |
|
Deploy Blocker ##104948 was identified to be related to this PR. |
|
Deploy Blocker ##104949 was identified to be related to this PR. |
|
Deploy Blocker ##104959 was identified to be related to this PR. |
|
This PR is linked to a very high number of deploy blockers so unfortunately has to be reverted. |
|
@inimaga We are removing the option to assign this new role, hence a revert is not needed. |
|
🚀 Deployed to production by https://github.com/jasperhuangg in version: 9.5.20-5 🚀
Bundle Size Analysis (Sentry): |
|
🤖 Payment issue created: #105068 |
Explanation of Change
Adds a new
Approve-onlyworkspace role for Control workspaces. Members with this role can approve expenses but cannot create them.What changed:
approveOnlyrole constant, its permission bundle (same read access as a member), and its display name and description in all languages.Note: the blocked-reasons modal depends on the Web-Expensify change that passes
blockedReasonsthrough (https://github.com/Expensify/Web-Expensify/pull/56619). Without it, the role assignment simply fails with a generic error.Fixed Issues
$ https://github.com/Expensify/Expensify/issues/680623
PROPOSAL:
Tests
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-10-09.at.2.20.48.AM.mov