[PROOF · DO NOT MERGE] sentry-cocoa 9.26.0 breaks iOS Replay network-detail requests (Spaceflight E2E) - #6605
Closed
antonis wants to merge 1 commit into
Closed
[PROOF · DO NOT MERGE] sentry-cocoa 9.26.0 breaks iOS Replay network-detail requests (Spaceflight E2E)#6605antonis wants to merge 1 commit into
antonis wants to merge 1 commit into
Conversation
Contributor
Semver Impact of This PR⚪ None (no version bump detected) 📋 Changelog PreviewThis is how your changes will appear in the changelog.
🤖 This preview updates automatically when you update the PR. |
📲 Install BuildsAndroid
|
Contributor
Android (legacy) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 5a010b7+dirty | 425.62 ms | 469.38 ms | 43.76 ms |
| 1a5721e+dirty | 424.07 ms | 482.32 ms | 58.25 ms |
| 7d8c8bd+dirty | 417.45 ms | 462.10 ms | 44.65 ms |
| 27d9693+dirty | 419.08 ms | 469.12 ms | 50.04 ms |
| ef27341+dirty | 412.94 ms | 443.98 ms | 31.04 ms |
| 41d6254+dirty | 424.45 ms | 474.34 ms | 49.89 ms |
| b9bebee+dirty | 438.86 ms | 452.21 ms | 13.35 ms |
| 3d536d1+dirty | 524.34 ms | 547.32 ms | 22.98 ms |
| 580fb5c+dirty | 436.34 ms | 471.63 ms | 35.28 ms |
| 4e0b819+dirty | 420.56 ms | 470.08 ms | 49.52 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 5a010b7+dirty | 48.30 MiB | 53.58 MiB | 5.28 MiB |
| 1a5721e+dirty | 49.74 MiB | 55.09 MiB | 5.34 MiB |
| 7d8c8bd+dirty | 48.30 MiB | 53.54 MiB | 5.23 MiB |
| 27d9693+dirty | 49.74 MiB | 55.09 MiB | 5.34 MiB |
| ef27341+dirty | 48.30 MiB | 53.54 MiB | 5.24 MiB |
| 41d6254+dirty | 48.30 MiB | 53.60 MiB | 5.30 MiB |
| b9bebee+dirty | 48.30 MiB | 53.58 MiB | 5.28 MiB |
| 3d536d1+dirty | 49.74 MiB | 55.26 MiB | 5.52 MiB |
| 580fb5c+dirty | 49.74 MiB | 54.79 MiB | 5.05 MiB |
| 4e0b819+dirty | 49.74 MiB | 54.81 MiB | 5.07 MiB |
Contributor
iOS (legacy) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| ecf47a2+dirty | 3835.20 ms | 1222.43 ms | -2612.77 ms |
| 3817909+dirty | 1183.90 ms | 1187.50 ms | 3.60 ms |
| 5ee78d6+dirty | 3847.52 ms | 1224.27 ms | -2623.25 ms |
| 890d145+dirty | 1223.59 ms | 1231.37 ms | 7.78 ms |
| e763471+dirty | 3841.16 ms | 1218.06 ms | -2623.09 ms |
| 3d31fcf+dirty | 3838.09 ms | 1223.46 ms | -2614.63 ms |
| 9210ae6+dirty | 3815.93 ms | 1214.14 ms | -2601.79 ms |
| 26843eb+dirty | 3861.60 ms | 1238.77 ms | -2622.82 ms |
| 7a89652+dirty | 3861.46 ms | 1229.61 ms | -2631.85 ms |
| 9ad4522+dirty | 3850.40 ms | 1222.40 ms | -2628.00 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| ecf47a2+dirty | 4.98 MiB | 6.46 MiB | 1.49 MiB |
| 3817909+dirty | 3.38 MiB | 4.73 MiB | 1.35 MiB |
| 5ee78d6+dirty | 5.15 MiB | 6.69 MiB | 1.53 MiB |
| 890d145+dirty | 3.38 MiB | 4.77 MiB | 1.38 MiB |
| e763471+dirty | 4.98 MiB | 6.51 MiB | 1.53 MiB |
| 3d31fcf+dirty | 4.98 MiB | 6.56 MiB | 1.58 MiB |
| 9210ae6+dirty | 5.15 MiB | 6.68 MiB | 1.53 MiB |
| 26843eb+dirty | 4.98 MiB | 6.53 MiB | 1.55 MiB |
| 7a89652+dirty | 5.15 MiB | 6.70 MiB | 1.55 MiB |
| 9ad4522+dirty | 4.98 MiB | 6.56 MiB | 1.58 MiB |
Contributor
iOS (new) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 9a44e47+dirty | 3847.00 ms | 1231.84 ms | -2615.16 ms |
| 3e3142c+dirty | 3831.04 ms | 1206.04 ms | -2625.00 ms |
| df5d108+dirty | 1207.34 ms | 1210.50 ms | 3.16 ms |
| 2cac31b+dirty | 3854.43 ms | 1212.35 ms | -2642.08 ms |
| ae37560+dirty | 3840.10 ms | 1217.89 ms | -2622.21 ms |
| 68672fc+dirty | 3832.22 ms | 1228.29 ms | -2603.93 ms |
| f170ec3+dirty | 3844.74 ms | 1222.67 ms | -2622.07 ms |
| ca9d079+dirty | 3818.62 ms | 1216.72 ms | -2601.90 ms |
| b0d3373+dirty | 3842.49 ms | 1218.49 ms | -2624.00 ms |
| 71abba0+dirty | 3852.70 ms | 1224.53 ms | -2628.16 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 9a44e47+dirty | 5.08 MiB | 6.75 MiB | 1.67 MiB |
| 3e3142c+dirty | 5.08 MiB | 6.56 MiB | 1.48 MiB |
| df5d108+dirty | 3.38 MiB | 4.73 MiB | 1.35 MiB |
| 2cac31b+dirty | 4.98 MiB | 6.55 MiB | 1.58 MiB |
| ae37560+dirty | 5.15 MiB | 6.70 MiB | 1.54 MiB |
| 68672fc+dirty | 5.15 MiB | 6.71 MiB | 1.55 MiB |
| f170ec3+dirty | 5.15 MiB | 6.69 MiB | 1.53 MiB |
| ca9d079+dirty | 5.15 MiB | 6.69 MiB | 1.53 MiB |
| b0d3373+dirty | 5.15 MiB | 6.68 MiB | 1.53 MiB |
| 71abba0+dirty | 5.15 MiB | 6.67 MiB | 1.52 MiB |
antonis
force-pushed
the
test/harden-spaceflight-e2e-flow
branch
from
August 24, 2026 12:43
476abe8 to
73482b2
Compare
Contributor
Instructions and example for changelogPlease add an entry to Example: ## Unreleased
### Features
- [PROOF · DO NOT MERGE] sentry-cocoa 9.26.0 breaks iOS Replay network-detail requests (Spaceflight E2E) ([#6605](https://github.com/getsentry/sentry-react-native/pull/6605))If none of the above apply, you can opt out of this check by adding |
Contributor
Author
|
Closing — this was a proof-of-issue reproduction, not a merge candidate. The investigation and repro now live in #6609 (which references the suspected upstream sentry-cocoa cause, #8497). Not restoring the removed options here; the real fix belongs in sentry-cocoa. |
antonis
force-pushed
the
test/harden-spaceflight-e2e-flow
branch
from
August 25, 2026 11:33
73482b2 to
6d0771f
Compare
Contributor
Android (new) Performance metrics 🚀
|
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 5a010b7+dirty | 475.15 ms | 519.02 ms | 43.88 ms |
| f9c1ed4+dirty | 520.57 ms | 594.84 ms | 74.27 ms |
| c2e182c+dirty | 468.50 ms | 545.44 ms | 76.94 ms |
| 2c735cc+dirty | 435.20 ms | 459.48 ms | 24.28 ms |
| af33f3b+dirty | 417.68 ms | 448.04 ms | 30.37 ms |
| 7d8c8bd+dirty | 406.06 ms | 460.88 ms | 54.81 ms |
| 890d145+dirty | 486.42 ms | 514.85 ms | 28.43 ms |
| ef27341+dirty | 519.02 ms | 553.42 ms | 34.40 ms |
| bf168a4+dirty | 430.60 ms | 459.31 ms | 28.71 ms |
| 41d6254+dirty | 406.20 ms | 445.52 ms | 39.32 ms |
App size
| Revision | Plain | With Sentry | Diff |
|---|---|---|---|
| 5a010b7+dirty | 48.30 MiB | 53.58 MiB | 5.28 MiB |
| f9c1ed4+dirty | 49.74 MiB | 54.86 MiB | 5.12 MiB |
| c2e182c+dirty | 49.74 MiB | 54.85 MiB | 5.11 MiB |
| 2c735cc+dirty | 43.94 MiB | 48.94 MiB | 5.00 MiB |
| af33f3b+dirty | 49.74 MiB | 55.09 MiB | 5.35 MiB |
| 7d8c8bd+dirty | 48.30 MiB | 53.54 MiB | 5.23 MiB |
| 890d145+dirty | 43.94 MiB | 49.00 MiB | 5.06 MiB |
| ef27341+dirty | 48.30 MiB | 53.54 MiB | 5.24 MiB |
| bf168a4+dirty | 49.74 MiB | 55.09 MiB | 5.35 MiB |
| 41d6254+dirty | 48.30 MiB | 53.60 MiB | 5.30 MiB |
…ssion Re-verify the 9.24.0 baseline (Spaceflight network-detail flow) under the current CI conditions. PROOF ONLY — DO NOT MERGE. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
antonis
force-pushed
the
test/harden-spaceflight-e2e-flow
branch
from
August 25, 2026 13:51
6d0771f to
97d222c
Compare
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.
Warning
Proof-of-issue PR — NOT for merge. This PR exists to demonstrate, via CI, that sentry-cocoa 9.26.0 breaks iOS
URLSessionrequests to Session Replay network-detail allow-listed URLs. The real fix belongs in sentry-cocoa. Close once the upstream issue is resolved.🔍 What this proves
The iOS E2E
captureSpaceflightNewsScreenTransaction.test.ios.autoflow began failing deterministically onmainand every PR immediately after the sentry-cocoa9.24.0 → 9.26.0bump (#6409). It is the only iOS flow making a real external HTTP request, and it was the only one failing (No visible element found: "Load More Articles"— the article fetch never completes, so the list never renders).A three-way E2E bisect (one variable changed at a time) isolates the cause:
Two independent single-variable flips each turn it green → the trigger is sentry-cocoa 9.26.0's Session Replay network-detail path. This branch demonstrates the third row: it removes
networkDetailAllowUrls+networkCaptureBodiesfrom the sample'smobileReplayIntegration, and iOS E2E goes green while cocoa stays at 9.26.0.🎯 Suspected upstream cause
getsentry/sentry-cocoa#8497 — "Prevent Session Replay network-detail breadcrumbs from blocking URLSession cancellation on the task monitor" — the only 9.26.0 change touching both the network-detail path and URLSession lifecycle. #8650 (trace-header setter) is ruled out: it is not gated on replay network-detail, so disabling network-detail would not have fixed it. Last-known-good is 9.24.0 (9.25.0 shipped no networking changes).
🔧 Proposed cocoa fix — getsentry/sentry-cocoa#8852
getsentry/sentry-cocoa#8852 reorders the
URLSessioncompletion-handler wrappers so the app receives the response before Replay network-detail enrichment reads properties on theURLSessionTask(which contend on the task's internal monitor).Important
This is expected to be necessary but not sufficient for React Native. #8852, by its author's own scope note, only fixes the completion-handler swizzle path (
captureResponseDetails). React Native's iOS networking uses delegate-basedRCTHTTPRequestHandler(dataTaskWithRequest:with no completion handler), which flows through the delegate path (urlSessionTaskResume/ swizzledsetState:→captureRequestDetails) — explicitly called out as not covered by #8852. So this PR is not expected to go green from #8852 alone; it will be re-run to verify once cocoa ships a fix covering the delegate path and cuts a release the RN build can download.💚 Evidence (CI runs,
sample-application.yml→Test ios)327136424513272227667532725506585→[Passed] captureSpaceflightNewsScreenTransaction.test.ios.auto (24s)Any app on sentry-cocoa 9.26.0 using Session Replay with
networkDetailAllowUrls+ body capture will have its requests to those hosts broken — a functional networking regression, not just telemetry loss. Bounded to allow-listed network-detail URLs; other traffic is unaffected.🔮 Next steps (not in this PR)
networkDetailAllowUrls+networkCaptureBodieshere, bump the cocoa pin, and re-run iOS E2E to confirm green.