Repository navigation
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 1834d47. Configure here.
| }); | ||
|
|
||
| expect(event.exception?.values).toHaveLength(1); | ||
| }); |
There was a problem hiding this comment.
Feat lacks integration coverage
Medium Severity
This feat only adds unit tests around applyAggregateErrorsToEvent with a fake SuppressedError. The testing conventions require at least one integration or E2E test for feat PRs. An end-to-end captureException case with a native SuppressedError, matching the existing AggregateError suites, is missing.
Triggered by project rule: PR Review Guidelines for Cursor Bot
Reviewed by Cursor Bugbot for commit 1834d47. Configure here.


SuppressedErroris what JS throws when a cleanup (using/Symbol.dispose) fails while another error is already in flight. It keeps both errors,error(the new one) andsuppressed(the original), and it has nocause. because of that, LinkedErrors never saw them. In Sentry I only got the generic wrapper message, "An error was suppressed during disposal".Take a look , how it looks today (node SDK):
This change makes
aggregateExceptionsFromErroralso followerrorandsuppressed, the same way it already followscauseanderrors[], both errors now show up as chained exceptions. If a SuppressedError has another SuppressedError inside, it goes down the chain too.And one thing I'm not sure about: I did not set
is_exception_groupon the wrapper. From #10850 i understand that flag makes sentry ignore that entry for grouping and titles, and that was a problem forcauseerrors. But the wrapper here has a meaningless message, so maybe it should be a group. (happy to change it if you prefer.)I added tests for both errors, nested SuppressedErrors, non-Error values, and an error that only has an
errorproperty (it must not be treated as a SuppressedError).Fixes #8441