Skip to content

[Enhancement] Adopt Sentry release tracking and source maps for readable production stack traces #1030

Description

@RUKAYAT-CODER

Overview

@sentry/react-native is a dependency and sentryContextService is used throughout the API layer, but there is no evidence of source-map upload in eas.json or any workflow, and the release version reported by logger.ts is the hardcoded '1.0.0' fallback. Production stack traces from a minified, ProGuard-processed release (enableMinifyInReleaseBuilds: true is set in app.json) will be unreadable, and every event will be attributed to the same phantom release — which makes regression detection impossible.

Specifications

Features:

  • Source maps uploaded to Sentry on every production build
  • ProGuard mapping files uploaded for Android
  • Releases tagged with the real version and build number

Tasks:

  • Configure the Sentry Expo plugin for source-map upload in app.json / eas.json
  • Upload the ProGuard mapping produced by plugins/withProguard.js and proguard-rules.pro
  • Set the Sentry release from expo-constants rather than the logger fallback
  • Verify a deliberately thrown production error symbolicates correctly

Impacted Files:

  • eas.json
  • app.json
  • src/services/crashReporting.ts
  • src/services/sentryContext.ts
  • plugins/withProguard.js

Acceptance Criteria

  • A production crash shows readable file and line information
  • Events are attributed to the correct release
  • Android traces are de-obfuscated

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions