From 69eb4e0b9d4688e53364cefb721750981d1fc674 Mon Sep 17 00:00:00 2001 From: Lucas Berger Date: Sun, 8 Feb 2026 13:12:26 -0500 Subject: [PATCH] =?UTF-8?q?fix(10.2-03):=20reorder=20Keyword=20Router=20ru?= =?UTF-8?q?les=20=E2=80=94=20debug=20commands=20before=20generic=20contain?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two bugs: (1) connection array had old fallback at index [9] shifting debug connections off-by-one, so /errors routed to Show Menu. (2) /debug status matched rule 1 (contains "status") before rule 11 (startsWith /debug). Fix: move startsWith debug rules [1-4] before contains rules [5-12]. Co-Authored-By: Claude Opus 4.6 --- n8n-workflow.json | 242 +++++++++++++++++++++++----------------------- 1 file changed, 121 insertions(+), 121 deletions(-) diff --git a/n8n-workflow.json b/n8n-workflow.json index 7d50168..280759b 100644 --- a/n8n-workflow.json +++ b/n8n-workflow.json @@ -180,6 +180,98 @@ "renameOutput": true, "outputKey": "menu" }, + { + "id": "keyword-errors", + "conditions": { + "options": { + "caseSensitive": false, + "typeValidation": "loose" + }, + "conditions": [ + { + "id": "starts-with-errors", + "leftValue": "={{ $json.message.text }}", + "rightValue": "/errors", + "operator": { + "type": "string", + "operation": "startsWith" + } + } + ], + "combinator": "and" + }, + "renameOutput": true, + "outputKey": "errors" + }, + { + "id": "keyword-clear-errors", + "conditions": { + "options": { + "caseSensitive": false, + "typeValidation": "loose" + }, + "conditions": [ + { + "id": "starts-with-clear", + "leftValue": "={{ $json.message.text }}", + "rightValue": "/clear", + "operator": { + "type": "string", + "operation": "startsWith" + } + } + ], + "combinator": "and" + }, + "renameOutput": true, + "outputKey": "clear-errors" + }, + { + "id": "keyword-debug", + "conditions": { + "options": { + "caseSensitive": false, + "typeValidation": "loose" + }, + "conditions": [ + { + "id": "starts-with-debug", + "leftValue": "={{ $json.message.text }}", + "rightValue": "/debug", + "operator": { + "type": "string", + "operation": "startsWith" + } + } + ], + "combinator": "and" + }, + "renameOutput": true, + "outputKey": "debug" + }, + { + "id": "keyword-trace", + "conditions": { + "options": { + "caseSensitive": false, + "typeValidation": "loose" + }, + "conditions": [ + { + "id": "starts-with-trace", + "leftValue": "={{ $json.message.text }}", + "rightValue": "/trace", + "operator": { + "type": "string", + "operation": "startsWith" + } + } + ], + "combinator": "and" + }, + "renameOutput": true, + "outputKey": "trace" + }, { "id": "keyword-status", "conditions": { @@ -363,98 +455,6 @@ }, "renameOutput": true, "outputKey": "status" - }, - { - "id": "keyword-errors", - "conditions": { - "options": { - "caseSensitive": false, - "typeValidation": "loose" - }, - "conditions": [ - { - "id": "starts-with-errors", - "leftValue": "={{ $json.message.text }}", - "rightValue": "/errors", - "operator": { - "type": "string", - "operation": "startsWith" - } - } - ], - "combinator": "and" - }, - "renameOutput": true, - "outputKey": "errors" - }, - { - "id": "keyword-clear-errors", - "conditions": { - "options": { - "caseSensitive": false, - "typeValidation": "loose" - }, - "conditions": [ - { - "id": "starts-with-clear", - "leftValue": "={{ $json.message.text }}", - "rightValue": "/clear", - "operator": { - "type": "string", - "operation": "startsWith" - } - } - ], - "combinator": "and" - }, - "renameOutput": true, - "outputKey": "clear-errors" - }, - { - "id": "keyword-debug", - "conditions": { - "options": { - "caseSensitive": false, - "typeValidation": "loose" - }, - "conditions": [ - { - "id": "starts-with-debug", - "leftValue": "={{ $json.message.text }}", - "rightValue": "/debug", - "operator": { - "type": "string", - "operation": "startsWith" - } - } - ], - "combinator": "and" - }, - "renameOutput": true, - "outputKey": "debug" - }, - { - "id": "keyword-trace", - "conditions": { - "options": { - "caseSensitive": false, - "typeValidation": "loose" - }, - "conditions": [ - { - "id": "starts-with-trace", - "leftValue": "={{ $json.message.text }}", - "rightValue": "/trace", - "operator": { - "type": "string", - "operation": "startsWith" - } - } - ], - "combinator": "and" - }, - "renameOutput": true, - "outputKey": "trace" } ] }, @@ -5463,6 +5463,34 @@ "index": 0 } ], + [ + { + "node": "Process Debug Command", + "type": "main", + "index": 0 + } + ], + [ + { + "node": "Process Debug Command", + "type": "main", + "index": 0 + } + ], + [ + { + "node": "Process Debug Command", + "type": "main", + "index": 0 + } + ], + [ + { + "node": "Process Debug Command", + "type": "main", + "index": 0 + } + ], [ { "node": "Prepare Status Input", @@ -5525,34 +5553,6 @@ "type": "main", "index": 0 } - ], - [ - { - "node": "Process Debug Command", - "type": "main", - "index": 0 - } - ], - [ - { - "node": "Process Debug Command", - "type": "main", - "index": 0 - } - ], - [ - { - "node": "Process Debug Command", - "type": "main", - "index": 0 - } - ], - [ - { - "node": "Process Debug Command", - "type": "main", - "index": 0 - } ] ] }, @@ -7021,4 +7021,4 @@ "tags": [], "triggerCount": 1, "active": false -} \ No newline at end of file +}