feat: add shared workspaces view#991
Open
EhabY wants to merge 3 commits into
Open
Conversation
77214b6 to
67f3cee
Compare
67f3cee to
5073b43
Compare
710aebd to
6072dba
Compare
- collapse per-query branches into a readonly WORKSPACE_QUERY_CONFIG table - drop the unreachable re-entry branch in the workspace refresh loop - remove test-only getCurrentUserId; tests read getSnapshot via a helper - extract the repeated tree-view wiring in extension.ts into a helper - drive metadata tests through the real watcher over MockEventStream - move shared test doubles (session, workspaces client, flush) into testHelpers - replace describe-scoped state + beforeEach/afterEach with a setup() helper
6072dba to
0c47e82
Compare
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.
Summary
Shared Workspacestree view with search and manual refresh actions.shared:true, then filter out workspaces owned by the authenticated user outsideWorkspaceProvider.DeploymentManagerso concurrent auth/session changes do not leak stale users into shared-workspace filtering.Testing
pnpm format:checkpnpm typecheckpnpm lintpnpm test:extensionImplementation plan and decision log
origin/mainand resolved theDeploymentManagerconflict while preserving current main's recovery and concurrency guards.coder/codershared-workspace semantics:shared:truematches any workspace with non-empty user/group ACLs, including current-user-owned workspaces that were shared out, so the extension must filter outworkspace.owner_id === currentUserIdclient-side.shared_with_user:mebecause server-sidemesupport is not implemented there and direct-user filtering misses group shares.All Workspaces, instead of polling likeMy Workspaces.WorkspaceProviderfrom current-user knowledge by adding afilterWorkspacescallback and a state-version guard.#authedUser: User | nullinDeploymentManagerand exposedgetCurrentUserId()/getAuthStateVersion()for shared filtering and stale-fetch detection.Generated with Coder Agents on behalf of @EhabY.