Skip to content

Commit e71b4c2

Browse files
antonisweb-flow
andauthored
fix(session-replay): fixes navigation breadcrumb filtering after Cocoa 8.53.2 bump (#4988)
* chore: update scripts/update-cocoa.sh to 8.53.2 * fix(session-replay): fixes navigation breadcrumb filtering after Cocoa 8.53.2 bump * Remove duplicate changelog entry after merge --------- Co-authored-by: GitHub <[email protected]>
1 parent a81285b commit e71b4c2

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

packages/core/ios/RNSentryReplayBreadcrumbConverter.m

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,23 @@ - (instancetype _Nonnull)init
5050
SentryRRWebEvent *nativeBreadcrumb = [self->defaultConverter convertFrom:breadcrumb];
5151

5252
// ignore native navigation breadcrumbs
53-
if (nativeBreadcrumb && nativeBreadcrumb.data && nativeBreadcrumb.data[@"payload"]
54-
&& nativeBreadcrumb.data[@"payload"][@"category"] &&
55-
[nativeBreadcrumb.data[@"payload"][@"category"] isEqualToString:@"navigation"]) {
56-
return nil;
53+
if (nativeBreadcrumb) {
54+
@try {
55+
id data = [nativeBreadcrumb valueForKey:@"data"];
56+
if (data && [data isKindOfClass:[NSDictionary class]]) {
57+
NSDictionary *dataDict = (NSDictionary *)data;
58+
id payload = dataDict[@"payload"];
59+
if (payload && [payload isKindOfClass:[NSDictionary class]]) {
60+
NSDictionary *payloadDict = (NSDictionary *)payload;
61+
NSString *category = payloadDict[@"category"];
62+
if ([category isEqualToString:@"navigation"]) {
63+
return nil;
64+
}
65+
}
66+
}
67+
} @catch (NSException *exception) {
68+
// Just continue without ignoring native navigation breadcrumbs
69+
}
5770
}
5871

5972
return nativeBreadcrumb;

0 commit comments

Comments
 (0)