fix(core): Remove default for manual trigger in manual executions (#16829)

This commit is contained in:
Mutasem Aldmour
2025-06-30 13:56:11 +02:00
committed by GitHub
parent 1141553c67
commit 641e970edd
2 changed files with 15 additions and 20 deletions

View File

@@ -72,26 +72,29 @@ describe('ManualExecutionService', () => {
expect(executionStartNode?.name).toEqual('node3'); expect(executionStartNode?.name).toEqual('node3');
}); });
it('should default to The manual trigger', () => { it('should return undefined, even if manual trigger node is available', () => {
const data = mock<IWorkflowExecutionDataProcess>(); const scheduleTrigger = mock<INode>({
type: 'n8n-nodes-base.scheduleTrigger',
name: 'Wed 12:00',
});
const manualTrigger = mock<INode>({ const manualTrigger = mock<INode>({
type: 'n8n-nodes-base.manualTrigger', type: 'n8n-nodes-base.manualTrigger',
name: 'When clicking Execute workflow', name: 'When clicking Execute workflow',
}); });
const data = mock<IWorkflowExecutionDataProcess>({
startNodes: [scheduleTrigger],
triggerToStartFrom: undefined,
});
const workflow = mock<Workflow>({ const workflow = mock<Workflow>({
getTriggerNodes() { getTriggerNodes() {
return [ return [scheduleTrigger, manualTrigger];
mock<INode>({
type: 'n8n-nodes-base.scheduleTrigger',
name: 'Wed 12:00',
}),
manualTrigger,
];
}, },
}); });
const executionStartNode = manualExecutionService.getExecutionStartNode(data, workflow); const executionStartNode = manualExecutionService.getExecutionStartNode(data, workflow);
expect(executionStartNode?.name).toBe(manualTrigger.name); expect(executionStartNode?.name).toBeUndefined();
}); });
}); });

View File

@@ -9,7 +9,7 @@ import {
WorkflowExecute, WorkflowExecute,
rewireGraph, rewireGraph,
} from 'n8n-core'; } from 'n8n-core';
import { MANUAL_TRIGGER_NODE_TYPE, NodeHelpers } from 'n8n-workflow'; import { NodeHelpers } from 'n8n-workflow';
import type { import type {
IExecuteData, IExecuteData,
IPinData, IPinData,
@@ -43,15 +43,7 @@ export class ManualExecutionService {
startNode = workflow.getNode(data.startNodes[0].name) ?? undefined; startNode = workflow.getNode(data.startNodes[0].name) ?? undefined;
} }
if (startNode) { return startNode;
return startNode;
}
const manualTrigger = workflow
.getTriggerNodes()
.find((node) => node.type === MANUAL_TRIGGER_NODE_TYPE);
return manualTrigger;
} }
// eslint-disable-next-line @typescript-eslint/promise-function-async // eslint-disable-next-line @typescript-eslint/promise-function-async