getsentry / getsentry/sentry-react-native
Improve the Empower Plant demo
- Dominant language
- TypeScript
- Stars
- 1.8k
- Forks
- 366
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 89
Description
Improvements for the React Native sample app (Empower Plant demo):
- Remove the custom `UserFeedbackModal` (built-in `feedbackIntegration()` is already active in `App.tsx`)
- Add `hermesProfilingIntegration()` explicitly instead of relying on `profilesSampleRate` alone
- Call `Sentry.appLoaded()` / `reportFullyDisplayed()` to demo standalone app-start + manual TTFD
- Add a "Block JS Thread" button to demo ANR detection (currently on by default but never exercised)
- Configure `networkRequestHeaders` / `networkResponseHeaders` in the existing `mobileReplayIntegration()` init
- Add a rage-tap button (10 rapid taps) to trigger the `ui.multiClick` breadcrumb
- Demo top-level `Sentry.setAttribute` / `setAttributes` (available in v8.17+)
- General cleanup
Already implemented / no longer needed:
- SDK upgrade (currently at 8.19.0)
- `beforeSendTransaction` counterpart to existing `beforeSend`
- `httpClientIntegration()` for non-2xx capture
- `mobileReplayIntegration()` with `networkDetailAllowUrls` and `networkCaptureBodies`
Contributor guide
Research direction
Start with the React Native Empower Plant sample app and its App.tsx entry point, including the existing feedbackIntegration() and mobileReplayIntegration() setup. Trace the current profiling, app-start, ANR, replay, breadcrumb, and attribute demos before making the listed improvements. Done means each requested behavior is demonstrable and the obsolete custom feedback modal and other cleanup are removed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native, typescript
- Domain
- mobile
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100