From 0778c55d85d5f45d8331addaceb5e48c4727af78 Mon Sep 17 00:00:00 2001 From: czlonkowski <56956555+czlonkowski@users.noreply.github.com> Date: Fri, 24 Oct 2025 14:17:30 +0200 Subject: [PATCH 1/3] fix: add warnings for If/Switch node connection parameters (issue #360) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implemented a warning system to guide users toward using smart parameters (branch="true"/"false" for If nodes, case=N for Switch nodes) instead of sourceIndex, which can lead to incorrect branch routing. Changes: - Added warnings property to WorkflowDiffResult interface - Warnings generated when sourceIndex used with If/Switch nodes - Enhanced tool documentation with CRITICAL pitfalls - Added regression tests reproducing issue #360 - Version bump to 2.22.1 The branch parameter functionality works correctly - this fix adds helpful warnings to prevent users from accidentally using the less intuitive sourceIndex parameter. Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- CHANGELOG.md | 49 ++++++++ package.json | 2 +- .../n8n-update-partial-workflow.ts | 2 + src/services/workflow-diff-engine.ts | 28 ++++- src/types/workflow-diff.ts | 1 + .../services/workflow-diff-engine.test.ts | 107 ++++++++++++++++++ 6 files changed, 186 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b1a653..bc4783a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,55 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### 🐛 Bug Fixes + +**Issue #360: Enhanced Warnings for If/Switch Node Connection Parameters** + +Fixed issue where users could unintentionally place multiple If node connections on the same branch (TRUE/FALSE) when using `sourceIndex` parameter instead of the recommended `branch` parameter. The system now provides helpful warnings to guide users toward better practices. + +#### What Was Fixed + +1. **New Warning System**: + - Warns when using `sourceIndex` with If nodes - suggests `branch="true"` or `branch="false"` instead + - Warns when using `sourceIndex` with Switch nodes - suggests `case=N` instead + - Explains the correct branch structure: `main[0]=TRUE branch, main[1]=FALSE branch` + +2. **Enhanced Documentation**: + - Added **CRITICAL** pitfalls to `n8n_update_partial_workflow` tool documentation + - Clear guidance that using `sourceIndex=0` for multiple connections puts them ALL on the TRUE branch + - Examples showing correct vs. incorrect usage + +3. **Type System Improvements**: + - Added `warnings` field to `WorkflowDiffResult` interface + - Warnings are non-blocking (operations still succeed) + - Differentiated from errors for better UX + +#### Behavior + +The existing `branch` parameter works correctly and has comprehensive test coverage: +- `branch="true"` → routes to `main[0]` (TRUE path) +- `branch="false"` → routes to `main[1]` (FALSE path) + +The issue was that users who didn't know about the `branch` parameter would naturally use `sourceIndex`, which led to incorrect branch routing. + +#### Example Warning + +``` +Connection to If node "Check Condition" uses sourceIndex=0. +Consider using branch="true" or branch="false" for better clarity. +If node outputs: main[0]=TRUE branch, main[1]=FALSE branch. +``` + +#### Test Coverage + +- Added regression tests that reproduce the exact issue from #360 +- Verify warnings are generated for If and Switch nodes +- Confirm existing smart parameter tests still pass + +**Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en** + +--- + ### ✨ New Features **Auto-Update Node Versions with Smart Migration** diff --git a/package.json b/package.json index ba3bdb6..4a608cf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "n8n-mcp", - "version": "2.22.0", + "version": "2.22.1", "description": "Integration between n8n workflow automation and Model Context Protocol (MCP)", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/src/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.ts b/src/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.ts index 0acfbe5..c9822a0 100644 --- a/src/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.ts +++ b/src/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.ts @@ -272,6 +272,8 @@ Please choose a different name. 'Use "updates" property for updateNode operations: {type: "updateNode", updates: {...}}', 'Smart parameters (branch, case) only work with IF and Switch nodes - ignored for other node types', 'Explicit sourceIndex overrides smart parameters (branch, case) if both provided', + '**CRITICAL**: For If nodes, ALWAYS use branch="true"/"false" instead of sourceIndex. Using sourceIndex=0 for multiple connections will put them ALL on the TRUE branch (main[0]), breaking your workflow logic!', + '**CRITICAL**: For Switch nodes, ALWAYS use case=N instead of sourceIndex. Using same sourceIndex for multiple connections will put them on the same case output.', 'cleanStaleConnections removes ALL broken connections - cannot be selective', 'replaceConnections overwrites entire connections object - all previous connections lost', '**Auto-sanitization behavior**: Binary operators (equals, contains) automatically have singleValue removed; unary operators (isEmpty, isNotEmpty) automatically get singleValue:true added', diff --git a/src/services/workflow-diff-engine.ts b/src/services/workflow-diff-engine.ts index 6b0ca4b..ab5baa9 100644 --- a/src/services/workflow-diff-engine.ts +++ b/src/services/workflow-diff-engine.ts @@ -38,6 +38,8 @@ const logger = new Logger({ prefix: '[WorkflowDiffEngine]' }); export class WorkflowDiffEngine { // Track node name changes during operations for connection reference updates private renameMap: Map = new Map(); + // Track warnings during operation processing + private warnings: WorkflowDiffValidationError[] = []; /** * Apply diff operations to a workflow @@ -47,8 +49,9 @@ export class WorkflowDiffEngine { request: WorkflowDiffRequest ): Promise { try { - // Reset rename tracking for this diff operation + // Reset tracking for this diff operation this.renameMap.clear(); + this.warnings = []; // Clone workflow to avoid modifying original const workflowCopy = JSON.parse(JSON.stringify(workflow)); @@ -114,6 +117,7 @@ export class WorkflowDiffEngine { ? 'Validation successful. All operations are valid.' : `Validation completed with ${errors.length} errors.`, errors: errors.length > 0 ? errors : undefined, + warnings: this.warnings.length > 0 ? this.warnings : undefined, applied: appliedIndices, failed: failedIndices }; @@ -126,6 +130,7 @@ export class WorkflowDiffEngine { operationsApplied: appliedIndices.length, message: `Applied ${appliedIndices.length} operations, ${failedIndices.length} failed (continueOnError mode)`, errors: errors.length > 0 ? errors : undefined, + warnings: this.warnings.length > 0 ? this.warnings : undefined, applied: appliedIndices, failed: failedIndices }; @@ -213,7 +218,8 @@ export class WorkflowDiffEngine { success: true, workflow: workflowCopy, operationsApplied, - message: `Successfully applied ${operationsApplied} operations (${nodeOperations.length} node ops, ${otherOperations.length} other ops)` + message: `Successfully applied ${operationsApplied} operations (${nodeOperations.length} node ops, ${otherOperations.length} other ops)`, + warnings: this.warnings.length > 0 ? this.warnings : undefined }; } } catch (error) { @@ -685,6 +691,24 @@ export class WorkflowDiffEngine { sourceIndex = operation.case; } + // Validation: Warn if using sourceIndex with If/Switch nodes without smart parameters + if (sourceNode && operation.sourceIndex !== undefined && operation.branch === undefined && operation.case === undefined) { + if (sourceNode.type === 'n8n-nodes-base.if') { + this.warnings.push({ + operation: -1, // Not tied to specific operation index in request + message: `Connection to If node "${operation.source}" uses sourceIndex=${operation.sourceIndex}. ` + + `Consider using branch="true" or branch="false" for better clarity. ` + + `If node outputs: main[0]=TRUE branch, main[1]=FALSE branch.` + }); + } else if (sourceNode.type === 'n8n-nodes-base.switch') { + this.warnings.push({ + operation: -1, // Not tied to specific operation index in request + message: `Connection to Switch node "${operation.source}" uses sourceIndex=${operation.sourceIndex}. ` + + `Consider using case=N for better clarity (case=0 for first output, case=1 for second, etc.).` + }); + } + } + return { sourceOutput, sourceIndex }; } diff --git a/src/types/workflow-diff.ts b/src/types/workflow-diff.ts index e76b757..e35169d 100644 --- a/src/types/workflow-diff.ts +++ b/src/types/workflow-diff.ts @@ -170,6 +170,7 @@ export interface WorkflowDiffResult { success: boolean; workflow?: any; // Updated workflow if successful errors?: WorkflowDiffValidationError[]; + warnings?: WorkflowDiffValidationError[]; // Non-blocking warnings (e.g., parameter suggestions) operationsApplied?: number; message?: string; applied?: number[]; // Indices of successfully applied operations (when continueOnError is true) diff --git a/tests/unit/services/workflow-diff-engine.test.ts b/tests/unit/services/workflow-diff-engine.test.ts index df4cb47..42dddb1 100644 --- a/tests/unit/services/workflow-diff-engine.test.ts +++ b/tests/unit/services/workflow-diff-engine.test.ts @@ -1418,6 +1418,113 @@ describe('WorkflowDiffEngine', () => { expect(result.workflow!.connections['Switch']['main'][2][0].node).toBe('Handler'); expect(result.workflow!.connections['Switch']['main'][1]).toEqual([]); }); + + it('should warn when using sourceIndex with If node (issue #360)', async () => { + const addIF: any = { + type: 'addNode', + node: { + name: 'Check Condition', + type: 'n8n-nodes-base.if', + position: [400, 300] + } + }; + + const addSuccess: any = { + type: 'addNode', + node: { + name: 'Success Handler', + type: 'n8n-nodes-base.set', + position: [600, 200] + } + }; + + const addError: any = { + type: 'addNode', + node: { + name: 'Error Handler', + type: 'n8n-nodes-base.set', + position: [600, 400] + } + }; + + // BAD: Using sourceIndex with If node (reproduces issue #360) + const connectSuccess: any = { + type: 'addConnection', + source: 'Check Condition', + target: 'Success Handler', + sourceIndex: 0 // Should use branch="true" instead + }; + + const connectError: any = { + type: 'addConnection', + source: 'Check Condition', + target: 'Error Handler', + sourceIndex: 0 // Should use branch="false" instead - both will end up in main[0]! + }; + + const request: WorkflowDiffRequest = { + id: 'test-workflow', + operations: [addIF, addSuccess, addError, connectSuccess, connectError] + }; + + const result = await diffEngine.applyDiff(baseWorkflow, request); + + expect(result.success).toBe(true); + + // Should produce warnings + expect(result.warnings).toBeDefined(); + expect(result.warnings!.length).toBe(2); + expect(result.warnings![0].message).toContain('Consider using branch="true" or branch="false"'); + expect(result.warnings![0].message).toContain('If node outputs: main[0]=TRUE branch, main[1]=FALSE branch'); + expect(result.warnings![1].message).toContain('Consider using branch="true" or branch="false"'); + + // Both connections end up in main[0] (the bug behavior) + expect(result.workflow!.connections['Check Condition']['main'][0].length).toBe(2); + expect(result.workflow!.connections['Check Condition']['main'][0][0].node).toBe('Success Handler'); + expect(result.workflow!.connections['Check Condition']['main'][0][1].node).toBe('Error Handler'); + }); + + it('should warn when using sourceIndex with Switch node', async () => { + const addSwitch: any = { + type: 'addNode', + node: { + name: 'Switch', + type: 'n8n-nodes-base.switch', + position: [400, 300] + } + }; + + const addHandler: any = { + type: 'addNode', + node: { + name: 'Handler', + type: 'n8n-nodes-base.set', + position: [600, 300] + } + }; + + // BAD: Using sourceIndex with Switch node + const connect: any = { + type: 'addConnection', + source: 'Switch', + target: 'Handler', + sourceIndex: 1 // Should use case=1 instead + }; + + const request: WorkflowDiffRequest = { + id: 'test-workflow', + operations: [addSwitch, addHandler, connect] + }; + + const result = await diffEngine.applyDiff(baseWorkflow, request); + + expect(result.success).toBe(true); + + // Should produce warning + expect(result.warnings).toBeDefined(); + expect(result.warnings!.length).toBe(1); + expect(result.warnings![0].message).toContain('Consider using case=N for better clarity'); + }); }); describe('AddConnection with sourceIndex (Phase 0 Fix)', () => { From a4c7e097e8164514379b2543ffeab52ff1fe84b9 Mon Sep 17 00:00:00 2001 From: czlonkowski <56956555+czlonkowski@users.noreply.github.com> Date: Fri, 24 Oct 2025 14:28:36 +0200 Subject: [PATCH 2/3] fix: pass warnings through MCP handler to user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed critical bug where warnings were generated by the diff engine but not included in the MCP response, making them invisible to users. Now warnings are properly passed through in all return paths: - Success path (workflow updated) - validateOnly path (dry run mode) - Failure path (continueOnError mode) This completes the fix for issue #360, ensuring users receive helpful guidance when using sourceIndex instead of branch/case parameters. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/mcp/handlers-workflow-diff.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/mcp/handlers-workflow-diff.ts b/src/mcp/handlers-workflow-diff.ts index 18213c5..59c40c9 100644 --- a/src/mcp/handlers-workflow-diff.ts +++ b/src/mcp/handlers-workflow-diff.ts @@ -138,6 +138,7 @@ export async function handleUpdatePartialWorkflow( error: 'Failed to apply diff operations', details: { errors: diffResult.errors, + warnings: diffResult.warnings, operationsApplied: diffResult.operationsApplied, applied: diffResult.applied, failed: diffResult.failed @@ -154,6 +155,9 @@ export async function handleUpdatePartialWorkflow( data: { valid: true, operationsToApply: input.operations.length + }, + details: { + warnings: diffResult.warnings } }; } @@ -252,7 +256,8 @@ export async function handleUpdatePartialWorkflow( workflowName: updatedWorkflow.name, applied: diffResult.applied, failed: diffResult.failed, - errors: diffResult.errors + errors: diffResult.errors, + warnings: diffResult.warnings } }; } catch (error) { From 95ea6ca0bba287c978b48e7dc1d0db950b8c41cb Mon Sep 17 00:00:00 2001 From: czlonkowski <56956555+czlonkowski@users.noreply.github.com> Date: Fri, 24 Oct 2025 14:53:44 +0200 Subject: [PATCH 3/3] fix: update test expectations for validateOnly mode to include warnings field MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed failing CI test by updating test expectations to match the new response structure that includes a details.warnings field in validateOnly mode. Changes: - Updated test mock to include warnings: [] in applyDiff response - Updated test expectations to include details: { warnings: [] } Related to issue #360 fix. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en --- data/nodes.db | Bin 62623744 -> 62623744 bytes tests/unit/mcp/handlers-workflow-diff.test.ts | 4 ++++ 2 files changed, 4 insertions(+) diff --git a/data/nodes.db b/data/nodes.db index f7d33504e602a2131e4da406283eec028347c0be..b67f14688a6158d4ed04154ecca065ceebb0e91c 100644 GIT binary patch delta 253571 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 Qeh&-6TmNVG_kZXA2Lp*aDgXcg delta 49781 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

X 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 O^o;A%Z|L8=`Tqj;dcpz# diff --git a/tests/unit/mcp/handlers-workflow-diff.test.ts b/tests/unit/mcp/handlers-workflow-diff.test.ts index e08ca5a..1edab79 100644 --- a/tests/unit/mcp/handlers-workflow-diff.test.ts +++ b/tests/unit/mcp/handlers-workflow-diff.test.ts @@ -188,6 +188,7 @@ describe('handlers-workflow-diff', () => { operationsApplied: 1, message: 'Validation successful', errors: [], + warnings: [] }); const result = await handleUpdatePartialWorkflow(diffRequest, mockRepository); @@ -199,6 +200,9 @@ describe('handlers-workflow-diff', () => { valid: true, operationsToApply: 1, }, + details: { + warnings: [] + } }); expect(mockApiClient.updateWorkflow).not.toHaveBeenCalled();