Skip to content

[Epic] Mobile Replay: GA #74441

Closed
Closed

Description

@bruno-garcia

We recently made an open beta release:

This epic tracks tasks on our path to GA:

### UI: Mobile Replay
- [ ] https://github.com/getsentry/sentry/issues/74747
- [ ] https://github.com/getsentry/sentry/issues/74751
- [ ] https://github.com/getsentry/sentry/issues/75330
- [ ] https://github.com/getsentry/team-replay/issues/465
- [ ] https://github.com/getsentry/sentry/issues/75635
- [ ] https://github.com/getsentry/sentry/issues/71665
- [ ] https://github.com/getsentry/sentry/issues/74324
- [ ] https://github.com/getsentry/team-replay/issues/466
- [ ] https://github.com/getsentry/sentry/issues/77646
- [ ] Merge rrweb changes upstream
- [ ] https://github.com/getsentry/sentry/issues/77650
- [ ] https://github.com/getsentry/sentry/issues/82255
- [ ] https://github.com/getsentry/sentry/issues/82651
- [ ] https://github.com/getsentry/sentry/issues/82795
- [ ] https://github.com/getsentry/sentry/issues/82771
### SDKs
- [x] rename `errorSampleRate` to `onErrorSampleRate`
- [x] Recording quality default should be `medium` and quality align between iOS and Android
- [ ] https://github.com/getsentry/sentry/issues/68287
- [x] Handle Rate Limiting - Stop replay. Don't run sessionSampleRate or trigger onError if an error happens, until Retry-After reached
- [ ] Send sample rates in replay payload. `sdk.onErrorSampleRate` and `sdk.sessionSampleRate`. Note, other relevant options, and how it's done in Web: https://github.com/getsentry/sentry-javascript/blob/9ed211288650d3d4740edba5ed1f609bb75b2480/packages/replay-internal/src/util/handleRecordingEmit.ts#L114-L137 Also log the recording quality, and other useful data for debuggin replays
- [x] Remove the `.experimental` from options
- [ ] Clock drift fix: use UTC, or single time clock read, or stopwatch
- [ ] https://github.com/getsentry/sentry/issues/70446
- [ ] https://github.com/getsentry/sentry/issues/63248
- [x] Attach custom tags to replay events and have them indexed to be searchable on the Replay landing page
- [ ] https://github.com/getsentry/sentry/issues/78018
- [ ] https://github.com/getsentry/sentry/issues/82774
### SDK Android
- [ ] https://github.com/getsentry/sentry-java/issues/3616
- [x] replay for ANR on buffer mode
- [x] Persist correct replayType https://github.com/getsentry/sentry-java/pull/3622
- [x] Capture replay on uncaught exceptions in RN layer
- [x] Provide a way to redact certain views via `view.setTag("sentry-block|sentry-mask")` https://github.com/getsentry/sentry-java/pull/3689
- [x] Support Jetpack Compose components masking https://github.com/getsentry/sentry-java/pull/3739
- [ ] https://github.com/getsentry/sentry-java/issues/3560
- [ ] https://github.com/getsentry/sentry-java/issues/3574
- [ ] https://github.com/getsentry/sentry-java/issues/3693
- [x] Use different OSS apps to test, e.g. duckduckgo, nowinandroid, pocketcasts + RN apps (expensify)
### SDK iOS
- [ ] https://github.com/getsentry/sentry-cocoa/issues/4155
- [ ] https://github.com/getsentry/sentry-cocoa/issues/4213
- [x] Capture replay on native crash
- [x] Handle orientation changes (send rrweb event/breadcrumb and change video size)
- [x] Capture replay on uncaught exceptions in RN layer
- [x] Replay segments have ~2 second gaps
- [x] Handle offline recording (do not capture segments while offline, but keep recording and capture longer ones when back online)
- [x] Resumed replay is missing app foreground bredcrumbs (replay starts after the bredcrumbs)
- [x] Change default quality to `medium`: https://github.com/getsentry/sentry-cocoa/blob/f4a69250ea6fe13b7c0db64fd27f207349923604/Sources/Swift/Integrations/SessionReplay/SentryReplayOptions.swift#L68
- [x] Provide a way to redact specific views via UIView extension - Docs
- [ ] https://github.com/getsentry/sentry-docs/issues/11374
- [ ] https://github.com/getsentry/sentry-cocoa/issues/4142
- [ ] https://github.com/getsentry/team-replay/issues/467
- [ ] Redact only text within element (instead of redacting the whole element)
- [ ] Use different OSS apps to test, e.g. duckduckgo, nowinandroid, pocketcasts + RN apps (expensify)
### SDK React Native
- [x] Mask all SVG on mobile (react-native-svg) https://github.com/getsentry/sentry-react-native/pull/3930
- [x] Bump native SDKs to version supporting reading `urls` from scope (not released yet)
- [x] Check react-native-webview (webview done on iOS, in app browser need check) https://github.com/getsentry/sentry-react-native/pull/4215
- [ ] https://github.com/getsentry/sentry-react-native/pull/4224
- [ ] https://github.com/getsentry/sentry-react-native/pull/4265
- [ ] https://github.com/getsentry/sentry-cocoa/pull/4522
- [ ] https://github.com/getsentry/sentry-java/pull/3881
- [ ] https://github.com/getsentry/sentry-react-native/issues/4106
- [ ] https://github.com/getsentry/sentry-docs/pull/11798
- [ ] https://github.com/getsentry/sentry-react-native/pull/4240
- [ ] Add quality setting low/medium/high (just a lightweight interface in RN)
- [ ] Verify images over network are recorded in the network panel (Ivan check, we will need to record network on native)
- [ ] JSX Structure of the touch target
- [ ] RN+iOS: Improve dev build experience: Swizzling to tell apart images from bundle
### Documentation and other areas
- [ ] Expand Data Privacy for Mobile with Replay specific information: https://docs.sentry.io/product/security/mobile-privacy/
- [ ] Include a guide for `Apple Privacy Questionnaire` to help users navigate app publishing: https://developer.apple.com/app-store/app-privacy-details/
- [ ] Include a guide for `Data safety form in Play Console`: https://support.google.com/googleplay/android-developer/answer/10787469?hl=en
- [ ] Document known limitations: Replay in offline mode, resizing, multi-window
- [x] Remove Jetpack Compose note on the FAQ: https://github.com/getsentry/sentry-docs/pull/11247
- [ ] https://github.com/getsentry/team-replay/issues/476

This epic is part of:

Activity

  1. getsantry commented on Jul 17, 2024

    @getsantry
    Contributor

    Routing to @getsentry/product-owners-replays for triage ⏲️

  2. bruno-garcia commented on Jan 6, 2025

    @bruno-garcia
    MemberAuthor

    Mobile Replay is GA!

  3. locked and limited conversation to collaborators on Jan 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions