Fix workflow run updates real time (#15701)

as title

## after


https://github.com/user-attachments/assets/34239b6e-16d6-4afd-9a54-cb4767179bea
This commit is contained in:
martmull
2025-11-07 15:54:13 +01:00
committed by GitHub
parent f91c2bb729
commit bce1bcf1fa
2 changed files with 22 additions and 13 deletions
@@ -14,6 +14,23 @@ import { isStepNode } from '@/workflow/workflow-diagram/utils/isStepNode';
import { isDefined } from 'twenty-shared/utils';
import { StepStatus, type WorkflowRunStepInfos } from 'twenty-shared/workflow';
const shouldOpenStep = ({
nodeId,
steps,
stepInfos,
}: {
nodeId: string;
steps: Array<WorkflowStep>;
stepInfos: WorkflowRunStepInfos | undefined;
}) => {
const step = steps.find((step) => step.id === nodeId);
const stepInfo = stepInfos?.[nodeId];
const isStepPending = isDefined(stepInfo) && stepInfo.status === 'PENDING';
const isStepOpenable = isDefined(step) && ['FORM'].includes(step.type);
return isStepPending && isStepOpenable;
};
export const generateWorkflowRunDiagram = ({
trigger,
steps,
@@ -65,7 +82,10 @@ export const generateWorkflowRunDiagram = ({
runStatus: stepInfo.status,
};
if (!isDefined(stepToOpenByDefault) && stepInfo.status === 'PENDING') {
if (
!isDefined(stepToOpenByDefault) &&
shouldOpenStep({ nodeId, stepInfos, steps })
) {
stepToOpenByDefault = { id: nodeId, data: nodeData };
}
@@ -14,16 +14,6 @@ const isWorkflowVersionStepsOrTrigger = (
);
};
const isWorkflowRunState = (
objectMetadataItem: ObjectMetadataItemWithFieldMaps,
key: string,
) => {
return (
objectMetadataItem.standardId === STANDARD_OBJECT_IDS.workflowRun &&
key === 'state'
);
};
const isWorkflowAutomatedTriggerSettings = (
objectMetadataItem: ObjectMetadataItemWithFieldMaps,
key: string,
@@ -50,8 +40,7 @@ export const objectRecordChangedValues = (
// Temporary ignore workflow json fields changes
if (
isWorkflowAutomatedTriggerSettings(objectMetadataItem, key) ||
isWorkflowVersionStepsOrTrigger(objectMetadataItem, key) ||
isWorkflowRunState(objectMetadataItem, key)
isWorkflowVersionStepsOrTrigger(objectMetadataItem, key)
) {
return acc;
}