Skip to content

Conversation

@mfsiega
Copy link
Contributor

@mfsiega mfsiega commented Nov 24, 2025

Summary

Adds the structured destination node to the API, and passes it where appropriate from the frontend.

Related Linear tickets, Github issues, and Community forum posts

https://linear.app/n8n/issue/CAT-1265

Review / Merge checklist

  • PR title and summary are descriptive. (conventions)
  • Docs updated or follow-up ticket created.
  • Tests included.
  • PR Labeled with release/backport (if the PR is an urgent fix that needs to be backported)

@bundlemon
Copy link

bundlemon bot commented Nov 24, 2025

BundleMon

Unchanged files (2)
Status Path Size Limits
WASM Dependencies
tree-sitter-bash.wasm
181.26KB -
WASM Dependencies
tree-sitter.wasm
74.47KB -

No change in files bundle size

Groups updated (2)
Status Path Size Limits
**/*.js
11.38MB (+94.76KB +0.82%) -
**/*.css
231.47KB (+10.7KB +4.84%) -

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@n8n-assistant n8n-assistant bot added core Enhancement outside /nodes-base and /editor-ui n8n team Authored by the n8n team labels Nov 24, 2025
@codecov
Copy link

codecov bot commented Nov 24, 2025

❌ 4 Tests Failed:

Tests completed Failed Passed Skipped
14785 4 14781 0
View the top 3 failed test(s) by shortest run time
WorkflowExecutionService selectPinnedActivatorStarter() should favor webhook node connected to the destination node
Stack Traces | 0s run time
TypeError: nodePropertiesArray is not iterable
    at getParameterDependencies (.../workflow/src/node-helpers.ts:494:31)
    at Object.getNodeParameters (.../workflow/src/node-helpers.ts:619:27)
    at new Workflow (.../workflow/src/workflow.ts:113:39)
    at WorkflowExecutionService.selectPinnedActivatorStarter (.../src/workflows/workflow-execution.service.ts:440:6)
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:484:42)
    at Promise.then.completed (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:300:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/utils.js:233:10)
    at _callCircusTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:315:40)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at _runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:251:3)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:125:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at _runTestsForDescribeBlock (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:120:9)
    at run (.../n8n/node_modules/.pnpm/[email protected]..../jest-circus/build/run.js:70:3)
    at runAndTransformResultsToJestFormat (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (.../n8n/node_modules/.pnpm/[email protected]..../build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:367:16)
    at runTest (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/runTest.js:444:34)
    at Object.worker (.../n8n/node_modules/.pnpm/[email protected]..../jest-runner/build/testWorker.js:106:12)
WorkflowExecutionService executeManually() should call WorkflowRunner.run() with pinned trigger with type trigger
Stack Traces | 0.003s run time
Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)

- Expected
+ Received

  Object {
-   "destinationNode": Object {
-     "mode": "inclusive",
-     "nodeName": [Function mockConstructor],
-   },
+   "agentRequest": undefined,
+   "destinationNode": [Function mockConstructor],
    "dirtyNodeNames": [Function mockConstructor],
    "executionMode": "manual",
+   "httpResponse": undefined,
    "pinData": undefined,
    "pushRef": undefined,
    "runData": [Function mockConstructor],
    "startNodes": Array [
      Object {
        "name": "trigger",
        "sourceData": null,
      },
    ],
+   "streamingEnabled": undefined,
    "triggerToStartFrom": undefined,
    "userId": "user-id",
    "workflowData": undefined,
  },

Number of calls: 1
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:215:32)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
WorkflowExecutionService executeManually() removes runData if the destination node is a trigger
Stack Traces | 0.004s run time
Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)

- Expected
+ Received

  Object {
-   "destinationNode": Object {
-     "mode": "inclusive",
-     "nodeName": [Function mockConstructor],
-   },
+   "agentRequest": undefined,
+   "destinationNode": [Function mockConstructor],
    "dirtyNodeNames": [Function mockConstructor],
    "executionMode": "manual",
+   "httpResponse": undefined,
    "pinData": [Function mockConstructor],
    "pushRef": undefined,
-   "runData": undefined,
+   "runData": [Function mockConstructor],
    "startNodes": undefined,
+   "streamingEnabled": undefined,
    "triggerToStartFrom": [Function mockConstructor],
    "userId": "user-id",
    "workflowData": undefined,
  },

Number of calls: 1
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:165:31)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
WorkflowExecutionService executeManually() should call WorkflowRunner.run() with pinned trigger with type webhook
Stack Traces | 0.009s run time
Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)

- Expected
+ Received

  Object {
-   "destinationNode": Object {
-     "mode": "inclusive",
-     "nodeName": [Function mockConstructor],
-   },
+   "agentRequest": undefined,
+   "destinationNode": [Function mockConstructor],
    "dirtyNodeNames": [Function mockConstructor],
    "executionMode": "manual",
+   "httpResponse": undefined,
    "pinData": undefined,
    "pushRef": undefined,
    "runData": [Function mockConstructor],
    "startNodes": Array [
      Object {
        "name": "webhook",
        "sourceData": null,
      },
    ],
+   "streamingEnabled": undefined,
    "triggerToStartFrom": undefined,
    "userId": "user-id",
    "workflowData": undefined,
  },

Number of calls: 1
    at Object.<anonymous> (.../workflows/__tests__/workflow-execution.service.test.ts:215:32)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@blacksmith-sh
Copy link

blacksmith-sh bot commented Nov 24, 2025

Found 4 test failures on Blacksmith runners:

Failures

Test View Logs
WorkflowExecutionService/
WorkflowExecutionService executeManually() removes runData if the destination node is a
trigger
View Logs
WorkflowExecutionService/
WorkflowExecutionService executeManually() should call WorkflowRunner.run() with pinned
trigger with type trigger
View Logs
WorkflowExecutionService/
WorkflowExecutionService executeManually() should call WorkflowRunner.run() with pinned
trigger with type webhook
View Logs
WorkflowExecutionService/
WorkflowExecutionService selectPinnedActivatorStarter() should favor webhook node conne
cted to the destination node
View Logs


Fix in Cursor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Enhancement outside /nodes-base and /editor-ui n8n team Authored by the n8n team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants