Skip to content

Commit ad4c1eb

Browse files
Turbo87kamilogorek
authored andcommitted
fix: [browser/LinkedErrors]: Fix exception order (#1698)
see https://docs.sentry.io/clientdev/interfaces/exception/
1 parent 7e4f25e commit ad4c1eb

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

packages/browser/src/integrations/linkederrors.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ export class LinkedErrors implements Integration {
6464
return event;
6565
}
6666
const linkedErrors = this.walkErrorTree(hint.originalException, this.key);
67-
event.exception.values = [...event.exception.values, ...linkedErrors];
67+
event.exception.values = [...linkedErrors, ...event.exception.values];
6868
return event;
6969
}
7070

@@ -77,6 +77,6 @@ export class LinkedErrors implements Integration {
7777
}
7878
const stacktrace = computeStackTrace(error[key]);
7979
const exception = exceptionFromStacktrace(stacktrace);
80-
return this.walkErrorTree(error[key], key, [...stack, exception]);
80+
return this.walkErrorTree(error[key], key, [exception, ...stack]);
8181
}
8282
}

packages/browser/test/integrations/linkederrors.test.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,14 @@ describe('LinkedErrors', () => {
7171

7272
// It shouldn't include root exception, as it's already processed in the event by the main error handler
7373
expect(result!.exception!.values!.length).equal(3);
74-
expect(result!.exception!.values![0].type).equal('Error');
75-
expect(result!.exception!.values![0].value).equal('one');
74+
expect(result!.exception!.values![0].type).equal('SyntaxError');
75+
expect(result!.exception!.values![0].value).equal('three');
7676
expect(result!.exception!.values![0].stacktrace).to.have.property('frames');
7777
expect(result!.exception!.values![1].type).equal('TypeError');
7878
expect(result!.exception!.values![1].value).equal('two');
7979
expect(result!.exception!.values![1].stacktrace).to.have.property('frames');
80-
expect(result!.exception!.values![2].type).equal('SyntaxError');
81-
expect(result!.exception!.values![2].value).equal('three');
80+
expect(result!.exception!.values![2].type).equal('Error');
81+
expect(result!.exception!.values![2].value).equal('one');
8282
expect(result!.exception!.values![2].stacktrace).to.have.property('frames');
8383
});
8484

@@ -104,14 +104,14 @@ describe('LinkedErrors', () => {
104104

105105
// It shouldn't include root exception, as it's already processed in the event by the main error handler
106106
expect(result!.exception!.values!.length).equal(3);
107-
expect(result!.exception!.values![0].type).equal('Error');
108-
expect(result!.exception!.values![0].value).equal('one');
107+
expect(result!.exception!.values![0].type).equal('SyntaxError');
108+
expect(result!.exception!.values![0].value).equal('three');
109109
expect(result!.exception!.values![0].stacktrace).to.have.property('frames');
110110
expect(result!.exception!.values![1].type).equal('TypeError');
111111
expect(result!.exception!.values![1].value).equal('two');
112112
expect(result!.exception!.values![1].stacktrace).to.have.property('frames');
113-
expect(result!.exception!.values![2].type).equal('SyntaxError');
114-
expect(result!.exception!.values![2].value).equal('three');
113+
expect(result!.exception!.values![2].type).equal('Error');
114+
expect(result!.exception!.values![2].value).equal('one');
115115
expect(result!.exception!.values![2].stacktrace).to.have.property('frames');
116116
});
117117

0 commit comments

Comments
 (0)