Service change
Traceway React Native SDK
First release of the Traceway React Native SDK: error tracking for React Native and Expo apps. The wire format is identical to the browser, Android, and Flutter SDKs, so the same Traceway backend ingests reports from every Traceway client.
Features
- Automatic capture of every uncaught throw via React Native's
ErrorUtilsglobal handler. RN's red-box dev overlay still appears, the previous handler is preserved - Unhandled promise rejections caught through the same handler
- Render-time errors caught via
<TracewayErrorBoundary> - Full Hermes / JavaScriptCore stack traces, normalized to the same wire format the other SDKs emit
- The last ~10 seconds of
console.{debug,log,info,warn,error}attached to every report fetchandXMLHttpRequestwrapped at install time: method, URL, status, duration, byte counts. Calls to the Traceway endpoint itself are skipped to avoid recursion- Auto-collected device attributes (
os.name,os.version, screen resolution / density, locale, runtime engine) attached to every report - Custom breadcrumbs via
recordAction(...)and per-app globals viasetDeviceAttributes(...) - React surface:
<TracewayProvider>,<TracewayErrorBoundary>,useTraceway()hook - Pure JavaScript: no native modules, no
pod install, no Gradle changes. Works in Expo Go, in bare React Native CLI projects, and in EAS builds - Gzip-compressed transport via
fflate(Hermes / JSC have noCompressionStream) - Published as
@tracewayapp/react-nativeon npm, RN ≥ 0.72, React ≥ 18
Limitations
- No screen recording. Unlike the browser SDK, this package does not record the screen. The
rrwebrecorder is intentionally absent, so nothing in the bundle reaches into a DOM that doesn't exist. - Navigation needs manual wiring. React Native has no
window.historyto auto-instrument and no equivalent to Android's Activity lifecycle callbacks. WirerecordNavigation(from, to)into your navigation library. The docs include areact-navigationand an Expo Router example. - Richer device info needs an extra package. The auto-collected attributes use only RN core APIs (
Platform,Dimensions,PixelRatio,Intl). To adddevice.model,device.manufacturer, etc., installexpo-deviceorreact-native-device-infoyourself and pass the extras viasetDeviceAttributes(...).
For browser apps, use @tracewayapp/frontend, which has the same wire format, plus rrweb session replay. For native apps without React Native, use the Flutter SDK (with screen recording on iOS / Android / macOS) or the Android SDK.
Backend and SDK arrivalsMIT · Cloud parity