From a95e4016967b2ef443ad0ea07338ab830d5c0100 Mon Sep 17 00:00:00 2001 From: Michael Kret <88898367+michael-radency@users.noreply.github.com> Date: Wed, 17 Apr 2024 11:57:51 +0300 Subject: [PATCH] fix(Execute Workflow Node): Assign fallback pairedItem only if not present in output item and different length of input output (#9145) --- .../nodes/ExecuteWorkflow/ExecuteWorkflow.node.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/nodes-base/nodes/ExecuteWorkflow/ExecuteWorkflow.node.ts b/packages/nodes-base/nodes/ExecuteWorkflow/ExecuteWorkflow.node.ts index 81e5cf2e7..55f8c9033 100644 --- a/packages/nodes-base/nodes/ExecuteWorkflow/ExecuteWorkflow.node.ts +++ b/packages/nodes-base/nodes/ExecuteWorkflow/ExecuteWorkflow.node.ts @@ -260,11 +260,19 @@ export class ExecuteWorkflow implements INodeType { items, ); - const pairedItem = generatePairedItemData(items.length); + const fallbackPairedItemData = generatePairedItemData(items.length); for (const output of workflowResult) { - for (const item of output) { - item.pairedItem = pairedItem; + const sameLength = output.length === items.length; + + for (const [itemIndex, item] of output.entries()) { + if (item.pairedItem) continue; + + if (sameLength) { + item.pairedItem = { item: itemIndex }; + } else { + item.pairedItem = fallbackPairedItemData; + } } }