diff --git a/site/src/testHelpers/entities.ts b/site/src/testHelpers/entities.ts index 457ea4eb10..df765c278a 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 acdb7b0987..aa9fe056ef 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) {