feat: Expose crashed last run API

Aperta
#5,852 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
android, ios, react-native, typescript
Ambito
api, mobile

Direzione di ricerca

Inizia individuando i moduli nativi di React Native e il percorso di inizializzazione utilizzato dopo Sentry.init(), quindi confronta le integrazioni iOS lastRunStatus e Android isCrashedLastRun descritte nell’issue. Il lavoro è completato quando un’API JavaScript invocabile espone un risultato documentato e coerente su entrambe le piattaforme.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Errors Feature React-Native

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

Lingua principale
TypeScript
Stelle
1.8k
Fork
367
Merge medio
1g 6h
PR unite (30g)
94

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di getsentry/sentry-react-native

Tutte le issue di getsentry/sentry-react-native

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.