getsentry / getsentry/sentry-react-native
Re-enable iOS stop() replay assertion in replayStopResume.yml once sentry-cocoa #9017 ships
- Lingua principale
- TypeScript
- Stelle
- 1.8k
- Fork
- 366
- Merge medio
- 1g 5h
- PR unite (30g)
- 93
Descrizione
## 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`.
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.