From d4b81dd20f74e16e066102e543efc54d930f088e Mon Sep 17 00:00:00 2001 From: Thomas Trompette Date: Fri, 10 Oct 2025 17:44:12 +0200 Subject: [PATCH] When workflow is completed, mark as failed steps still running (#15030) As title. --- .../workflow-run.workspace-service.ts | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/packages/twenty-server/src/modules/workflow/workflow-runner/workflow-run/workflow-run.workspace-service.ts b/packages/twenty-server/src/modules/workflow/workflow-runner/workflow-run/workflow-run.workspace-service.ts index 2b9eb3de06..ffc3ca240c 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-runner/workflow-run/workflow-run.workspace-service.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-runner/workflow-run/workflow-run.workspace-service.ts @@ -198,11 +198,40 @@ export class WorkflowRunWorkspaceService { workspaceId, }); + const updatedStepInfos = Object.entries( + workflowRunToUpdate.state?.stepInfos ?? {}, + ) + .map(([stepId, step]) => { + if ( + step.status === StepStatus.RUNNING || + step.status === StepStatus.PENDING + ) { + return { + [stepId]: { + ...step, + status: StepStatus.FAILED, + error: 'Workflow has been ended before this step was completed', + }, + }; + } + + return { + [stepId]: step, + }; + }) + .reduce((acc, current) => { + return { + ...acc, + ...current, + }; + }, {}); + const partialUpdate = { status, endedAt: new Date().toISOString(), state: { ...workflowRunToUpdate.state, + stepInfos: updatedStepInfos, workflowRunError: error, }, };