What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
To get accurate Sentry stack traces after a React Native over-the-air (OTA) update, upload the source map generated for that exact update and make sure Sentry can associate it with the identity reported by the running app. A map from a neighboring build or update can point to the wrong code.
What “one identity” means
A source map is specific to the JavaScript bundle it maps. React Native warns that even small code changes can create large differences in stack-trace offsets, so a map from a similar build is not a safe substitute for the map from the code that ran. See React Native’s version 0.75 release-build debugging guide.
As an Amazon Associate I earn from qualifying purchases.
| Artifact or context | What must line up |
|---|---|
| Running bundle | The bundle and its map must come from the same build or OTA publication. |
| Sentry event | Its release or other supported update context must identify the deployed code consistently with the uploaded map. |
| Native runtime | The installed app’s React Native and Hermes runtime must be compatible with the OTA bundle it loads. |
Sentry describes a release as a version identifier, which may be a version number, commit hash, or another version string; that does not establish one naming scheme for every React Native SDK and OTA provider. Keep the upload-side release and runtime event context aligned using the identity your app actually reports. See Sentry’s release API documentation.
Upload source maps for an Expo EAS Update
Expo documents an end-to-end flow for EAS Update: publish the update, then upload the generated dist output to Sentry. Its Sentry guide was last updated June 29, 2026.
#1 Best Overall
- Publish the update. Run
eas updateusing the project’s normal release process. Expo says this produces update output underdist. - Upload that publication’s maps. Run
npx sentry-expo-upload-sourcemaps distagainst thedistdirectory generated for that update. Do not point the upload step at output left behind by another build. - Keep the steps together in CI. Chain publication and upload so the upload consumes the output from the same job and fails visibly if it cannot complete. Expo documents this publication-and-upload sequence in Using Sentry.
- Attach update context to events. Expo’s guide shows adding update metadata to the Sentry scope. Use the available metadata to make the event’s update identity traceable; confirm that it agrees with the release identity used for the map upload.
- Verify the result on a release-like build. Trigger a known exception from a device running the update, then confirm Sentry resolves it to the expected file and line.
This command is specific to Expo’s documented flow. It is not a universal upload recipe for other OTA providers.
Confirm that each platform build emits the needed maps
Map generation depends on the project’s React Native version and build configuration. The version 0.75 release-debugging guide says Android maps are enabled by default when using the specified Hermes flags; for iOS, it says maps are disabled by default and demonstrates setting SOURCEMAP_FILE in the Xcode bundle phase. Treat those as versioned instructions, not assumptions about every current project. Inspect the output produced by your own build.
Rank #2
React Native’s Gradle Plugin documentation, last updated August 12, 2026, lists the default hermesFlags as ['-O', '-output-source-map'] and describes non-debuggable variant tasks invoking the bundler, hermesc, and compose-source-map. Check the documentation for your installed version and verify the actual artifacts for both platforms. See React Native Gradle Plugin and the version 0.75 debugging guide.
Free tools Windows power users keep installed
One-click scans. No signup required.
Keep Hermes bytecode compatible with the installed app
An OTA update does not replace the native runtime already installed on a device. Expo says eas update and npx expo export generate Hermes bytecode bundles and source maps, and warns that bytecode format can change between Hermes versions. Its Hermes guidance recommends updating runtimeVersion when React Native changes so older binaries do not load incompatible updates. Apply the runtime policy appropriate to the project rather than assuming every installed binary has the latest Hermes. See Expo’s Hermes guide.
Rank #3
React Native 0.84, announced February 11, 2026, made Hermes V1 the default on iOS and Android. That describes the default for that release; it does not tell you which runtime is inside a binary already in the field. Check the versions used to build the installed app and the update it is eligible to receive. See React Native 0.84: Hermes V1 by Default.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Apply the same identity rule with a custom OTA provider
For a non-Expo system, the safe principle is the same, but exact Sentry setup depends on the OTA provider and SDK version. Do not copy Expo’s dist command as if it applied to every provider.
Quick Recap
Rank #4
- Produce and retain the source map alongside the exact bundle or update artifact that will be deployed.
- Use a stable provider update identifier in the app’s Sentry event context where the SDK supports it.
- Use a matching identity when creating the Sentry release and uploading the map; validate the mapping for the app’s SDK and provider rather than assuming a universal naming convention.
- Make publication and map upload consume the same immutable output, and surface upload failure in the release pipeline.
- Record the native build family and runtime compatibility boundary so you can identify which installed binaries can run that update.
Diagnose unresolved or incorrect stack traces
- Frames remain minified or unresolved: check that the relevant platform emitted a map and that the upload step completed for the deployed update.
- Frames resolve to the wrong file or line: verify that the map came from the exact bundle running on the device, then compare the Sentry event identity with the release identity used for the upload. A nearby build’s map can have materially different offsets.
- An update fails on some installed binaries: inspect React Native and Hermes compatibility for those binaries and the update’s runtime boundary; source-map upload cannot make incompatible bytecode loadable.
- CI uploads an unexpected map: ensure the job uses only the output from the publication it just created, rather than a reused workspace’s stale
distdirectory.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minute




