Skip to content

fix(lk): rename workspace projects through ProjectService - #1071

Merged
Topherhindman merged 1 commit into
mainfrom
topherhindman/devx-861-lk-workspace-project-update-keeps-working-after
Oct 23, 2026
Merged

Topherhindman merged 1 commit into
mainfrom
topherhindman/devx-861-lk-workspace-project-update-keeps-working-after

Conversation

@Topherhindman

@Topherhindman Topherhindman commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Fixes DEVX-861

Why

livekit/public-api-server#98 deletes WorkspaceService.UpdateProject. It duplicated ProjectService.UpdateProject, and its PATCH route differed from the workspace Get/Delete route only by parameter name, which made the OpenAPI spec invalid.

lk workspace project update is its only caller. Since #1070 the command shows for signed-in users, so it would fail once livekit/public-api-server#98 deploys, and the next client regen would stop compiling.

What changed

UpdateWorkspaceProject (pkg/public/workspaces.go) keeps its signature. It now:

  1. reads the project with GET /v0/workspaces/{ws}/projects/{id}, so a project outside --workspace still returns 404, as the old route did
  2. renames it with PATCH /v0/projects/{id}, the same call lk project update makes

The command's name, flags and output don't change. Both routes exist on the server today, so this can merge before or after livekit/public-api-server#98.

Testing

  • go test ./pkg/public/...: new workspaces_test.go checks the GET → PATCH order and body, and that a 404 on the GET stops before the PATCH.
  • Nothing outside oapi.gen.go refers to WorkspaceServiceUpdateProject anymore.

The Public API is dropping WorkspaceService.UpdateProject
(livekit/public-api-server#98). It duplicated ProjectService.UpdateProject,
and its PATCH path collided with the workspace GetProject/DeleteProject path
in the OpenAPI spec.

`lk workspace project update` keeps its interface. UpdateWorkspaceProject now
reads the project through the workspace first, so a project outside
--workspace still answers 404, and then renames it with
ProjectService.UpdateProject. This works against the server before and after
#98, and the next client regen no longer needs WorkspaceServiceUpdateProject.
@Topherhindman
Topherhindman merged commit 8b98e7e into main Oct 23, 2026
25 checks passed
@Topherhindman
Topherhindman deleted the topherhindman/devx-861-lk-workspace-project-update-keeps-working-after branch October 23, 2026 16:22
Topherhindman added a commit that referenced this pull request Oct 23, 2026
Picks up livekit/public-api-server#98, which makes the spec a client
contract. Every operation now declares its error response, a
google.rpc.Status, so each generated response gains a JSONDefault
*GoogleRpcStatus, and GoogleRpcStatus and GoogleProtobufAny are new
types. Nothing hand-written reads them yet.

#98 also deletes WorkspaceService.UpdateProject, so its client methods
and types are gone. lk workspace project update no longer calls it
(#1071).

Also picks up the server's proto comment cleanup, which roughly halves
the doc comments, and the oneOf helpers of a few protocol messages
(AutoTrackEgress, the egress outputs, chat and transcript items, metric
points) losing their empty last variant. Nothing hand-written uses
those either.

Generated from livekit/public-api-server@4cfd5cf
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.

2 participants