From 0f380ab4b41001a873a5430f39e517cf2f1318ba Mon Sep 17 00:00:00 2001 From: Bruno Quaresma Date: Fri, 30 May 2025 11:00:26 -0300 Subject: [PATCH 1/2] chore: rollback PR #18025 (#18118) Rollback https://github.com/coder/coder/pull/18025 (cherry picked from commit f974add3730452bcf242af55fd1c5fe68ffda77f) --- cli/testdata/coder_list_--output_json.golden | 2 +- coderd/apidoc/docs.go | 4 +- coderd/apidoc/swagger.json | 4 +- coderd/workspacebuilds.go | 3 +- coderd/workspacebuilds_test.go | 3 +- codersdk/workspacebuilds.go | 16 ++--- docs/reference/api/builds.md | 18 ++--- docs/reference/api/schemas.md | 70 +++++++++---------- docs/reference/api/workspaces.md | 18 ++--- site/src/api/api.ts | 2 +- site/src/api/queries/workspaces.ts | 2 +- site/src/api/typesGenerated.ts | 3 +- .../WorkspaceBuildPageView.tsx | 2 +- site/src/testHelpers/entities.ts | 8 +-- 14 files changed, 66 insertions(+), 89 deletions(-) diff --git a/cli/testdata/coder_list_--output_json.golden b/cli/testdata/coder_list_--output_json.golden index d8e6a306cabcf..c37c89c4efe2a 100644 --- a/cli/testdata/coder_list_--output_json.golden +++ b/cli/testdata/coder_list_--output_json.golden @@ -23,7 +23,7 @@ "workspace_id": "===========[workspace ID]===========", "workspace_name": "test-workspace", "workspace_owner_id": "==========[first user ID]===========", - "workspace_owner_username": "testuser", + "workspace_owner_name": "testuser", "template_version_id": "============[version ID]============", "template_version_name": "===========[version name]===========", "build_number": 1, diff --git a/coderd/apidoc/docs.go b/coderd/apidoc/docs.go index 416e230dfffc9..a4a6a49aea05e 100644 --- a/coderd/apidoc/docs.go +++ b/coderd/apidoc/docs.go @@ -17847,9 +17847,7 @@ const docTemplate = `{ "format": "uuid" }, "workspace_owner_name": { - "type": "string" - }, - "workspace_owner_username": { + "description": "WorkspaceOwnerName is the username of the owner of the workspace.", "type": "string" } } diff --git a/coderd/apidoc/swagger.json b/coderd/apidoc/swagger.json index 4dbbf5a5fbcf9..4b505daf317da 100644 --- a/coderd/apidoc/swagger.json +++ b/coderd/apidoc/swagger.json @@ -16297,9 +16297,7 @@ "format": "uuid" }, "workspace_owner_name": { - "type": "string" - }, - "workspace_owner_username": { + "description": "WorkspaceOwnerName is the username of the owner of the workspace.", "type": "string" } } diff --git a/coderd/workspacebuilds.go b/coderd/workspacebuilds.go index 1fd0c95ff3a77..08b90b834ccca 100644 --- a/coderd/workspacebuilds.go +++ b/coderd/workspacebuilds.go @@ -1095,8 +1095,7 @@ func (api *API) convertWorkspaceBuild( CreatedAt: build.CreatedAt, UpdatedAt: build.UpdatedAt, WorkspaceOwnerID: workspace.OwnerID, - WorkspaceOwnerName: workspace.OwnerName, - WorkspaceOwnerUsername: workspace.OwnerUsername, + WorkspaceOwnerName: workspace.OwnerUsername, WorkspaceOwnerAvatarURL: workspace.OwnerAvatarUrl, WorkspaceID: build.WorkspaceID, WorkspaceName: workspace.Name, diff --git a/coderd/workspacebuilds_test.go b/coderd/workspacebuilds_test.go index d9a6baee7b68a..08a8f3f26e0fa 100644 --- a/coderd/workspacebuilds_test.go +++ b/coderd/workspacebuilds_test.go @@ -78,8 +78,7 @@ func TestWorkspaceBuild(t *testing.T) { }, testutil.WaitShort, testutil.IntervalFast) wb, err := client.WorkspaceBuild(testutil.Context(t, testutil.WaitShort), workspace.LatestBuild.ID) require.NoError(t, err) - require.Equal(t, up.Username, wb.WorkspaceOwnerUsername) - require.Equal(t, up.Name, wb.WorkspaceOwnerName) + require.Equal(t, up.Username, wb.WorkspaceOwnerName) require.Equal(t, up.AvatarURL, wb.WorkspaceOwnerAvatarURL) } diff --git a/codersdk/workspacebuilds.go b/codersdk/workspacebuilds.go index dd7af027ae701..d3372b272548f 100644 --- a/codersdk/workspacebuilds.go +++ b/codersdk/workspacebuilds.go @@ -51,14 +51,14 @@ const ( // WorkspaceBuild is an at-point representation of a workspace state. // BuildNumbers start at 1 and increase by 1 for each subsequent build type WorkspaceBuild struct { - ID uuid.UUID `json:"id" format:"uuid"` - CreatedAt time.Time `json:"created_at" format:"date-time"` - UpdatedAt time.Time `json:"updated_at" format:"date-time"` - WorkspaceID uuid.UUID `json:"workspace_id" format:"uuid"` - WorkspaceName string `json:"workspace_name"` - WorkspaceOwnerID uuid.UUID `json:"workspace_owner_id" format:"uuid"` - WorkspaceOwnerName string `json:"workspace_owner_name,omitempty"` - WorkspaceOwnerUsername string `json:"workspace_owner_username"` + ID uuid.UUID `json:"id" format:"uuid"` + CreatedAt time.Time `json:"created_at" format:"date-time"` + UpdatedAt time.Time `json:"updated_at" format:"date-time"` + WorkspaceID uuid.UUID `json:"workspace_id" format:"uuid"` + WorkspaceName string `json:"workspace_name"` + WorkspaceOwnerID uuid.UUID `json:"workspace_owner_id" format:"uuid"` + // WorkspaceOwnerName is the username of the owner of the workspace. + WorkspaceOwnerName string `json:"workspace_owner_name"` WorkspaceOwnerAvatarURL string `json:"workspace_owner_avatar_url,omitempty"` TemplateVersionID uuid.UUID `json:"template_version_id" format:"uuid"` TemplateVersionName string `json:"template_version_name"` diff --git a/docs/reference/api/builds.md b/docs/reference/api/builds.md index 2d0742737a3ad..9db3fe370a3d2 100644 --- a/docs/reference/api/builds.md +++ b/docs/reference/api/builds.md @@ -225,8 +225,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam "workspace_name": "string", "workspace_owner_avatar_url": "string", "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7", - "workspace_owner_name": "string", - "workspace_owner_username": "string" + "workspace_owner_name": "string" } ``` @@ -461,8 +460,7 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild} \ "workspace_name": "string", "workspace_owner_avatar_url": "string", "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7", - "workspace_owner_name": "string", - "workspace_owner_username": "string" + "workspace_owner_name": "string" } ``` @@ -1176,8 +1174,7 @@ curl -X GET http://coder-server:8080/api/v2/workspacebuilds/{workspacebuild}/sta "workspace_name": "string", "workspace_owner_avatar_url": "string", "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7", - "workspace_owner_name": "string", - "workspace_owner_username": "string" + "workspace_owner_name": "string" } ``` @@ -1485,8 +1482,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace}/builds \ "workspace_name": "string", "workspace_owner_avatar_url": "string", "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7", - "workspace_owner_name": "string", - "workspace_owner_username": "string" + "workspace_owner_name": "string" } ] ``` @@ -1658,8 +1654,7 @@ Status Code **200** | `» workspace_name` | string | false | | | | `» workspace_owner_avatar_url` | string | false | | | | `» workspace_owner_id` | string(uuid) | false | | | -| `» workspace_owner_name` | string | false | | | -| `» workspace_owner_username` | string | false | | | +| `» workspace_owner_name` | string | false | | Workspace owner name is the username of the owner of the workspace. | #### Enumerated Values @@ -1972,8 +1967,7 @@ curl -X POST http://coder-server:8080/api/v2/workspaces/{workspace}/builds \ "workspace_name": "string", "workspace_owner_avatar_url": "string", "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7", - "workspace_owner_name": "string", - "workspace_owner_username": "string" + "workspace_owner_name": "string" } ``` diff --git a/docs/reference/api/schemas.md b/docs/reference/api/schemas.md index fbb23964f3d28..67bdcdd84ed2b 100644 --- a/docs/reference/api/schemas.md +++ b/docs/reference/api/schemas.md @@ -8409,8 +8409,7 @@ If the schedule is empty, the user will be updated to use the default schedule.| "workspace_name": "string", "workspace_owner_avatar_url": "string", "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7", - "workspace_owner_name": "string", - "workspace_owner_username": "string" + "workspace_owner_name": "string" }, "name": "string", "next_start_at": "2019-08-24T14:15:22Z", @@ -9401,39 +9400,37 @@ If the schedule is empty, the user will be updated to use the default schedule.| "workspace_name": "string", "workspace_owner_avatar_url": "string", "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7", - "workspace_owner_name": "string", - "workspace_owner_username": "string" -} -``` - -### Properties - -| Name | Type | Required | Restrictions | Description | -|------------------------------|-------------------------------------------------------------------|----------|--------------|-------------| -| `build_number` | integer | false | | | -| `created_at` | string | false | | | -| `daily_cost` | integer | false | | | -| `deadline` | string | false | | | -| `id` | string | false | | | -| `initiator_id` | string | false | | | -| `initiator_name` | string | false | | | -| `job` | [codersdk.ProvisionerJob](#codersdkprovisionerjob) | false | | | -| `matched_provisioners` | [codersdk.MatchedProvisioners](#codersdkmatchedprovisioners) | false | | | -| `max_deadline` | string | false | | | -| `reason` | [codersdk.BuildReason](#codersdkbuildreason) | false | | | -| `resources` | array of [codersdk.WorkspaceResource](#codersdkworkspaceresource) | false | | | -| `status` | [codersdk.WorkspaceStatus](#codersdkworkspacestatus) | false | | | -| `template_version_id` | string | false | | | -| `template_version_name` | string | false | | | -| `template_version_preset_id` | string | false | | | -| `transition` | [codersdk.WorkspaceTransition](#codersdkworkspacetransition) | false | | | -| `updated_at` | string | false | | | -| `workspace_id` | string | false | | | -| `workspace_name` | string | false | | | -| `workspace_owner_avatar_url` | string | false | | | -| `workspace_owner_id` | string | false | | | -| `workspace_owner_name` | string | false | | | -| `workspace_owner_username` | string | false | | | + "workspace_owner_name": "string" +} +``` + +### Properties + +| Name | Type | Required | Restrictions | Description | +|------------------------------|-------------------------------------------------------------------|----------|--------------|---------------------------------------------------------------------| +| `build_number` | integer | false | | | +| `created_at` | string | false | | | +| `daily_cost` | integer | false | | | +| `deadline` | string | false | | | +| `id` | string | false | | | +| `initiator_id` | string | false | | | +| `initiator_name` | string | false | | | +| `job` | [codersdk.ProvisionerJob](#codersdkprovisionerjob) | false | | | +| `matched_provisioners` | [codersdk.MatchedProvisioners](#codersdkmatchedprovisioners) | false | | | +| `max_deadline` | string | false | | | +| `reason` | [codersdk.BuildReason](#codersdkbuildreason) | false | | | +| `resources` | array of [codersdk.WorkspaceResource](#codersdkworkspaceresource) | false | | | +| `status` | [codersdk.WorkspaceStatus](#codersdkworkspacestatus) | false | | | +| `template_version_id` | string | false | | | +| `template_version_name` | string | false | | | +| `template_version_preset_id` | string | false | | | +| `transition` | [codersdk.WorkspaceTransition](#codersdkworkspacetransition) | false | | | +| `updated_at` | string | false | | | +| `workspace_id` | string | false | | | +| `workspace_name` | string | false | | | +| `workspace_owner_avatar_url` | string | false | | | +| `workspace_owner_id` | string | false | | | +| `workspace_owner_name` | string | false | | Workspace owner name is the username of the owner of the workspace. | #### Enumerated Values @@ -10112,8 +10109,7 @@ If the schedule is empty, the user will be updated to use the default schedule.| "workspace_name": "string", "workspace_owner_avatar_url": "string", "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7", - "workspace_owner_name": "string", - "workspace_owner_username": "string" + "workspace_owner_name": "string" }, "name": "string", "next_start_at": "2019-08-24T14:15:22Z", diff --git a/docs/reference/api/workspaces.md b/docs/reference/api/workspaces.md index 1e73787dfb77e..de6fb8331047d 100644 --- a/docs/reference/api/workspaces.md +++ b/docs/reference/api/workspaces.md @@ -280,8 +280,7 @@ of the template will be used. "workspace_name": "string", "workspace_owner_avatar_url": "string", "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7", - "workspace_owner_name": "string", - "workspace_owner_username": "string" + "workspace_owner_name": "string" }, "name": "string", "next_start_at": "2019-08-24T14:15:22Z", @@ -565,8 +564,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam "workspace_name": "string", "workspace_owner_avatar_url": "string", "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7", - "workspace_owner_name": "string", - "workspace_owner_username": "string" + "workspace_owner_name": "string" }, "name": "string", "next_start_at": "2019-08-24T14:15:22Z", @@ -876,8 +874,7 @@ of the template will be used. "workspace_name": "string", "workspace_owner_avatar_url": "string", "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7", - "workspace_owner_name": "string", - "workspace_owner_username": "string" + "workspace_owner_name": "string" }, "name": "string", "next_start_at": "2019-08-24T14:15:22Z", @@ -1147,8 +1144,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaces \ "workspace_name": "string", "workspace_owner_avatar_url": "string", "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7", - "workspace_owner_name": "string", - "workspace_owner_username": "string" + "workspace_owner_name": "string" }, "name": "string", "next_start_at": "2019-08-24T14:15:22Z", @@ -1433,8 +1429,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace} \ "workspace_name": "string", "workspace_owner_avatar_url": "string", "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7", - "workspace_owner_name": "string", - "workspace_owner_username": "string" + "workspace_owner_name": "string" }, "name": "string", "next_start_at": "2019-08-24T14:15:22Z", @@ -1834,8 +1829,7 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/dormant \ "workspace_name": "string", "workspace_owner_avatar_url": "string", "workspace_owner_id": "e7078695-5279-4c86-8774-3ac2367a2fc7", - "workspace_owner_name": "string", - "workspace_owner_username": "string" + "workspace_owner_name": "string" }, "name": "string", "next_start_at": "2019-08-24T14:15:22Z", diff --git a/site/src/api/api.ts b/site/src/api/api.ts index a0f2d487b8603..81931c003c99d 100644 --- a/site/src/api/api.ts +++ b/site/src/api/api.ts @@ -1165,7 +1165,7 @@ class ApiMethods { ) ) { const { job } = await this.getWorkspaceBuildByNumber( - build.workspace_owner_username, + build.workspace_owner_name, build.workspace_name, build.build_number, ); diff --git a/site/src/api/queries/workspaces.ts b/site/src/api/queries/workspaces.ts index 61bc7f0e70c22..6c6a1aa19825c 100644 --- a/site/src/api/queries/workspaces.ts +++ b/site/src/api/queries/workspaces.ts @@ -279,7 +279,7 @@ const updateWorkspaceBuild = async ( queryClient: QueryClient, ) => { const workspaceKey = workspaceByOwnerAndNameKey( - build.workspace_owner_username, + build.workspace_owner_name, build.workspace_name, ); const previousData = queryClient.getQueryData(workspaceKey); diff --git a/site/src/api/typesGenerated.ts b/site/src/api/typesGenerated.ts index 807b6baa8b8f2..90d9ab6a1f59f 100644 --- a/site/src/api/typesGenerated.ts +++ b/site/src/api/typesGenerated.ts @@ -3622,8 +3622,7 @@ export interface WorkspaceBuild { readonly workspace_id: string; readonly workspace_name: string; readonly workspace_owner_id: string; - readonly workspace_owner_name?: string; - readonly workspace_owner_username: string; + readonly workspace_owner_name: string; readonly workspace_owner_avatar_url?: string; readonly template_version_id: string; readonly template_version_name: string; diff --git a/site/src/pages/WorkspaceBuildPage/WorkspaceBuildPageView.tsx b/site/src/pages/WorkspaceBuildPage/WorkspaceBuildPageView.tsx index 0eea37870c6f4..6add701c8b688 100644 --- a/site/src/pages/WorkspaceBuildPage/WorkspaceBuildPageView.tsx +++ b/site/src/pages/WorkspaceBuildPage/WorkspaceBuildPageView.tsx @@ -205,7 +205,7 @@ export const WorkspaceBuildPageView: FC = ({ fontWeight: 600, }} > - {`coder rm ${`${build.workspace_owner_username}/${build.workspace_name}`} --orphan`} + {`coder rm ${`${build.workspace_owner_name}/${build.workspace_name}`} --orphan`} {" "} to delete the workspace skipping resource destruction. diff --git a/site/src/testHelpers/entities.ts b/site/src/testHelpers/entities.ts index 7d060226b9168..8bc0bbb0ae4e1 100644 --- a/site/src/testHelpers/entities.ts +++ b/site/src/testHelpers/entities.ts @@ -1289,7 +1289,7 @@ export const MockWorkspaceBuild: TypesGen.WorkspaceBuild = { updated_at: "2022-05-17T17:39:01.382927298Z", workspace_name: "test-workspace", workspace_owner_id: MockUserOwner.id, - workspace_owner_username: MockUserOwner.username, + workspace_owner_name: MockUserOwner.username, workspace_owner_avatar_url: MockUserOwner.avatar_url, workspace_id: "759f1d46-3174-453d-aa60-980a9c1442f3", deadline: "2022-05-17T23:39:00.00Z", @@ -1317,7 +1317,7 @@ const MockWorkspaceBuildAutostart: TypesGen.WorkspaceBuild = { updated_at: "2022-05-17T17:39:01.382927298Z", workspace_name: "test-workspace", workspace_owner_id: MockUserOwner.id, - workspace_owner_username: MockUserOwner.username, + workspace_owner_name: MockUserOwner.username, workspace_owner_avatar_url: MockUserOwner.avatar_url, workspace_id: "759f1d46-3174-453d-aa60-980a9c1442f3", deadline: "2022-05-17T23:39:00.00Z", @@ -1341,7 +1341,7 @@ const MockWorkspaceBuildAutostop: TypesGen.WorkspaceBuild = { updated_at: "2022-05-17T17:39:01.382927298Z", workspace_name: "test-workspace", workspace_owner_id: MockUserOwner.id, - workspace_owner_username: MockUserOwner.username, + workspace_owner_name: MockUserOwner.username, workspace_owner_avatar_url: MockUserOwner.avatar_url, workspace_id: "759f1d46-3174-453d-aa60-980a9c1442f3", deadline: "2022-05-17T23:39:00.00Z", @@ -1367,7 +1367,7 @@ export const MockFailedWorkspaceBuild = ( updated_at: "2022-05-17T17:39:01.382927298Z", workspace_name: "test-workspace", workspace_owner_id: MockUserOwner.id, - workspace_owner_username: MockUserOwner.username, + workspace_owner_name: MockUserOwner.username, workspace_owner_avatar_url: MockUserOwner.avatar_url, workspace_id: "759f1d46-3174-453d-aa60-980a9c1442f3", deadline: "2022-05-17T23:39:00.00Z", From 7ff41301b6c44486c5665eef588cce1d0f5c8919 Mon Sep 17 00:00:00 2001 From: Bruno Quaresma Date: Thu, 29 May 2025 13:12:13 -0300 Subject: [PATCH 2/2] chore: rollback PR #18081 (#18104) Rollback https://github.com/coder/coder/pull/18081 (cherry picked from commit d779126ee34720adc7af455a110d932a7facd268) --- coderd/apidoc/docs.go | 1 + coderd/apidoc/swagger.json | 1 + coderd/audit.go | 4 ++-- codersdk/workspaces.go | 10 +++++----- docs/reference/api/schemas.md | 2 +- site/src/modules/resources/PortForwardButton.tsx | 10 +++++----- .../WorkspacesPage/BatchUpdateConfirmation.stories.tsx | 2 +- 7 files changed, 16 insertions(+), 14 deletions(-) diff --git a/coderd/apidoc/docs.go b/coderd/apidoc/docs.go index a4a6a49aea05e..32f0ed2cbcf2f 100644 --- a/coderd/apidoc/docs.go +++ b/coderd/apidoc/docs.go @@ -17002,6 +17002,7 @@ const docTemplate = `{ "format": "uuid" }, "owner_name": { + "description": "OwnerName is the username of the owner of the workspace.", "type": "string" }, "template_active_version_id": { diff --git a/coderd/apidoc/swagger.json b/coderd/apidoc/swagger.json index 4b505daf317da..721e6bbd9e4cf 100644 --- a/coderd/apidoc/swagger.json +++ b/coderd/apidoc/swagger.json @@ -15507,6 +15507,7 @@ "format": "uuid" }, "owner_name": { + "description": "OwnerName is the username of the owner of the workspace.", "type": "string" }, "template_active_version_id": { diff --git a/coderd/audit.go b/coderd/audit.go index ee647fba2f39b..63b6e49ebb05a 100644 --- a/coderd/audit.go +++ b/coderd/audit.go @@ -462,7 +462,7 @@ func (api *API) auditLogResourceLink(ctx context.Context, alog database.GetAudit if getWorkspaceErr != nil { return "" } - return fmt.Sprintf("/@%s/%s", workspace.OwnerUsername, workspace.Name) + return fmt.Sprintf("/@%s/%s", workspace.OwnerName, workspace.Name) case database.ResourceTypeWorkspaceApp: if additionalFields.WorkspaceOwner != "" && additionalFields.WorkspaceName != "" { @@ -472,7 +472,7 @@ func (api *API) auditLogResourceLink(ctx context.Context, alog database.GetAudit if getWorkspaceErr != nil { return "" } - return fmt.Sprintf("/@%s/%s", workspace.OwnerUsername, workspace.Name) + return fmt.Sprintf("/@%s/%s", workspace.OwnerName, workspace.Name) case database.ResourceTypeOauth2ProviderApp: return fmt.Sprintf("/deployment/oauth2-provider/apps/%s", alog.AuditLog.ResourceID) diff --git a/codersdk/workspaces.go b/codersdk/workspaces.go index e0f1b9b1e2c2a..2c73d60a2696c 100644 --- a/codersdk/workspaces.go +++ b/codersdk/workspaces.go @@ -26,10 +26,11 @@ const ( // Workspace is a deployment of a template. It references a specific // version and can be updated. type Workspace struct { - ID uuid.UUID `json:"id" format:"uuid"` - CreatedAt time.Time `json:"created_at" format:"date-time"` - UpdatedAt time.Time `json:"updated_at" format:"date-time"` - OwnerID uuid.UUID `json:"owner_id" format:"uuid"` + ID uuid.UUID `json:"id" format:"uuid"` + CreatedAt time.Time `json:"created_at" format:"date-time"` + UpdatedAt time.Time `json:"updated_at" format:"date-time"` + OwnerID uuid.UUID `json:"owner_id" format:"uuid"` + // OwnerName is the username of the owner of the workspace. OwnerName string `json:"owner_name"` OwnerAvatarURL string `json:"owner_avatar_url"` OrganizationID uuid.UUID `json:"organization_id" format:"uuid"` @@ -49,7 +50,6 @@ type Workspace struct { AutostartSchedule *string `json:"autostart_schedule,omitempty"` TTLMillis *int64 `json:"ttl_ms,omitempty"` LastUsedAt time.Time `json:"last_used_at" format:"date-time"` - // DeletingAt indicates the time at which the workspace will be permanently deleted. // A workspace is eligible for deletion if it is dormant (a non-nil dormant_at value) // and a value has been specified for time_til_dormant_autodelete on its template. diff --git a/docs/reference/api/schemas.md b/docs/reference/api/schemas.md index 67bdcdd84ed2b..c9f1f0c3b4d63 100644 --- a/docs/reference/api/schemas.md +++ b/docs/reference/api/schemas.md @@ -8455,7 +8455,7 @@ If the schedule is empty, the user will be updated to use the default schedule.| | `outdated` | boolean | false | | | | `owner_avatar_url` | string | false | | | | `owner_id` | string | false | | | -| `owner_name` | string | false | | | +| `owner_name` | string | false | | Owner name is the username of the owner of the workspace. | | `template_active_version_id` | string | false | | | | `template_allow_user_cancel_workspace_jobs` | boolean | false | | | | `template_display_name` | string | false | | | diff --git a/site/src/modules/resources/PortForwardButton.tsx b/site/src/modules/resources/PortForwardButton.tsx index 916c8f2338130..7653376f24b57 100644 --- a/site/src/modules/resources/PortForwardButton.tsx +++ b/site/src/modules/resources/PortForwardButton.tsx @@ -562,11 +562,11 @@ export const PortForwardPopoverView: FC = ({ const classNames = { paper: (css, theme) => css` - padding: 0; - width: 404px; - color: ${theme.palette.text.secondary}; - margin-top: 4px; - `, + padding: 0; + width: 404px; + color: ${theme.palette.text.secondary}; + margin-top: 4px; + `, } satisfies Record; const styles = { diff --git a/site/src/pages/WorkspacesPage/BatchUpdateConfirmation.stories.tsx b/site/src/pages/WorkspacesPage/BatchUpdateConfirmation.stories.tsx index 76e8637ece71a..140d433d3e860 100644 --- a/site/src/pages/WorkspacesPage/BatchUpdateConfirmation.stories.tsx +++ b/site/src/pages/WorkspacesPage/BatchUpdateConfirmation.stories.tsx @@ -16,7 +16,7 @@ import { type Update, } from "./BatchUpdateConfirmation"; -const workspaces = [ +const workspaces: Workspace[] = [ { ...MockRunningOutdatedWorkspace, id: "1" }, { ...MockDormantOutdatedWorkspace, id: "2" }, { ...MockOutdatedWorkspace, id: "3" }, pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy