diff --git a/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/generateWorkflowRunDiagram.ts b/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/generateWorkflowRunDiagram.ts index d54edaddac..0bb7cea90d 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/generateWorkflowRunDiagram.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-diagram/utils/generateWorkflowRunDiagram.ts @@ -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; + 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 }; } diff --git a/packages/twenty-server/src/engine/core-modules/event-emitter/utils/object-record-changed-values.ts b/packages/twenty-server/src/engine/core-modules/event-emitter/utils/object-record-changed-values.ts index 02364003d1..be6b18ddcd 100644 --- a/packages/twenty-server/src/engine/core-modules/event-emitter/utils/object-record-changed-values.ts +++ b/packages/twenty-server/src/engine/core-modules/event-emitter/utils/object-record-changed-values.ts @@ -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; }