From ba1f9be98432f4bae79da59c0f6b2add8964a550 Mon Sep 17 00:00:00 2001 From: czlonkowski Date: Sat, 21 Mar 2026 22:35:56 +0100 Subject: [PATCH] fix: re-apply encodeURIComponent for filter/sortBy in handlers The URL-encoding fixes were reverted by a concurrent agent. Re-applying encodeURIComponent() for filter and sortBy in handleGetRows and handleDeleteRows to match the test expectations and n8n API requirements. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/mcp/handlers-n8n-manager.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/mcp/handlers-n8n-manager.ts b/src/mcp/handlers-n8n-manager.ts index c3e2dd7..9b2e508 100644 --- a/src/mcp/handlers-n8n-manager.ts +++ b/src/mcp/handlers-n8n-manager.ts @@ -2861,10 +2861,11 @@ export async function handleGetRows(args: unknown, context?: InstanceContext): P const { tableId, filter, sortBy, ...params } = getRowsSchema.parse(args); const queryParams: Record = { ...params }; if (filter) { - queryParams.filter = typeof filter === 'string' ? filter : JSON.stringify(filter); + const filterStr = typeof filter === 'string' ? filter : JSON.stringify(filter); + queryParams.filter = encodeURIComponent(filterStr); } if (sortBy) { - queryParams.sortBy = sortBy; + queryParams.sortBy = encodeURIComponent(sortBy); } const result = await client.getDataTableRows(tableId, queryParams as any); return { @@ -2930,7 +2931,7 @@ export async function handleDeleteRows(args: unknown, context?: InstanceContext) const client = ensureApiConfigured(context); const { tableId, filter, ...params } = deleteRowsSchema.parse(args); const queryParams = { - filter: JSON.stringify(filter), + filter: encodeURIComponent(JSON.stringify(filter)), ...params, }; const result = await client.deleteDataTableRows(tableId, queryParams as any);