From 7f0fe77f1647f19e276895adbdeb8195a69839a7 Mon Sep 17 00:00:00 2001 From: sylenien Date: Mon, 5 Sep 2022 15:23:23 +0200 Subject: [PATCH] feat(tracker): fix error msg sending --- tracker/tracker/src/main/index.ts | 3 ++- tracker/tracker/src/main/modules/exception.ts | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/tracker/tracker/src/main/index.ts b/tracker/tracker/src/main/index.ts index 840334f54..723c92671 100644 --- a/tracker/tracker/src/main/index.ts +++ b/tracker/tracker/src/main/index.ts @@ -285,7 +285,8 @@ export default class API { return } if (e instanceof Error) { - this.app.send(getExceptionMessage(e, [], tags, metadata)) + const msg = getExceptionMessage(e, [], tags, metadata) + this.app.send(msg) } else if ( e instanceof ErrorEvent || ('PromiseRejectionEvent' in window && e instanceof PromiseRejectionEvent) diff --git a/tracker/tracker/src/main/modules/exception.ts b/tracker/tracker/src/main/modules/exception.ts index a1b9e08e8..d51ead446 100644 --- a/tracker/tracker/src/main/modules/exception.ts +++ b/tracker/tracker/src/main/modules/exception.ts @@ -37,7 +37,8 @@ export function getExceptionMessage( try { stack = ErrorStackParser.parse(error) } catch (e) {} - const method = metadata ? ExceptionWithMeta : JSException + const metaPresent = metadata || tags + const method = metaPresent ? ExceptionWithMeta : JSException return method( error.name, error.message, @@ -62,7 +63,15 @@ export function getExceptionMessageFromEvent( name = 'Error' message = e.message } - return JSException(name, message, JSON.stringify(getDefaultStack(e))) + const metaPresent = metadata || tags + const method = metaPresent ? ExceptionWithMeta : JSException + return method( + name, + message, + JSON.stringify(getDefaultStack(e)), + JSON.stringify(tags), + JSON.stringify(metadata), + ) } } else if ('PromiseRejectionEvent' in context && e instanceof context.PromiseRejectionEvent) { if (e.reason instanceof Error) { @@ -74,7 +83,8 @@ export function getExceptionMessageFromEvent( } catch (_) { message = String(e.reason) } - const method = metadata ? ExceptionWithMeta : JSException + const metaPresent = metadata || tags + const method = metaPresent ? ExceptionWithMeta : JSException return method( 'Unhandled Promise Rejection', message,