diff --git a/components/ws-manager-bridge/src/prebuild-state-mapper.spec.ts b/components/ws-manager-bridge/src/prebuild-state-mapper.spec.ts index 36b3289c89e411..0c76454626b641 100644 --- a/components/ws-manager-bridge/src/prebuild-state-mapper.spec.ts +++ b/components/ws-manager-bridge/src/prebuild-state-mapper.spec.ts @@ -53,11 +53,8 @@ class TestPrebuildStateMapper { }, }, { - name: "failed - no snapshot", - expected: { - state: "failed", - hasError: true, - }, + name: "Stopping and no snapshot yet", + expected: undefined, status: { id, phase: WorkspacePhase.STOPPING, diff --git a/components/ws-manager-bridge/src/prebuild-state-mapper.ts b/components/ws-manager-bridge/src/prebuild-state-mapper.ts index 2d4cb308f7d81c..9ccff0f7c54d2e 100644 --- a/components/ws-manager-bridge/src/prebuild-state-mapper.ts +++ b/components/ws-manager-bridge/src/prebuild-state-mapper.ts @@ -64,17 +64,12 @@ export class PrebuildStateMapper { update: { state: "available", snapshot: status.conditions!.snapshot, + error: "", }, }; } else if (!status.conditions!.snapshot) { - // STOPPING && no snapshot? Definitely an error case - return { - type: HeadlessWorkspaceEventType.Failed, - update: { - state: "failed", - error: "error while taking snapshot", - }, - }; + // STOPPING && no snapshot is an intermediate state that we are choosing to ignore. + return undefined; } else { log.error({ instanceId: status.id }, "unhandled prebuild status update", { phase: status.phase,