From 365ab8a1c085cf52a6620c0b8438eac44967f70f Mon Sep 17 00:00:00 2001 From: Burak Yigit Kaya Date: Mon, 2 Sep 2024 20:18:34 +0300 Subject: [PATCH] fix: Stacktraces not reversing when error has full context (#513) Fixes #489. --- .changeset/stale-jobs-give.md | 5 +++++ .../src/integrations/sentry/data/sentryDataCache.ts | 9 ++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 .changeset/stale-jobs-give.md diff --git a/.changeset/stale-jobs-give.md b/.changeset/stale-jobs-give.md new file mode 100644 index 00000000..fa4b218c --- /dev/null +++ b/.changeset/stale-jobs-give.md @@ -0,0 +1,5 @@ +--- +'@spotlightjs/overlay': patch +--- + +Fix stacktraces are not reversed sometimes (appearing in wrong order) diff --git a/packages/overlay/src/integrations/sentry/data/sentryDataCache.ts b/packages/overlay/src/integrations/sentry/data/sentryDataCache.ts index 11ccf5ad..f2f7d42a 100644 --- a/packages/overlay/src/integrations/sentry/data/sentryDataCache.ts +++ b/packages/overlay/src/integrations/sentry/data/sentryDataCache.ts @@ -286,14 +286,17 @@ class SentryDataCache { return Promise.all( (errorEvent.exception.values ?? []).map(async exception => { + if (!exception.stacktrace) { + return; + } + exception.stacktrace.frames.reverse(); + if ( - !exception.stacktrace || exception.stacktrace.frames?.every(frame => frame.post_context && frame.pre_context && frame.context_line) ) { - log('Skipping contextlines request for', exception); + log('Skipping contextlines request as we have full context for', exception); return; } - exception.stacktrace.frames.reverse(); try { const makeFetch = getNativeFetchImplementation();