Skip to content

feat: shared workspaces support#306

Draft
aslilac wants to merge 2 commits into
mainfrom
lilac/shared-workspaces
Draft

feat: shared workspaces support#306
aslilac wants to merge 2 commits into
mainfrom
lilac/shared-workspaces

Conversation

@aslilac
Copy link
Copy Markdown
Member

@aslilac aslilac commented May 15, 2026

Lists workspaces shared with the current user alongside the user's own workspaces.

  • CoderRestClient.workspaces() now issues two queries (owner:me and shared:true) and merges the results, deduped by workspace id. The shared:true query is best-effort, so older servers that don't recognize it still work.
  • Shared workspaces get an owner-namespaced environment id of the form <owner>.<workspace>.<agent> so they can't collide with the user's own <workspace>.<agent> ids. Owned workspaces keep their existing id, so per-environment state (auto-connect, etc.) is preserved.
  • URI handler accepts an optional owner query parameter so deep links to shared workspaces resolve to the right one when names collide across owners.
  • Each environment surfaces its owner as an info row so shared workspaces are easy to tell apart in the list. SSH host names already include the owner, so the proxy command needs no changes.

Generated with Coder Agents on behalf of @aslilac.

aslilac added 2 commits May 15, 2026 19:05
Add a `workspaceFilter` setting (defaults to `owner:me`) so users can
broaden the listing to include workspaces shared with them. The URI
handler now accepts an optional `owner` query parameter to disambiguate
workspaces by name across owners, and the environment list surfaces the
workspace owner as an environment information entry.

Generated with Coder Agents on behalf of @aslilac.
- Always query both `owner:me` and `shared:true`; merge and dedupe.
- Drop the `workspaceFilter` setting.
- Shared workspaces (where `ownerName != client.me.username`) use
  `<owner>.<workspace>.<agent>` as their environment id so they don't
  collide with the user's own workspaces; owned workspaces keep the
  legacy `<workspace>.<agent>` id.
@aslilac aslilac marked this pull request as draft May 18, 2026 17:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant