Skip to content

feat: Add network details for session replay on iOS#4891

Merged
jamescrosswell merged 29 commits into
mainfrom
ios-performance-spans
Apr 15, 2026
Merged

feat: Add network details for session replay on iOS#4891
jamescrosswell merged 29 commits into
mainfrom
ios-performance-spans

Fix sample for iOS 26.0

bb33532
Select commit
Loading
Failed to load commit list.
@sentry/warden / warden: find-bugs completed Mar 23, 2026 in 2m 7s

2 issues

find-bugs: Found 2 issues (1 high, 1 medium)

High

ToCocoaBreadcrumbData is never called - Session Replay network timestamps won't work - `src/Sentry/Platforms/Cocoa/Extensions/CocoaExtensions.cs:198-229`

The new ToCocoaBreadcrumbData method is defined but never called anywhere in the codebase. The BreadcrumbExtensions.ToCocoaBreadcrumb() method still uses ToNullableNSDictionary() instead of this new method. As a result, the special handling for request_start timestamps (converting to NSDate for Cocoa Session Replay) will never execute, and network details won't appear correctly in Session Replay on iOS.

Medium

Synchronous FailedRequestsCaptured test removed, reducing test coverage - `test/Sentry.Tests/SentryHttpMessageHandlerTests.cs:613`

The Send_Executed_FailedRequestsCaptured test (which tests the synchronous code path for NET5.0_OR_GREATER) was removed in this diff. The async counterpart SendAsync_Executed_FailedRequestsCaptured still exists at line 335. Per the codebase comment on lines 5-8, all tests should be done for both async and sync methods. This removal reduces test coverage for the synchronous failed request handling path.


Duration: 2m 6s · Tokens: 754.4k in / 10.9k out · Cost: $1.41 (+extraction: $0.00, +merge: $0.00)

Annotations

Check failure on line 229 in src/Sentry/Platforms/Cocoa/Extensions/CocoaExtensions.cs

See this annotation in the file changed.

@sentry-warden sentry-warden / warden: find-bugs

ToCocoaBreadcrumbData is never called - Session Replay network timestamps won't work

The new `ToCocoaBreadcrumbData` method is defined but never called anywhere in the codebase. The `BreadcrumbExtensions.ToCocoaBreadcrumb()` method still uses `ToNullableNSDictionary()` instead of this new method. As a result, the special handling for `request_start` timestamps (converting to NSDate for Cocoa Session Replay) will never execute, and network details won't appear correctly in Session Replay on iOS.

Check warning on line 613 in test/Sentry.Tests/SentryHttpMessageHandlerTests.cs

See this annotation in the file changed.

@sentry-warden sentry-warden / warden: find-bugs

Synchronous FailedRequestsCaptured test removed, reducing test coverage

The `Send_Executed_FailedRequestsCaptured` test (which tests the synchronous code path for NET5.0_OR_GREATER) was removed in this diff. The async counterpart `SendAsync_Executed_FailedRequestsCaptured` still exists at line 335. Per the codebase comment on lines 5-8, all tests should be done for both async and sync methods. This removal reduces test coverage for the synchronous failed request handling path.