Session Replay: Add PreviewView to default masked view classes#5097
Merged
romtsn merged 5 commits intogetsentry:mainfrom Feb 13, 2026
Merged
Conversation
fcdd4cb to
7f0346e
Compare
romtsn
approved these changes
Feb 13, 2026
Member
romtsn
left a comment
There was a problem hiding this comment.
@szijpeter amazing investigation and detailed report, thanks a bunch! approving right away and going to merge right after 👍
auto-merge was automatically disabled
February 13, 2026 09:36
Head branch was pushed to by a user without write access
Contributor
Author
thanks @romtsn, happy to help :) there was a small mistake, I've accidentally removed an empty line from the api file which made the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📜 Description
PreviewView is the view used to display the camera feed for CameraX's Preview use case. Adding it to Replay option defaults aligns with existing sensitive defaults (
TextView,ImageView,WebView,VideoView, player views) inSentryReplayOptions.It's a low-risk, sensible default imo.
💡 Motivation and Context
💚 How did you test it?
Reproduction path:
PreviewViewin COMPATIBLE mode👉🏼 https://github.com/szijpeter/sentry-java/tree/repro/4400
Why these two matter:
COMPATIBLEforces theTextureViewpath where camera pixels are composited into the normal view hierarchy and can show up in captures.PERFORMANCEtypically usesSurfaceView, which often gives black/non-captured camera content and can hide the bug (false negative). note that it might still fall back toTextureViewin certain cases.canvasis a different capture mode and masks broadly; it does not rely on the defaultsWorkarounds for older SDK versions
PreviewViewin app code viaaddMaskViewClasscanvas📝 Checklist
sendDefaultPIIis enabled.🔮 Next steps
adding screenshot tests? could be worth it, but I feel like maybe out of scope for this PR