Skip to content

Commit 4d2fdfe

Browse files
authored
feat: Better mechanism detection in TraceKit (#1614)
1 parent 6fbeff9 commit 4d2fdfe

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
- [core]: ref: Check for node-env first and return more accurate global object
77
- [core] ref: Remove Repo interface and repos attribute from Event
88
- [browser]: ref: Include md5 lib and transcript it to TypeScript
9+
- [browser]: feat: Better mechanism detection in TraceKit
910

1011
## 4.0.6
1112

packages/browser/src/integrations/globalhandlers.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,11 @@ export class GlobalHandlers implements Integration {
7777
exception: {
7878
...event.exception,
7979
mechanism: {
80+
data: {
81+
mode: stacktrace.mode,
82+
},
8083
handled: false,
81-
type: stacktrace.mode === 'onerror' ? 'onerror' : 'onunhandledrejection',
84+
type: stacktrace.mechanism,
8285
},
8386
},
8487
};

packages/browser/src/tracekit.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export interface StackTrace {
1717
* Known modes: callers, failed, multiline, onerror, stack, stacktrace
1818
*/
1919
mode: string;
20+
mechanism: string;
2021
name: string;
2122
message: string;
2223
url: string;
@@ -354,6 +355,7 @@ TraceKit.report = (function reportModuleWrapper() {
354355
processLastException();
355356
} else if (errorObj && isError(errorObj)) {
356357
stack = TraceKit.computeStackTrace(errorObj);
358+
stack.mechanism = 'onerror';
357359
notifyHandlers(stack, true, errorObj);
358360
} else {
359361
var location: any = {
@@ -378,6 +380,7 @@ TraceKit.report = (function reportModuleWrapper() {
378380
name: name,
379381
message: msg,
380382
mode: 'onerror',
383+
mechanism: 'onerror',
381384
stack: [
382385
{
383386
...location,
@@ -410,6 +413,7 @@ TraceKit.report = (function reportModuleWrapper() {
410413
function traceKitWindowOnUnhandledRejection(e: any) {
411414
var err = (e && (e.detail ? e.detail.reason : e.reason)) || e;
412415
var stack = TraceKit.computeStackTrace(err);
416+
stack.mechanism = 'onunhandledrejection';
413417
notifyHandlers(stack, true, err);
414418
}
415419

0 commit comments

Comments
 (0)