getsentry / getsentry/sentry-react-native
Implement exception groups (AggregateError)
- Dominant language
- TypeScript
- Stars
- 1.8k
- Forks
- 366
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 94
Description
### Description
React Native SDK currently supports linked exceptions using [`cause`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause) but doesn't support [AggregateError](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError).
```[tasklist]
### Blocked by
- [ ] https://github.com/getsentry/sentry/issues/59679#issuecomment-1920193704
```
### Related information
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError
- https://github.com/getsentry/rfcs/blob/main/text/0079-exception-groups.md#example-event
- https://github.com/getsentry/sentry-javascript/pull/8463
### Notes
- Implementing this might likely change grouping so it should be done in a major version.
### Works
```json
{
"message": "Third",
"cause": {
"message": "Second",
"cause": {
"message": "First",
}
}
}
```
### Not implemented at the moment
```json
{
"message": "Third",
"errors": [
{
"message": "First",
},
{
"message": "Second",
},
]
}
```
Contributor guide
Research direction
No implementation file, test, or entry point is named. Start by reading the linked exception-groups RFC, the AggregateError references, and the related sentry-javascript pull request, while checking the blocking Sentry issue. Done means React Native events represent AggregateError's errors array consistently with the documented example and grouping implications are addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native, typescript
- Domain
- mobile, observability
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100