[CP Staging] Fix: Gate Copy Settings behind bulkEditWorkspaces beta#91819
Conversation
|
🚧 @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.
|
@carlosmiceli 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: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safari |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 917b6552a5
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const hasEligibleCopyTarget = candidates.length > 1 || (candidates.length === 1 && candidates.at(0) !== item.policyID); | ||
|
|
||
| if (hasEligibleCopyTarget) { | ||
| if (hasEligibleCopyTarget && isBetaEnabled(CONST.BETAS.BULK_EDIT_WORKSPACES)) { |
There was a problem hiding this comment.
Block direct Copy Settings routes behind beta
When bulkEditWorkspaces is disabled, this only removes the menu entry, but the deep link remains registered at policy/:policyID/copy-settings (src/ROUTES.ts:2954) and the page wrapper still only checks admin access (CopyPolicySettingsSelectWorkspacesPage.tsx:167). Any admin without the beta who has or guesses the URL can still open the Copy Settings flow, so the feature is not actually gated; please also block the Copy Settings routes/pages with the same beta check, as other beta-gated workspace pages do.
Useful? React with 👍 / 👎.
|
🚧 @mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
[CP Staging] Fix: Gate Copy Settings behind bulkEditWorkspaces beta (cherry picked from commit 7924a11) (cherry-picked to staging by mountiny)
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Cherry-picked to staging by https://github.com/mountiny in version: 9.3.83-2 🚀
Bundle Size Analysis (Sentry): |
|
I reviewed the changes in this PR and checked the help site articles under No help site changes are required. This PR gates the existing "Copy settings" option behind the The existing Duplicate Workspace article covers a separate feature and is unaffected by this change. Once the @fedirjh, please review the linked help site PR and confirm it reflects the current behavior. Then mark the linked help site PR |
|
🚀 Deployed to production by https://github.com/mountiny in version: 9.3.83-3 🚀
|
|
🚀 Cherry-picked to staging by https://github.com/mountiny in version: 9.3.84-0 🚀
Bundle Size Analysis (Sentry): |
|
I reviewed the changes in this PR and the help site articles under Finding: No help site changes are required. This PR gates the "Copy settings" option behind a A help site article for "Copy settings" should be created when the feature exits beta and becomes generally available. @fedirjh, please review the linked help site PR and confirm it reflects the current behavior. Then mark the linked help site PR |
|
🚀 Cherry-picked to staging by https://github.com/mountiny in version: 9.3.86-0 🚀
Bundle Size Analysis (Sentry): |
|
🤖 I reviewed the changes in this PR and checked the help site files under No help site changes are required. This PR gates the "Copy settings" menu item behind the Since "Copy settings" is being placed behind a beta flag, it should not be documented on the help site until it's generally available. @fedirjh, please review the linked help site PR and confirm it reflects the current behavior. Then mark the linked help site PR |
|
🚀 Cherry-picked to staging by https://github.com/mountiny in version: 9.3.88-0 🚀
Bundle Size Analysis (Sentry): |
|
No help site changes are required for this PR. Reason: This PR gates the "Copy settings" menu item behind the @fedirjh, please review the linked help site PR and confirm it reflects the current behavior. Then mark the linked help site PR |
|
🚀 Deployed to production by https://github.com/mountiny in version: 9.3.88-2 🚀
|

Explanation of Change
The "Copy settings" option in the workspace 3-dot menu is currently available to all admin users. This PR gates it behind the new
bulkEditWorkspacesbeta so the feature remains hidden until it's ready for wider rollout.BULK_EDIT_WORKSPACES: 'bulkEditWorkspaces'toCONST.BETASisBetaEnabled(CONST.BETAS.BULK_EDIT_WORKSPACES)before showing the "Copy settings" menu item inWorkspacesListPageFixed Issues
$ https://expensify.slack.com/archives/C01GTK53T8Q/p1779860551016579
$ #91791
$ #91792
$ #91793
$ #91805
$ #91821
$ #91825
$ #91827
$ #91830
$ #91833
PROPOSAL:
Tests
Preconditions: Have at least two workspaces where you are an admin.
Without the beta:
With the beta (
bulkEditWorkspaces):bulkEditWorkspacesbeta on your accountOffline 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
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari