You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Based on given replays visible in Sentry product I could pinpoint the partial frames without masking to screenshots taken during transitions, e.g. during a push-navigation of a detail view controller.
By enabling the "Slow Animations" in the debug menu of the iPhone simulator, and increasing the frame-rate of Session Replay from 1 FPS to 10 FPS, I am able to reliably reproduce the issue.
The currently released SDK does not allow configuration of the FPS, and while analyzing the issue at hand, I also had to fix the SDK to support higher frame-rates due to calculation and timing errors. I'll create a separate PR for that.
My current assumption is that during the transitions the view hierarchy is replaced by a snapshot view, which uses the same visual representation, but does not use an actual view hierarchy we can use to calculate redaction areas. Please see the discussion of UIView.snapshotView(afterScreenUpdates:) for details on snapshot views. This assumption is not yet proven, but the current main lead.
Analyze potential inverse approach in masking to convert from the opt-out to an opt-in approach (i.e. instead of masking areas of the clear screenshot which are sensitive, cut out areas that are safe to show)
Create separate PR with fixes for higher frame rates
The text was updated successfully, but these errors were encountered:
Uh oh!
There was an error while loading. Please reload this page.
Written by @philprime:
Current state of investigation:
Based on given replays visible in Sentry product I could pinpoint the partial frames without masking to screenshots taken during transitions, e.g. during a push-navigation of a detail view controller.
By enabling the "Slow Animations" in the debug menu of the iPhone simulator, and increasing the frame-rate of Session Replay from 1 FPS to 10 FPS, I am able to reliably reproduce the issue.
The currently released SDK does not allow configuration of the FPS, and while analyzing the issue at hand, I also had to fix the SDK to support higher frame-rates due to calculation and timing errors. I'll create a separate PR for that.
My current assumption is that during the transitions the view hierarchy is replaced by a snapshot view, which uses the same visual representation, but does not use an actual view hierarchy we can use to calculate redaction areas. Please see the discussion of UIView.snapshotView(afterScreenUpdates:) for details on snapshot views. This assumption is not yet proven, but the current main lead.
I pushed all the work-in-progress changes to philprime/sr-masking-analysis and for easier viewing opened up #5073
Next steps:
The text was updated successfully, but these errors were encountered: