getsentry / getsentry/sentry

[Mobile Replay] Skip segments when no UI changes happened

Open
#76,850 4 comments 0 reactions 0 assignees View on GitHub
Feature
Dominant language
Python
Stars
44.8k
Forks
4.9k
Avg merge
22h 21m
Merged PRs (30d)
586

Description

Once we GA mobile replay:

* [https://github.com/getsentry/sentry/issues/74441]()

In the event there were no changes in the UI, we skip taking a screenshot and reuse the last one. But we're still making video segments and sending them over the network.
The player expect these segments in order to play properly.

An improvement in recording and playback performance is to skip screenshots and making segments altogether. But extend the wire protocol to instruct the player how to continue the playback.

On Android, we know when there were no changes in the UI that triggered a re-render.
On iOS, we might be able to use swizzling on `viewNeedsLayout` and `viewNeedsDisplay` to set a flag if we need to take the screenshot.

This would affect native iOS/Android as well as any cross platform implementation on top such as React Native, Flutter.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.