getsentry / getsentry/sentry-react-native

Re-enable iOS stop() replay assertion in replayStopResume.yml once sentry-cocoa #9017 ships

Geschlossen
#6,721 1 Kommentar 0 Reaktionen 1 zugewiesene Person Beansprucht von @antonis Auf GitHub ansehen
iOS React-Native Session Replay Tests
Vorherrschende Sprache
TypeScript
Sterne
1.8k
Forks
366
Ø Merge
1 T. 6 Std.
Gemergte PRs (30 T.)
94

Beschreibung

## Description

The E2E Maestro flow `dev-packages/e2e-tests/maestro/replayStopResume.yml` verifies that after a manual `Sentry.getReplay().stop()`, a subsequently captured error carries **no** replay id. This assertion is currently **gated to Android only** because it fails on iOS.

On iOS, sentry-cocoa's `stop()` halts recording but does not clear `scope.replayId`, so an error captured after `stop()` still carries the stopped replay's id. Android/sentry-java resets it to `EMPTY_ID`, so the assertion passes there. The gate was added in commit `c9c0789d` ("test(e2e): Gate replay stop() assertion to Android").

`pause()`/`resume()` coverage already runs on both platforms — only the post-`stop()` "no replay" assertion is platform-gated.

## The fix upstream

getsentry/sentry-cocoa#9017 ("fix: clear replayId when Session Replay stops") clears `scope.replayId` in `stopCurrentReplay()`, which will make iOS behave like Android.

## Action, once #9017 is released and bumped in this SDK

1. Remove the `when: platform: Android` gate in `replayStopResume.yml` and run the `stop()` -> clear event id -> prime buffer -> capture exception -> `assertNoReplay` steps cross-platform.
2. Remove the explanatory comment block referencing the cocoa fix.
3. Confirm the iOS E2E run is green.

Blocked on: getsentry/sentry-cocoa#9017 and its subsequent release + bump in `SDK-VERSIONS.md`.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.