Repository navigation
feat(computer-use): enable computer use by default, governed by a permission-group restriction - #9944
Conversation
…mission-group restriction Removes the mothership-computer-use feature flag. Each device still opts in under Settings > Desktop > Computer Use; enterprise admins can withhold it with the new Computer Use permission-group restriction (computer_use.use, which also follows Chat).
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
There was a problem hiding this comment.
1 issue found across 31 files
Confidence score: 4/5
- In
computer-use.tsx, denied members can see the controls while the permission query is loading or fails. Gate them onisPermissionReadyas well.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="apps/sim/app/workspace/[workspaceId]/settings/components/desktop/computer-use.tsx">
<violation number="1" location="apps/sim/app/workspace/[workspaceId]/settings/components/desktop/computer-use.tsx:47">
P2: `usePermissionConfig` falls back to the unrestricted default until its query succeeds, so denied members see these controls during loading and after a failed policy read. Gate on `isPermissionReady` too; server authorization does not prevent the local `setEnabled` and `revokeApp` mutations.</violation>
</file>
[Medium impact] The PR appears safe to merge; no new actionable issues were found. SummaryEnables computer use without a deployment flag while keeping device opt-in and permission-group restrictions.
|
… known Also gives the local-files e2e settings fixture a QueryClient now that the Desktop page reads the permission config.
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 32 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
…ry hook usePermissionConfig pulls the block and provider registries into the Desktop settings bundle; the settings gate only needs the user's resolved config.
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
… group allows them Their effects no longer call the native helper for loading or restricted members.
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
Summary
mothership-computer-usefeature flag (registry entry,MSHIP_COMPUTER_USEfallback, layout/provider wiring, client gates)disableComputerUse→computer_use.use) lets enterprise admins withhold it; the rule also follows Chat (hideCopilot), matching how narrower capabilities subsume their moduledesktop.computer.executedeclarescomputer_use.use, so the funnel refuses withheld actions before claiming them; the chat payload only advertises computer use when the owner's group allows it/api/desktop/computer/availabilityroute: the client now reports device state only and the server decides, dropping a blocking request from every desktop chat sendType of Change
Testing
bunx vitest runon lib/computer-use, lib/permission-groups, lib/desktop, lib/core/config/feature-flags, settings/desktop, components/computer-use, lib/mothership/chat/payload, ee/access-requests (all green)check:permission-group-enforcement(40 capabilities enforced),check:application-graph,check:api-validation:strict,check:client-boundary,check:openapi,check:cli-api,check:test-patterns,check:comment-hygiene; full gate in CIChecklist
test-auditauthoring gate)