From 809c2c3f397e29114d8f3a1f8fba510deea4edfa Mon Sep 17 00:00:00 2001 From: Asher Date: Thu, 13 Jun 2024 11:46:30 -0800 Subject: [PATCH 1/2] Remove unused property `visible` --- src/workspacesProvider.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/workspacesProvider.ts b/src/workspacesProvider.ts index 4c577c3b..2b2f1301 100644 --- a/src/workspacesProvider.ts +++ b/src/workspacesProvider.ts @@ -35,7 +35,6 @@ export class WorkspaceProvider implements vscode.TreeDataProvider = {} private timeout: NodeJS.Timeout | undefined - private visible = false private fetching = false constructor( @@ -147,7 +146,6 @@ export class WorkspaceProvider implements vscode.TreeDataProvider Date: Thu, 13 Jun 2024 12:46:10 -0800 Subject: [PATCH 2/2] Add status to workspaces sidebar --- CHANGELOG.md | 5 +++++ src/remote.ts | 6 +++++- src/workspacesProvider.ts | 10 ++++++---- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a80e50a8..b1e587a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ ## Unreleased +### Added + +- Workspace and agent statuses now show in the sidebar. These are updated every + five seconds. + ## [v1.0.2](https://github.com/coder/vscode-coder/releases/tag/v1.0.2) (2024-06-12) ### Fixed diff --git a/src/remote.ts b/src/remote.ts index 927ec290..0fd2a717 100644 --- a/src/remote.ts +++ b/src/remote.ts @@ -253,7 +253,11 @@ export class Remote { writeEmitter.fire(log.output + "\r\n") }) socket.on("error", (error) => { - reject(new Error(`Failed to watch workspace build using ${socketUrlRaw}: ${errToStr(error, "no further details")}`)) + reject( + new Error( + `Failed to watch workspace build using ${socketUrlRaw}: ${errToStr(error, "no further details")}`, + ), + ) }) socket.on("close", () => { resolve() diff --git a/src/workspacesProvider.ts b/src/workspacesProvider.ts index 2b2f1301..3806f3da 100644 --- a/src/workspacesProvider.ts +++ b/src/workspacesProvider.ts @@ -280,6 +280,7 @@ export class OpenableTreeItem extends vscode.TreeItem { constructor( label: string, tooltip: string, + description: string, collapsibleState: vscode.TreeItemCollapsibleState, public readonly workspaceOwner: string, @@ -292,6 +293,7 @@ export class OpenableTreeItem extends vscode.TreeItem { super(label, collapsibleState) this.contextValue = contextValue this.tooltip = tooltip + this.description = description } iconPath = { @@ -307,11 +309,10 @@ class AgentTreeItem extends OpenableTreeItem { workspaceName: string, watchMetadata = false, ) { - const label = agent.name - const detail = `Status: ${agent.status}` super( - label, - detail, + agent.name, // label + `Status: ${agent.status}`, // tooltip + agent.status, // description watchMetadata ? vscode.TreeItemCollapsibleState.Collapsed : vscode.TreeItemCollapsibleState.None, workspaceOwner, workspaceName, @@ -337,6 +338,7 @@ export class WorkspaceTreeItem extends OpenableTreeItem { super( label, detail, + workspace.latest_build.status, // description showOwner ? vscode.TreeItemCollapsibleState.Collapsed : vscode.TreeItemCollapsibleState.Expanded, workspace.owner_name, workspace.name,