Skip to content
React Native · Hermes · New Architecture

The Everframe React Native bug reporting SDK.

Native capture on mobile and TV; the React SDK on web.

npm i @everframe/react-native
React Native 0.84+react-native-tvos 0.85+ for TVReact 18 or 19

The native provider bridges to iOS and Android capture. On web, the package re-exports @everframe/react for the browser reporter, DOM screenshot, and replay. New Architecture and Hermes are supported on native hosts, including TV.

Three steps

1Install
npm i @everframe/react-native
cd ios && pod install
2Wrap your app above the navigator
import { EverframeProvider } from '@everframe/react-native';

// sdkKey is your SDK key.
export default function App() {
  return (
    <EverframeProvider config={{ sdkKey: 'evf_live_…' }}>
      <RootNavigator />
    </EverframeProvider>
  );
}
3Open it from your own button
import { useEverframe } from '@everframe/react-native';

function ReportBugButton() {
  const { open } = useEverframe();
  return <Button title="Report a bug" onPress={() => open()} />;
}

What it captures

Screenshot Native screen capture on iOS and Android; DOM screenshot on web mask private content with <EverframeSensitive> on every host
Session replay Native VTree timeline on iOS and Android; rrweb DOM replay on web no screen-recording permission
Console Browser console capture on web; opt-in JS console integration on native
Network Browser network metadata on web; no JS fetch / XHR instrumentation on native native HTTP below the bridge is the native SDKs' job
Screens Explicit screen markers on every host; browser URL transitions on web native navigators need the react-navigation integration or useEverframeScreen
Focused component Captured by the React SDK on web; unavailable in native reports
Crash reports Uncaught JS errors through ErrorUtils on both platforms, and JVM crashes on Android on by default; unhandled promise rejections are opt-in on qualified runtimes
Native crashes Native crashes, ANRs and low-memory kills on Android 11 and later, and native crashes on iOS and tvOS, sent on the next launch on by default
Render errors A component that throws while rendering, with no error boundary to catch it, arrives as a fatal JS crash with React's component stack
Device and app OS, model, screen, locale, timezone, app version

What you wire yourself

  • The trigger. No shake gesture, no floating bubble; your own button calls open().
  • Screen names. Add the react-navigation integration, or useEverframeScreen() for any other navigator.
  • Sensitive views. Wrap them in <EverframeSensitive>; native uses view tags and web uses the React DOM mask registry.
  • On TV, nothing. There is no on-device reporter; on Android TV a linked device files a quick capture with one remote gesture.

When to pick it

Any React Native app on iOS or Android, React Native TV apps on react-native-tvos, and React Native Web. Vega OS apps use the separate Vega OS SDK, a JavaScript-only preview. Native hosts capture the OS screen, and on Android the JVM crashes below the bridge. On web, the package re-exports @everframe/react and uses its DOM screenshot and rrweb replay.

The one thing that is not automatic

On native, screens need explicit markers: a React Native app is a single native screen for its whole lifetime, so the SDK cannot see navigation on its own. The included react-navigation integration records every transition; other navigators mark screens with useEverframeScreen(). Web uses the React SDK’s browser navigation capture.

On a television

There is no reporter to drive with the remote. Crashes and errors are reported on their own. On Android TV and Apple TV, a linked TV files a quick capture with one remote gesture. The tvOS and Android TV pages have the details.

Before you add it

SDK for mobile apps: what one is and what it costs you covers what any SDK adds to a binary in size and setup, and the deprecation risk that comes with it.

Questions

Does it support the New Architecture?

Yes. Fabric and Hermes on React Native 0.84 and later, including react-native-tvos 0.85 and later. The native bridge resolves view tags on both Paper and Fabric.

How does reporting work on a TV?

There is no reporter to drive with the remote. Crashes and errors are reported on their own. On Android TV and Apple TV, link a test TV under Project settings → Devices and a remote gesture (holding Play/Pause by default) files a quick capture with the screenshot, replay and logs.

Does it run on Amazon Vega OS?

Not this SDK. Vega OS apps build on React Native 0.72, older than the 0.84 this SDK needs, and without its native module, so installing it in a Vega OS app breaks the build. Vega OS apps use the separate Vega OS SDK, @everframe/vega, a preview that reports JavaScript errors only.

Are promise rejections reported?

Yes, if you opt in with crashReporting.promiseRejections.enabled. A rejection still unhandled 2 seconds later becomes a non-fatal report. Only qualified runtimes are observed: react-native-tvos 0.85.3-0 with Hermes in a Release build, on Android and iOS phones and tablets. Elsewhere, including TVs, getPromiseRejectionStatus() reports unsupported and rejections do not become reports.