Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Mobile Replay] Skip segments when no UI changes happened #76850

Open
bruno-garcia opened this issue Sep 3, 2024 · 4 comments
Open

[Mobile Replay] Skip segments when no UI changes happened #76850

bruno-garcia opened this issue Sep 3, 2024 · 4 comments

Comments

@bruno-garcia
Copy link
Member

Once we GA mobile replay:

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.

@getsantry
Copy link
Contributor

getsantry bot commented Sep 3, 2024

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

@romtsn
Copy link
Member

romtsn commented Sep 5, 2024

I've tried this out locally, and I think it already mostly works on the player side, there's three potential things to fix:

  • Fix seek functionality
  • Indicate "live" replays. Since we're not sending a segment every 5s, it may look like the replay is finished/done
  • Breadcrumbs appear to be out-of-sync with the playback (maybe needs a fix on the SDK side as well)

@bruno-garcia
Copy link
Member Author

Indicate "live" replays. Since we're not sending a segment every 5s, it may look like the replay is finished/done

@jas-kas for thoughts? We should bring this to the team but I was always a fan of the idea of an indication in the UI even if "this session might still be happening". Like the wording having a sense of 'probably' as opposed to certainly. But having a way to tell the user that session is possibly not over yet.

@jas-kas
Copy link
Member

jas-kas commented Oct 18, 2024

@bruno-garcia I like this idea! It 100% applies to web replays too. Just depends on how accurate we can be with indicating something is 'live'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

3 participants