From e1632da01c0a63ea6b5ca9ecd5a431de741b37ac Mon Sep 17 00:00:00 2001 From: Alex Hunt Date: Thu, 1 May 2025 23:19:29 -0700 Subject: [PATCH] Gate network event reporting with feature flag (#51050) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/51050 Gate network event reporting on iOS (inputting into the network reporting subsystem), now that this is load-bearing with the Performance API. Changelog: [Internal] Reviewed By: vzaidman Differential Revision: D73995864 fbshipit-source-id: 65a15485cdae445eadff6c57148f3682af6de215 --- .../Libraries/Network/RCTNetworking.mm | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/packages/react-native/Libraries/Network/RCTNetworking.mm b/packages/react-native/Libraries/Network/RCTNetworking.mm index 2f00e1cb749..a0e50a8ae32 100644 --- a/packages/react-native/Libraries/Network/RCTNetworking.mm +++ b/packages/react-native/Libraries/Network/RCTNetworking.mm @@ -16,6 +16,7 @@ #import #import +#import #import "RCTInspectorNetworkReporter.h" #import "RCTNetworkPlugins.h" @@ -588,10 +589,12 @@ RCT_EXPORT_MODULE() id responseURL = response.URL ? response.URL.absoluteString : [NSNull null]; NSArray *responseJSON = @[ task.requestID, @(status), headers, responseURL ]; - [RCTInspectorNetworkReporter reportResponseStart:task.requestID - response:response - statusCode:status - headers:headers]; + if (facebook::react::ReactNativeFeatureFlags::enableNetworkEventReporting()) { + [RCTInspectorNetworkReporter reportResponseStart:task.requestID + response:response + statusCode:status + headers:headers]; + } [weakSelf sendEventWithName:@"didReceiveNetworkResponse" body:responseJSON]; }; @@ -650,7 +653,9 @@ RCT_EXPORT_MODULE() NSArray *responseJSON = @[ task.requestID, RCTNullIfNil(error.localizedDescription), error.code == kCFURLErrorTimedOut ? @YES : @NO ]; - [RCTInspectorNetworkReporter reportResponseEnd:task.requestID encodedDataLength:data.length]; + if (facebook::react::ReactNativeFeatureFlags::enableNetworkEventReporting()) { + [RCTInspectorNetworkReporter reportResponseEnd:task.requestID encodedDataLength:data.length]; + } [strongSelf sendEventWithName:@"didCompleteNetworkResponse" body:responseJSON]; [strongSelf->_tasksByRequestID removeObjectForKey:task.requestID]; }; @@ -667,9 +672,11 @@ RCT_EXPORT_MODULE() } _tasksByRequestID[task.requestID] = task; responseSender(@[ task.requestID ]); - [RCTInspectorNetworkReporter reportRequestStart:task.requestID - request:request - encodedDataLength:task.response.expectedContentLength]; + if (facebook::react::ReactNativeFeatureFlags::enableNetworkEventReporting()) { + [RCTInspectorNetworkReporter reportRequestStart:task.requestID + request:request + encodedDataLength:task.response.expectedContentLength]; + } } [task start];