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

View File

@@ -9,7 +9,7 @@ import {
WorkflowExecute,
rewireGraph,
} from 'n8n-core';
import { MANUAL_TRIGGER_NODE_TYPE, NodeHelpers } from 'n8n-workflow';
import { NodeHelpers } from 'n8n-workflow';
import type {
IExecuteData,
IPinData,
@@ -43,17 +43,9 @@ export class ManualExecutionService {
startNode = workflow.getNode(data.startNodes[0].name) ?? undefined;
}
if (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
runManually(
data: IWorkflowExecutionDataProcess,