Skip to content

Conversation

philipphofmann
Copy link
Member

📜 Description

Fix an infinite processing loop in SentryOnDemandReplay when not being able to read an image.

💡 Motivation and Context

Fixes GH-5757

💚 How did you test it?

Unit test

📝 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.

Fix an infinite processing loop in SentryOnDemandReplay when not being
able to read an image.

Fixes GH-5757
Copy link

codecov bot commented Jul 31, 2025

Codecov Report

❌ Patch coverage is 66.66667% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 86.683%. Comparing base (6d40fee) to head (ae83a58).
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
...egrations/SessionReplay/SentryOnDemandReplay.swift 66.666% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@              Coverage Diff              @@
##              main     #5765       +/-   ##
=============================================
+ Coverage   86.218%   86.683%   +0.464%     
=============================================
  Files          423       423               
  Lines        36267     36330       +63     
  Branches     15318     17095     +1777     
=============================================
+ Hits         31269     31492      +223     
+ Misses        4957      4792      -165     
- Partials        41        46        +5     
Files with missing lines Coverage Δ
...egrations/SessionReplay/SentryOnDemandReplay.swift 95.114% <66.666%> (+1.035%) ⬆️

... and 37 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 6d40fee...ae83a58. Read the comment docs.

Copy link
Contributor

github-actions bot commented Jul 31, 2025

Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1215.23 ms 1240.80 ms 25.57 ms
Size 23.75 KiB 912.78 KiB 889.03 KiB

Baseline results on branch: main

Startup times

Revision Plain With Sentry Diff
acac774 1217.76 ms 1253.29 ms 35.52 ms
0759f32 1237.10 ms 1257.35 ms 20.25 ms
efab7d3 1219.98 ms 1252.12 ms 32.14 ms
22b6996 1234.00 ms 1263.24 ms 29.24 ms
63ac649 1192.10 ms 1216.78 ms 24.68 ms
102cf89 1218.31 ms 1239.78 ms 21.47 ms
7fc6927 1221.21 ms 1242.36 ms 21.15 ms
bce9765 1229.42 ms 1243.49 ms 14.07 ms
736bcfb 1229.86 ms 1249.59 ms 19.73 ms
035974f 1225.89 ms 1251.23 ms 25.34 ms

App size

Revision Plain With Sentry Diff
acac774 23.75 KiB 866.51 KiB 842.76 KiB
0759f32 23.75 KiB 880.20 KiB 856.46 KiB
efab7d3 23.75 KiB 912.78 KiB 889.03 KiB
22b6996 23.75 KiB 908.02 KiB 884.27 KiB
63ac649 23.75 KiB 855.38 KiB 831.63 KiB
102cf89 23.74 KiB 891.02 KiB 867.27 KiB
7fc6927 23.75 KiB 908.54 KiB 884.79 KiB
bce9765 23.74 KiB 874.06 KiB 850.32 KiB
736bcfb 23.74 KiB 891.02 KiB 867.28 KiB
035974f 23.74 KiB 874.07 KiB 850.33 KiB

Previous results on branch: fix/sr-infinite-processing-loop

Startup times

Revision Plain With Sentry Diff
f69298c 1230.47 ms 1250.72 ms 20.25 ms

App size

Revision Plain With Sentry Diff
f69298c 23.75 KiB 912.78 KiB 889.03 KiB

Copy link
Member

@philprime philprime left a comment

Choose a reason for hiding this comment

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

LGTM, thank you for fixing this!

@philipphofmann philipphofmann merged commit 2a07609 into main Jul 31, 2025
101 of 102 checks passed
@philipphofmann philipphofmann deleted the fix/sr-infinite-processing-loop branch July 31, 2025 11:23
Copy link
Contributor

Fails
🚫 Please consider adding a changelog entry for the next release.

Instructions and example for changelog

Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.

Example:

## Unreleased

- Infinite Session Replay Processing Loop ([#5765](https://github.com/getsentry/sentry-cocoa/pull/5765))

If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description.

Generated by 🚫 dangerJS against 04fc6f2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SentryOnDemandReplay Not Cleaned Up Properly
2 participants