From 520a9d4940f450bb2bfb30d7878041dc86a2cf79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Ovejero?= Date: Thu, 23 Oct 2025 13:30:52 +0200 Subject: [PATCH] fix(core): Handle rejected promises from Rudderstack SDK (#21083) --- packages/cli/src/telemetry/__tests__/telemetry.test.ts | 10 +++++++++- packages/cli/src/telemetry/index.ts | 6 +++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/telemetry/__tests__/telemetry.test.ts b/packages/cli/src/telemetry/__tests__/telemetry.test.ts index afc97740e1f..6252a0c237d 100644 --- a/packages/cli/src/telemetry/__tests__/telemetry.test.ts +++ b/packages/cli/src/telemetry/__tests__/telemetry.test.ts @@ -47,7 +47,15 @@ describe('Telemetry', () => { const postHog = new PostHogClient(instanceSettings, mock()); await postHog.init(); - telemetry = new Telemetry(mock(), postHog, mock(), instanceSettings, mock(), globalConfig); + telemetry = new Telemetry( + mock(), + postHog, + mock(), + instanceSettings, + mock(), + globalConfig, + mock(), + ); // @ts-expect-error Assigning to private property telemetry.rudderStack = mockRudderStack; }); diff --git a/packages/cli/src/telemetry/index.ts b/packages/cli/src/telemetry/index.ts index e6c43ab319c..8c687943656 100644 --- a/packages/cli/src/telemetry/index.ts +++ b/packages/cli/src/telemetry/index.ts @@ -10,7 +10,7 @@ import { OnShutdown } from '@n8n/decorators'; import { Container, Service } from '@n8n/di'; import type RudderStack from '@rudderstack/rudder-sdk-node'; import axios from 'axios'; -import { InstanceSettings } from 'n8n-core'; +import { ErrorReporter, InstanceSettings } from 'n8n-core'; import type { ITelemetryTrackProperties } from 'n8n-workflow'; import { LOWEST_SHUTDOWN_PRIORITY, N8N_VERSION } from '@/constants'; @@ -60,6 +60,7 @@ export class Telemetry { private readonly instanceSettings: InstanceSettings, private readonly workflowRepository: WorkflowRepository, private readonly globalConfig: GlobalConfig, + private readonly errorReporter: ErrorReporter, ) {} async init() { @@ -85,6 +86,9 @@ export class Telemetry { logLevel, dataPlaneUrl, gzip: false, + errorHandler: (error) => { + this.errorReporter.error(error); + }, }); this.startPulse();