From e1e2219cd79728b22e4d1102f022b3bf9660d263 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=A4=95=E0=A4=BE=E0=A4=B0=E0=A4=A4=E0=A5=8B=E0=A4=AB?= =?UTF-8?q?=E0=A5=8D=E0=A4=AB=E0=A5=87=E0=A4=B2=E0=A4=B8=E0=A5=8D=E0=A4=95?= =?UTF-8?q?=E0=A5=8D=E0=A4=B0=E0=A4=BF=E0=A4=AA=E0=A5=8D=E0=A4=9F=E2=84=A2?= Date: Fri, 12 May 2023 11:17:59 +0200 Subject: [PATCH] send only unique errors to sentry --- packages/cli/src/ErrorReporting.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/cli/src/ErrorReporting.ts b/packages/cli/src/ErrorReporting.ts index 50534338d3ec8a..ab4003808092b8 100644 --- a/packages/cli/src/ErrorReporting.ts +++ b/packages/cli/src/ErrorReporting.ts @@ -1,3 +1,4 @@ +import { createHash } from 'crypto'; import config from '@/config'; import { ErrorReporterProxy, NodeError } from 'n8n-workflow'; @@ -32,9 +33,14 @@ export const initErrorHandling = async () => { }, }); + const seenErrors = new Set(); addGlobalEventProcessor((event, { originalException }) => { if (originalException instanceof NodeError && originalException.severity === 'warning') return null; + if (!event.exception) return null; + const eventHash = createHash('sha1').update(JSON.stringify(event.exception)).digest('base64'); + if (seenErrors.has(eventHash)) return null; + seenErrors.add(eventHash); return event; });