From 820f56de983eb3872121af0d27783eb4d93482cf Mon Sep 17 00:00:00 2001 From: Luca Forstner Date: Fri, 8 Sep 2023 10:15:00 +0000 Subject: [PATCH 1/3] fix(core): Always use event message and exception values for `ignoreErrors` --- .../core/src/integrations/inboundfilters.ts | 37 ++++++++++++++----- .../lib/integrations/inboundfilters.test.ts | 23 ++++++++++++ 2 files changed, 50 insertions(+), 10 deletions(-) diff --git a/packages/core/src/integrations/inboundfilters.ts b/packages/core/src/integrations/inboundfilters.ts index abe7948f2547..c077ff2f7607 100644 --- a/packages/core/src/integrations/inboundfilters.ts +++ b/packages/core/src/integrations/inboundfilters.ts @@ -169,20 +169,37 @@ function _isAllowedUrl(event: Event, allowUrls?: Array): boolea } function _getPossibleEventMessages(event: Event): string[] { + const possibleMessages: string[] = []; + if (event.message) { - return [event.message]; + possibleMessages.push(event.message); } - if (event.exception) { - const { values } = event.exception; - try { - const { type = '', value = '' } = (values && values[values.length - 1]) || {}; - return [`${value}`, `${type}: ${value}`]; - } catch (oO) { - __DEBUG_BUILD__ && logger.error(`Cannot extract message for event ${getEventDescription(event)}`); - return []; + + let lastException; + try { + // @ts-ignore Try catching to save bundle size + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + lastException = event.exception.values[event.exception.values.length - 1]; + } catch (e) { + // try catching to save bundle size checking existence of variables + } + + if (lastException) { + if (lastException.value) { + possibleMessages.push(lastException.value); + if (lastException.type) { + possibleMessages.push(`${lastException.type}: ${lastException.value}`); + } } } - return []; + + if (__DEBUG_BUILD__ && possibleMessages.length) { + logger.error(`Could not extract message for event ${getEventDescription(event)}`); + } + + console.log(possibleMessages); + + return possibleMessages; } function _isSentryError(event: Event): boolean { diff --git a/packages/core/test/lib/integrations/inboundfilters.test.ts b/packages/core/test/lib/integrations/inboundfilters.test.ts index 88ab23f65909..9888a59eedff 100644 --- a/packages/core/test/lib/integrations/inboundfilters.test.ts +++ b/packages/core/test/lib/integrations/inboundfilters.test.ts @@ -125,6 +125,18 @@ const EXCEPTION_EVENT: Event = { }, }; +const EXCEPTION_EVENT_WITH_MESSAGE_AND_VALUE: Event = { + message: 'ChunkError', + exception: { + values: [ + { + type: 'SyntaxError', + value: 'unidentified ? at line 1337', + }, + ], + }, +}; + const EXCEPTION_EVENT_WITH_FRAMES: Event = { exception: { values: [ @@ -336,6 +348,17 @@ describe('InboundFilters', () => { }); expect(eventProcessor(EXCEPTION_EVENT, {})).toBe(null); }); + + it('should consider both `event.message` and the last exceptions `type` and `value`', () => { + const messageEventProcessor = createInboundFiltersEventProcessor({ + ignoreErrors: [/^ChunkError/], + }); + const valueEventProcessor = createInboundFiltersEventProcessor({ + ignoreErrors: [/^SyntaxError/], + }); + expect(messageEventProcessor(EXCEPTION_EVENT_WITH_MESSAGE_AND_VALUE, {})).toBe(null); + expect(valueEventProcessor(EXCEPTION_EVENT_WITH_MESSAGE_AND_VALUE, {})).toBe(null); + }); }); }); From 1811cd660e020e7191b6de09944970741baca260 Mon Sep 17 00:00:00 2001 From: Luca Forstner Date: Fri, 8 Sep 2023 10:20:09 +0000 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=92=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/core/src/integrations/inboundfilters.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/core/src/integrations/inboundfilters.ts b/packages/core/src/integrations/inboundfilters.ts index c077ff2f7607..67595a02db0e 100644 --- a/packages/core/src/integrations/inboundfilters.ts +++ b/packages/core/src/integrations/inboundfilters.ts @@ -197,8 +197,6 @@ function _getPossibleEventMessages(event: Event): string[] { logger.error(`Could not extract message for event ${getEventDescription(event)}`); } - console.log(possibleMessages); - return possibleMessages; } From 15db9ea98c8a6e4e659750bd0c4b74734cad2c73 Mon Sep 17 00:00:00 2001 From: Luca Forstner Date: Fri, 8 Sep 2023 10:34:15 +0000 Subject: [PATCH 3/3] check --- packages/core/src/integrations/inboundfilters.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/integrations/inboundfilters.ts b/packages/core/src/integrations/inboundfilters.ts index 67595a02db0e..da24883f2285 100644 --- a/packages/core/src/integrations/inboundfilters.ts +++ b/packages/core/src/integrations/inboundfilters.ts @@ -193,7 +193,7 @@ function _getPossibleEventMessages(event: Event): string[] { } } - if (__DEBUG_BUILD__ && possibleMessages.length) { + if (__DEBUG_BUILD__ && possibleMessages.length === 0) { logger.error(`Could not extract message for event ${getEventDescription(event)}`); }