From 3c2a49bf43b9c78ee35be55c084c0a13f9813150 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Tue, 9 Aug 2022 13:32:42 +0000 Subject: [PATCH] fix: Don't fetch resources when a workspace is building Fixes #3423. --- site/src/testHelpers/entities.ts | 1 + site/src/xServices/workspace/workspaceXService.ts | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/site/src/testHelpers/entities.ts b/site/src/testHelpers/entities.ts index 457ea4eb10cb3..df765c278a592 100644 --- a/site/src/testHelpers/entities.ts +++ b/site/src/testHelpers/entities.ts @@ -81,6 +81,7 @@ export const MockProvisionerJob: TypesGen.ProvisionerJob = { id: "test-provisioner-job", status: "succeeded", storage_source: "asdf", + completed_at: "2022-05-17T17:39:01.382927298Z", } export const MockFailedProvisionerJob: TypesGen.ProvisionerJob = { diff --git a/site/src/xServices/workspace/workspaceXService.ts b/site/src/xServices/workspace/workspaceXService.ts index acdb7b0987cbe..aa9fe056ef9f5 100644 --- a/site/src/xServices/workspace/workspaceXService.ts +++ b/site/src/xServices/workspace/workspaceXService.ts @@ -550,12 +550,13 @@ export const workspaceMachine = createMachine( } }, getResources: async (context) => { - if (context.workspace) { - const resources = await API.getWorkspaceResources(context.workspace.latest_build.id) - return resources - } else { - throw Error("Cannot fetch workspace resources without workspace") + // If the job hasn't completed, fetching resources will result + // in an unfriendly error for the user. + if (!context.workspace?.latest_build.job.completed_at) { + return [] } + const resources = await API.getWorkspaceResources(context.workspace.latest_build.id) + return resources }, getBuilds: async (context) => { if (context.workspace) {