Skip to content

feat: Expose crashed last run API #5852

@antonis

Description

@antonis

Problem Statement

Both native SDKs now provide APIs to check if the previous app session ended in a crash:

  • iOS (Cocoa SDK 9.8.0+): SentrySDK.lastRunStatus — returns unknown, no-crash, or crash
  • Android: Sentry.isCrashedLastRun() — returns a boolean

There is currently no way to access this information from the React Native (JavaScript) layer.

Use Cases

  • Show a recovery UI (e.g., "Sorry, the app crashed") after restarting from a crash
  • Disable experimental features that may have caused a crash
  • Send custom analytics or breadcrumbs about crash recovery
  • Implement progressive rollout logic that backs off after crashes

Proposed Solution

Expose a unified JS API, e.g.:

import * as Sentry from '@sentry/react-native';

const status = Sentry.lastRunStatus();
// Returns: 'unknown' | 'no-crash' | 'crash'

Implementation Notes

  • Bridge SentrySDK.lastRunStatus on iOS and Sentry.isCrashedLastRun() on Android through the native modules
  • Normalize the return value across platforms (iOS has 3 states, Android has a boolean — need to decide on a unified shape)
  • Should be callable after Sentry.init()

References

Metadata

Metadata

Assignees

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions