Crash Reporting with GlitchTip
How PhenomApp crash and error reporting works: @sentry/react-native in JS-only mode shipping events to GlitchTip.
Categories:
Crash Reporting with GlitchTip
Status: LIVE since 2026-06-04 (PhenomApp PR #92). This was previously listed on the roadmap as future work; it is now in production.
Architecture
- SDK:
@sentry/react-native~7.2.0 (the Expo SDK 54 compatible pin). GlitchTip speaks the Sentry protocol, so the standard SDK is used unchanged. - Mode: JS-only. The SDK runs with
enableNative: false. The native layer caused a launch crash in build 31, so native crash capture is deliberately disabled. JavaScript errors, unhandled promise rejections, and explicitly captured messages are reported; pure native crashes are not. - DSN: configured in
app/config/config.prod.ts(SENTRY_DSN). It is a public client key and safe to ship in the binary. - Wiring:
app/utils/crashReporting.tsinitialises the SDK fromConfig.SENTRY_DSN.
What gets reported
- JS exceptions and unhandled rejections
- Camera record errors (explicit capture added in build 36; see Camera Recording Fix)
- Android telemetry fallback events: when sensor telemetry is unavailable on Android, the app degrades gracefully and logs the condition to GlitchTip rather than crashing
Build-time settings
All iOS EAS profiles set SENTRY_DISABLE_AUTO_UPLOAD and SENTRY_ALLOW_FAILURE so source-map upload never fails a build. Source maps are currently not uploaded; stack traces are symbolicated locally when needed.
Known limitations
enableNative: falsemeans native-only crashes (Swift/Kotlin layer) do not reach GlitchTip. The iOS launch-crash class of bugs must still be caught by device testing; see iOS Launch Crash Fixes.- Source maps are not uploaded, so release-build JS stack traces are minified in the GlitchTip UI.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.