fix(core): Fix pairedItem issue with partial manual executions (#8575)

Co-authored-by: Danny Martini <danny@n8n.io>
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
This commit is contained in:
Jan Oberhauser
2024-02-23 11:43:08 +01:00
committed by GitHub
parent 0882dc0ce9
commit a29b41ec55
14 changed files with 250 additions and 27 deletions

View File

@@ -33,6 +33,7 @@ import type {
IWorkflowExecuteAdditionalData,
WorkflowExecuteMode,
CloseFunction,
StartNodeData,
} from 'n8n-workflow';
import {
LoggerProxy as Logger,
@@ -157,7 +158,7 @@ export class WorkflowExecute {
runPartialWorkflow(
workflow: Workflow,
runData: IRunData,
startNodes: string[],
startNodes: StartNodeData[],
destinationNode?: string,
pinData?: IPinData,
): PCancelable<IRun> {
@@ -175,7 +176,7 @@ export class WorkflowExecute {
const waitingExecution: IWaitingForExecution = {};
const waitingExecutionSource: IWaitingForExecutionSource = {};
for (const startNode of startNodes) {
incomingNodeConnections = workflow.connectionsByDestinationNode[startNode];
incomingNodeConnections = workflow.connectionsByDestinationNode[startNode.name];
const incomingData: INodeExecutionData[][] = [];
let incomingSourceData: ITaskDataConnectionsSource | null = null;
@@ -210,15 +211,13 @@ export class WorkflowExecute {
}
}
incomingSourceData.main.push({
previousNode: connection.node,
});
incomingSourceData.main.push(startNode.sourceData);
}
}
}
const executeData: IExecuteData = {
node: workflow.getNode(startNode) as INode,
node: workflow.getNode(startNode.name) as INode,
data: {
main: incomingData,
},