Skip to content

fix(replay): Scope clipOut masking to active clip bounds#7780

Merged
denrase merged 3 commits intomainfrom
fix/replay-clipout-issue
Apr 8, 2026
Merged

fix(replay): Scope clipOut masking to active clip bounds#7780
denrase merged 3 commits intomainfrom
fix/replay-clipout-issue

Conversation

@denrase
Copy link
Copy Markdown
Collaborator

@denrase denrase commented Apr 7, 2026

📜 Description

Ensure clipOut regions are applied only within the current clipBegin/clipEnd scope, so holes don’t leak outside parent clipped areas.

sentry-layer-sequence

💡 Motivation and Context

Closes #5305

💚 How did you test it?

Added unit + regression tests.
Tested locally with RN app. Could re-produce the issue before, but not after. Here is the correct Replay

📝 Checklist

You have to check all boxes before merging:

  • I added tests to verify the changes.
  • No new PII added or SDK only sends newly added PII if sendDefaultPII is enabled.
  • I updated the docs if needed.
  • I updated the wizard if needed.
  • Review from the native team if needed.
  • No breaking change or entry added to the changelog.
  • No breaking change for hybrid SDKs or communicated to hybrid SDKs.

Ensure clipOut regions are applied only within the current clipBegin/clipEnd scope, so holes don’t leak outside parent clipped areas.
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 7, 2026

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

  • Implement strict trace continuation by antonis in #7705

Bug Fixes 🐛

  • (replay) Scope clipOut masking to active clip bounds by denrase in #7780

Internal Changes 🔧

Deps

  • Bump mikepenz/action-junit-report from 6.3.1 to 6.4.0 by dependabot in #7773
  • Bump ruby/setup-ruby from 1.298.0 to 1.299.0 by dependabot in #7772
  • Bump fastlane-plugin-sentry from 2.5.0 to 2.5.1 by dependabot in #7771

🤖 This preview updates automatically when you update the PR.

@denrase denrase marked this pull request as ready for review April 7, 2026 14:41
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 7, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.476%. Comparing base (4c2c80d) to head (d0d375c).
⚠️ Report is 1 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files

Impacted file tree graph

@@              Coverage Diff              @@
##              main     #7780       +/-   ##
=============================================
+ Coverage   85.455%   85.476%   +0.020%     
=============================================
  Files          487       487               
  Lines        29159     29166        +7     
  Branches     12622     12614        -8     
=============================================
+ Hits         24918     24930       +12     
+ Misses        4191      4185        -6     
- Partials        50        51        +1     
Files with missing lines Coverage Δ
.../Tools/ViewCapture/SentryDefaultMaskRenderer.swift 100.000% <100.000%> (ø)

... and 7 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4c2c80d...d0d375c. Read the comment docs.

Copy link
Copy Markdown
Contributor

@itaybre itaybre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@denrase denrase added the ready-to-merge Use this label to trigger all PR workflows label Apr 8, 2026
@denrase denrase enabled auto-merge (squash) April 8, 2026 13:53
@sentry
Copy link
Copy Markdown

sentry bot commented Apr 8, 2026

Sentry Build Distribution

App Name App ID Version Configuration Install Page
SDK-Size io.sentry.sample.SDK-Size 9.9.0 (1) Release Install Build

Configure sentry-cocoa build distribution settings

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 8, 2026

Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1224.35 ms 1254.32 ms 29.97 ms
Size 24.14 KiB 1.13 MiB 1.11 MiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
e92ab66 1228.86 ms 1258.43 ms 29.57 ms
98a16ef 1227.45 ms 1258.19 ms 30.74 ms
37ebda0 1201.62 ms 1223.76 ms 22.13 ms
f567e36 1215.04 ms 1245.10 ms 30.06 ms
bbee1ba 1197.79 ms 1215.42 ms 17.63 ms
a180235 1222.87 ms 1255.10 ms 32.23 ms
c424b6a 1220.38 ms 1248.18 ms 27.80 ms
5edcfc8 1228.14 ms 1264.15 ms 36.00 ms
d6d7fcf 1192.78 ms 1215.60 ms 22.83 ms
d68691e 1221.48 ms 1248.13 ms 26.65 ms

App size

Revision Plain With Sentry Diff
e92ab66 24.14 KiB 1.10 MiB 1.08 MiB
98a16ef 24.14 KiB 1.09 MiB 1.07 MiB
37ebda0 24.14 KiB 1.10 MiB 1.07 MiB
f567e36 24.14 KiB 1.13 MiB 1.10 MiB
bbee1ba 24.14 KiB 1.11 MiB 1.09 MiB
a180235 24.14 KiB 1.11 MiB 1.09 MiB
c424b6a 24.14 KiB 1.06 MiB 1.04 MiB
5edcfc8 24.14 KiB 1.12 MiB 1.09 MiB
d6d7fcf 24.14 KiB 1.12 MiB 1.10 MiB
d68691e 24.14 KiB 1.12 MiB 1.09 MiB

@denrase denrase merged commit 2f28877 into main Apr 8, 2026
208 checks passed
@denrase denrase deleted the fix/replay-clipout-issue branch April 8, 2026 14:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-to-merge Use this label to trigger all PR workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[SR] When masked cards are scrolled under the screen header, the header is not masked

2 participants