getsentry / sentry

Developer-first error tracking and performance monitoring
https://sentry.io
Other
37.1k stars 3.99k forks source link

[Epic] Mobile Replay: Public Beta Release #70065

Open bruno-garcia opened 2 weeks ago

bruno-garcia commented 2 weeks ago

We recently kicked off our private alpha and reached out to customers (self-serve only so far) from our wait list:

This Epic tracks progress to our next goal: Open Beta. For folks that filled out the wait list, we'll reach out to all of your when Open Beta starts.

### Backend
- [ ] Undo killswitch: 9c99a10/src/sentry/conf/server.py#L1981-L1983
### UI: Mobile Replay
- [ ] https://github.com/getsentry/sentry/issues/68496
- [ ] https://github.com/getsentry/sentry/issues/67697
- [ ] https://github.com/getsentry/sentry/issues/69226
- [ ] https://github.com/getsentry/sentry/issues/69253
- [ ] https://github.com/getsentry/sentry/issues/69412
- [ ] https://github.com/getsentry/sentry/issues/69413
- [ ] https://github.com/getsentry/sentry/issues/69817
- [ ] https://github.com/getsentry/sentry/issues/69249
- [ ] https://github.com/getsentry/sentry/issues/67842
- [ ] https://github.com/getsentry/sentry/issues/68109
- [ ] https://github.com/getsentry/sentry/issues/70058
- [ ] https://github.com/getsentry/sentry/issues/70588
- [ ] https://github.com/getsentry/sentry/issues/70687
### SDKs
- [ ] https://github.com/getsentry/sentry/issues/63248
- [ ] Try to encode screenshots directly instead of persisting them to disk
- [ ] https://github.com/getsentry/sentry/issues/68287
- [ ] Remove reliance on tags for replayId in events. Context should be used instead
- [ ] Clock drift fix: use UTC, or single time clock read, or stopwatch
- [ ] Flutter: figure out dynamic frame rate: @vaind
- [ ] https://github.com/getsentry/sentry/issues/70446
### SDK Android
- [ ] Support Jetpack Compose components masking
- [ ] Use different OSS apps to test, e.g. duckduckgo, nowinandroid, pocketcasts + RN apps (expensify)
- [ ] Provide a way to redact certain views via `view.setTag("sentry-block|sentry-mask")`
- [ ] Adjust rectangle overlays height to the actual text size (we only cared about width so far, but height would also nice)
- [ ] Add touches/gestures https://github.com/getsentry/sentry-java/pull/3390
- [ ] Send screen name as navigation to drive the "URL" above the video
- [ ] Replays have platform=javascript (seem to be written that way)
### SDK iOS
- [ ] Provide a way to redact specific views via UIView extension
- [ ] Add breadcrumbs
- [ ] Add touches as breadcrumbs
- [ ] Use different OSS apps to test, e.g. duckduckgo, nowinandroid, pocketcasts + RN apps (expensify)
- [ ] Send screen name as navigation to drive the "URL" above the video
- [ ] Handle orientation changes (send rrweb event/breadcrumb and change video size)
- [ ] Handle offline recording (do not capture segments while offline, but keep recording and capture longer ones when back online)
- [ ] Set `replayId` to link replay and errors
### SDK React Native
- [ ] RN+iOS: Improve dev build experience: Swizzling to tell apart images from bundle
### Documentation
- [ ] 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

This epic is part of:

getsantry[bot] commented 2 weeks ago

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