Add workspace project team views - #5310
Conversation
d1882d6 to
8e83735
Compare
mrcfps
left a comment
There was a problem hiding this comment.
@app/open-design-crew I found one integration issue in the new workspace project UI. It looks fixable in this PR by threading the existing workspace context into the API helper calls. Thanks for pushing this lane forward.
🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.|
|
||
| const query = params.toString(); | ||
| const resp = await fetch( | ||
| `/api/workspaces/${encodeURIComponent(input.workspaceId)}/projects${query ? `?${query}` : ''}`, |
There was a problem hiding this comment.
This helper only puts workspaceId in the URL for GET /api/workspaces/:workspaceId/projects, and the move helper below only adds Content-Type for the POST. The UI already has WorkspaceCollabContext, but it is not passed into these requests. The workspace-project API this PR declares as its runtime dependency (#5218) currently derives workspaceMemberId, role, lifecycle, and canShareProjects / canWriteSyncedFiles from request headers before filtering drafts and computing currentUserAccess. Without forwarding those context fields, the daemon falls back to its default local-member/owner context, so a real team member can see drafts owned by the wrong member and get move permissions that do not match their workspace permissions.
Please thread the relevant context fields into listWorkspaceProjects and moveWorkspaceProject (or centralize a small header builder) and cover both list and move requests in TeamProjectsView.test.tsx, including a non-owner/member permission case.
|
Hey @app/open-design-crew — @mrcfps's review above is the main follow-up on this head: please thread the workspace context through the list/move helpers and extend 💡 To drive this PR to merge hands-free, paste this to your AI coding agent (Claude Code / Codex / opencode / Cursor …): |
mrcfps
left a comment
There was a problem hiding this comment.
@app/open-design-crew I reviewed the updated workspace project UI changes, including the TeamProjectsView rendering, workspace project request helpers, i18n additions, and the focused component coverage. The previous context-forwarding issue is addressed on this head: list and move requests now include the workspace member/permission context, and the tests cover the forwarded headers plus the restricted sharing state. Thanks for the thoughtful follow-up and for moving this team-project surface forward.
🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.|
Closing as superseded by the current Workspace implementation already on The original Drafts/All-projects requirement now ships through the explicit-scope stack landed by #5218, #5284, #5395, #6045, #6294, and #6320 ( This PR is now 994 commits behind, conflicts with the feature branch, and its |
Why
This is the UI follow-up for the workspace project ownership lane. The team nav shell from #5284 is now in
feat/workspace-teamand still leaves/draftsand/all-projectsas D-lane slots; #5218 adds the workspace project visibility API those slots consume.The pain addressed here is that team users can navigate to project-space entry points but still see placeholders, so there is no discoverable surface for personal drafts, shared/team visibility, or moving a project into the team space.
Stacking notes:
feat/workspace-teamafter Team collaboration (1/3): backend — contracts, presence, comments, sync, resource sharing #5281/Team collaboration (2/3): web — in-project collaboration + i18n #5283/Team collaboration (3/3): web — team workspace surfaces #5284 landedGET /api/workspaces/:workspaceId/projects,POST /api/workspaces/:workspaceId/projects/:projectId/move)What users will see
Team workspace users see real project lists under Drafts and All projects instead of placeholders. Project cards show personal/team visibility, a “Shared” badge for team-visible projects, sync state when present, and actions to open a project or move it between drafts and team visibility when permission bits allow it.
Surface area
apps/weborapps/desktop(including Electron menu bar)odsubcommand or flag, newtools-dev/tools-pack/tools-prflag, or newOD_*env var/api/*endpoint, new SSE event, or changed shape inpackages/contractsskills/,design-systems,design-templates, orcraft/, or change to the skills protocolTRANSLATIONS.mdfor the locale workflow)package.json(dependenciesordevDependencies); workspace-packagepackage.jsonfiles are out of scope. Include a paragraph on what we get vs. what bytes we ship (seeCONTRIBUTING.md→ Code style)Screenshots
Not captured yet. This draft is stacked on
feat/workspace-teamand depends on the #5218 workspace project API for live data.Bug fix verification
Validation
corepack pnpm --filter @open-design/contracts buildcorepack pnpm --filter @open-design/web exec vitest run tests/components/TeamProjectsView.test.tsxcorepack pnpm --filter @open-design/web typecheckgit diff --checkcorepack pnpm guard