Repository navigation
feat(workspaces): public and private workspaces (D2) - #496
Merged
Merged
Conversation
Contributor
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: a9c5b604-2829-4b23-8381-882e4db4ff60) |
Contributor
Test IDsAdded (8)
|
huyplb
force-pushed
the
feat/workspaces-admin
branch
from
October 10, 2026 04:36
64361a5 to
922cc7d
Compare
…ns a public one D2 of the workspaces plan, and the last of the series. - Workspace settings: Private (invite only, hidden) or Public (listed to every signed-in account), with the role joiners get: viewer or editor, never owner. Going public asks first: joiners use its saved connections. - Profile menu: Browse public workspaces → Join (switches there). - GET /api/workspaces/discover, POST /api/workspaces/:id/join; a private, archived or personal workspace answers not found. - Public → private keeps members and hides it. Personal workspaces stay private. - Plan marked built, with where it differs; handoff doc updated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
huyplb
force-pushed
the
feat/workspaces-public
branch
from
October 10, 2026 04:41
bea20e2 to
743677f
Compare
Contributor
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: 8b4cbbe8-a664-4ead-9c52-7515fc781190) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
D2 of the workspaces plan, the last of the series. Stacked on #495 (D6) → #494 → #493 → #492 → #491.
What changes
PATCH /api/workspaces/:idtakesvisibilityandjoinRole; newGET /api/workspaces/discoverandPOST /api/workspaces/:id/join(contract table 134 → 136).Tests
workspace.settings; values are checked (owner refused); archived is neither listed nor joinable. A/B: private-joinable, personal-may-go-public and discover-lists-private each fail.workspaces.test.ts8/8 against the dev server: the owner makes the workspace public in settings; a second throwaway account (editor account) finds it under Browse, joins as viewer, has noeditor.ddlthere, and sees the shared connection; back to private keeps it and hides it from others.Review
Fixed: an owner join role, going public with no confirmation, the join role being cut off by long names.
🤖 Generated with Claude Code
Note
Medium Risk
Changes who can join workspaces and at what role, exposing saved connections to any signed-in user when public; join role is capped at editor but membership and permission boundaries still need careful review.
Overview
Adds public workspaces so owners can list a team workspace to every signed-in user and let them self-join, with a configurable join role (viewer or editor only).
Backend:
PATCH /api/workspaces/:idnow acceptsvisibilityandjoinRoleviaupdateSettings(rename folded in). NewGET /api/workspaces/discoverandPOST /api/workspaces/:id/joinadd members at the workspace’s join role; private, personal, archived, and already-joined workspaces are excluded or return not found. Personal workspaces cannot go public.UI: Workspace settings (Who can find it) for owners includes a visibility select with a confirmation when going public, plus join-role when public. The profile menu adds Browse public workspaces with list/join and switches workspace after join.
Tests & docs: Directory, component, and e2e coverage for the full flow; HTTP contract count 134→136; workspaces plan marked built; new test IDs.
Reviewed by Cursor Bugbot for commit 743677f. Bugbot is set up for automated code reviews on this repo. Configure here.