From 5777a4e6e9471a3938d173bf9b34251be57bad4d Mon Sep 17 00:00:00 2001 From: Riccardo Cipolleschi Date: Mon, 17 Nov 2025 10:14:17 +0000 Subject: [PATCH 01/38] [LOCAL] Bump Podfile.lock --- packages/rn-tester/Podfile.lock | 630 ++++++++++++++++---------------- 1 file changed, 318 insertions(+), 312 deletions(-) diff --git a/packages/rn-tester/Podfile.lock b/packages/rn-tester/Podfile.lock index a0af610b851c..a41bf99edc8d 100644 --- a/packages/rn-tester/Podfile.lock +++ b/packages/rn-tester/Podfile.lock @@ -2,7 +2,7 @@ PODS: - boost (1.84.0) - DoubleConversion (1.1.6) - fast_float (8.0.0) - - FBLazyVector (0.83.0-rc.0) + - FBLazyVector (0.83.0-rc.1) - fmt (11.0.2) - glog (0.3.5) - hermes-engine (0.14.0): @@ -84,30 +84,30 @@ PODS: - fast_float (= 8.0.0) - fmt (= 11.0.2) - glog - - RCTDeprecation (0.83.0-rc.0) - - RCTRequired (0.83.0-rc.0) - - RCTSwiftUI (0.83.0-rc.0) - - RCTSwiftUIWrapper (0.83.0-rc.0): + - RCTDeprecation (0.83.0-rc.1) + - RCTRequired (0.83.0-rc.1) + - RCTSwiftUI (0.83.0-rc.1) + - RCTSwiftUIWrapper (0.83.0-rc.1): - RCTSwiftUI - - RCTTypeSafety (0.83.0-rc.0): - - FBLazyVector (= 0.83.0-rc.0) - - RCTRequired (= 0.83.0-rc.0) - - React-Core (= 0.83.0-rc.0) - - React (0.83.0-rc.0): - - React-Core (= 0.83.0-rc.0) - - React-Core/DevSupport (= 0.83.0-rc.0) - - React-Core/RCTWebSocket (= 0.83.0-rc.0) - - React-RCTActionSheet (= 0.83.0-rc.0) - - React-RCTAnimation (= 0.83.0-rc.0) - - React-RCTBlob (= 0.83.0-rc.0) - - React-RCTImage (= 0.83.0-rc.0) - - React-RCTLinking (= 0.83.0-rc.0) - - React-RCTNetwork (= 0.83.0-rc.0) - - React-RCTSettings (= 0.83.0-rc.0) - - React-RCTText (= 0.83.0-rc.0) - - React-RCTVibration (= 0.83.0-rc.0) - - React-callinvoker (0.83.0-rc.0) - - React-Core (0.83.0-rc.0): + - RCTTypeSafety (0.83.0-rc.1): + - FBLazyVector (= 0.83.0-rc.1) + - RCTRequired (= 0.83.0-rc.1) + - React-Core (= 0.83.0-rc.1) + - React (0.83.0-rc.1): + - React-Core (= 0.83.0-rc.1) + - React-Core/DevSupport (= 0.83.0-rc.1) + - React-Core/RCTWebSocket (= 0.83.0-rc.1) + - React-RCTActionSheet (= 0.83.0-rc.1) + - React-RCTAnimation (= 0.83.0-rc.1) + - React-RCTBlob (= 0.83.0-rc.1) + - React-RCTImage (= 0.83.0-rc.1) + - React-RCTLinking (= 0.83.0-rc.1) + - React-RCTNetwork (= 0.83.0-rc.1) + - React-RCTSettings (= 0.83.0-rc.1) + - React-RCTText (= 0.83.0-rc.1) + - React-RCTVibration (= 0.83.0-rc.1) + - React-callinvoker (0.83.0-rc.1) + - React-Core (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -117,7 +117,7 @@ PODS: - RCT-Folly - RCT-Folly/Fabric - RCTDeprecation - - React-Core/Default (= 0.83.0-rc.0) + - React-Core/Default (= 0.83.0-rc.1) - React-cxxreact - React-featureflags - React-hermes @@ -132,7 +132,7 @@ PODS: - React-utils - SocketRocket - Yoga - - React-Core/CoreModulesHeaders (0.83.0-rc.0): + - React-Core/CoreModulesHeaders (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -157,7 +157,7 @@ PODS: - React-utils - SocketRocket - Yoga - - React-Core/Default (0.83.0-rc.0): + - React-Core/Default (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -181,7 +181,7 @@ PODS: - React-utils - SocketRocket - Yoga - - React-Core/DevSupport (0.83.0-rc.0): + - React-Core/DevSupport (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -191,8 +191,8 @@ PODS: - RCT-Folly - RCT-Folly/Fabric - RCTDeprecation - - React-Core/Default (= 0.83.0-rc.0) - - React-Core/RCTWebSocket (= 0.83.0-rc.0) + - React-Core/Default (= 0.83.0-rc.1) + - React-Core/RCTWebSocket (= 0.83.0-rc.1) - React-cxxreact - React-featureflags - React-hermes @@ -207,7 +207,7 @@ PODS: - React-utils - SocketRocket - Yoga - - React-Core/RCTActionSheetHeaders (0.83.0-rc.0): + - React-Core/RCTActionSheetHeaders (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -232,7 +232,7 @@ PODS: - React-utils - SocketRocket - Yoga - - React-Core/RCTAnimationHeaders (0.83.0-rc.0): + - React-Core/RCTAnimationHeaders (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -257,7 +257,7 @@ PODS: - React-utils - SocketRocket - Yoga - - React-Core/RCTBlobHeaders (0.83.0-rc.0): + - React-Core/RCTBlobHeaders (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -282,7 +282,7 @@ PODS: - React-utils - SocketRocket - Yoga - - React-Core/RCTImageHeaders (0.83.0-rc.0): + - React-Core/RCTImageHeaders (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -307,7 +307,7 @@ PODS: - React-utils - SocketRocket - Yoga - - React-Core/RCTLinkingHeaders (0.83.0-rc.0): + - React-Core/RCTLinkingHeaders (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -332,7 +332,7 @@ PODS: - React-utils - SocketRocket - Yoga - - React-Core/RCTNetworkHeaders (0.83.0-rc.0): + - React-Core/RCTNetworkHeaders (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -357,7 +357,7 @@ PODS: - React-utils - SocketRocket - Yoga - - React-Core/RCTPushNotificationHeaders (0.83.0-rc.0): + - React-Core/RCTPushNotificationHeaders (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -382,7 +382,7 @@ PODS: - React-utils - SocketRocket - Yoga - - React-Core/RCTSettingsHeaders (0.83.0-rc.0): + - React-Core/RCTSettingsHeaders (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -407,7 +407,7 @@ PODS: - React-utils - SocketRocket - Yoga - - React-Core/RCTTextHeaders (0.83.0-rc.0): + - React-Core/RCTTextHeaders (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -432,7 +432,7 @@ PODS: - React-utils - SocketRocket - Yoga - - React-Core/RCTVibrationHeaders (0.83.0-rc.0): + - React-Core/RCTVibrationHeaders (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -457,7 +457,7 @@ PODS: - React-utils - SocketRocket - Yoga - - React-Core/RCTWebSocket (0.83.0-rc.0): + - React-Core/RCTWebSocket (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -467,7 +467,7 @@ PODS: - RCT-Folly - RCT-Folly/Fabric - RCTDeprecation - - React-Core/Default (= 0.83.0-rc.0) + - React-Core/Default (= 0.83.0-rc.1) - React-cxxreact - React-featureflags - React-hermes @@ -482,7 +482,7 @@ PODS: - React-utils - SocketRocket - Yoga - - React-CoreModules (0.83.0-rc.0): + - React-CoreModules (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -490,21 +490,22 @@ PODS: - glog - RCT-Folly - RCT-Folly/Fabric - - RCTTypeSafety (= 0.83.0-rc.0) - - React-Core/CoreModulesHeaders (= 0.83.0-rc.0) + - RCTTypeSafety (= 0.83.0-rc.1) + - React-Core/CoreModulesHeaders (= 0.83.0-rc.1) - React-debug - - React-jsi (= 0.83.0-rc.0) + - React-jsi (= 0.83.0-rc.1) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - React-NativeModulesApple - React-RCTBlob - React-RCTFBReactNativeSpec - - React-RCTImage (= 0.83.0-rc.0) + - React-RCTImage (= 0.83.0-rc.1) - React-runtimeexecutor + - React-utils - ReactCommon - SocketRocket - - React-cxxreact (0.83.0-rc.0): + - React-cxxreact (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -513,19 +514,20 @@ PODS: - hermes-engine - RCT-Folly - RCT-Folly/Fabric - - React-callinvoker (= 0.83.0-rc.0) - - React-debug (= 0.83.0-rc.0) - - React-jsi (= 0.83.0-rc.0) + - React-callinvoker (= 0.83.0-rc.1) + - React-debug (= 0.83.0-rc.1) + - React-jsi (= 0.83.0-rc.1) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - - React-logger (= 0.83.0-rc.0) - - React-perflogger (= 0.83.0-rc.0) + - React-logger (= 0.83.0-rc.1) + - React-perflogger (= 0.83.0-rc.1) - React-runtimeexecutor - - React-timing (= 0.83.0-rc.0) + - React-timing (= 0.83.0-rc.1) + - React-utils - SocketRocket - - React-debug (0.83.0-rc.0) - - React-defaultsnativemodule (0.83.0-rc.0): + - React-debug (0.83.0-rc.1) + - React-defaultsnativemodule (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -544,7 +546,7 @@ PODS: - React-RCTFBReactNativeSpec - React-webperformancenativemodule - SocketRocket - - React-domnativemodule (0.83.0-rc.0): + - React-domnativemodule (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -564,7 +566,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-Fabric (0.83.0-rc.0): + - React-Fabric (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -578,25 +580,25 @@ PODS: - React-Core - React-cxxreact - React-debug - - React-Fabric/animated (= 0.83.0-rc.0) - - React-Fabric/animationbackend (= 0.83.0-rc.0) - - React-Fabric/animations (= 0.83.0-rc.0) - - React-Fabric/attributedstring (= 0.83.0-rc.0) - - React-Fabric/bridging (= 0.83.0-rc.0) - - React-Fabric/componentregistry (= 0.83.0-rc.0) - - React-Fabric/componentregistrynative (= 0.83.0-rc.0) - - React-Fabric/components (= 0.83.0-rc.0) - - React-Fabric/consistency (= 0.83.0-rc.0) - - React-Fabric/core (= 0.83.0-rc.0) - - React-Fabric/dom (= 0.83.0-rc.0) - - React-Fabric/imagemanager (= 0.83.0-rc.0) - - React-Fabric/leakchecker (= 0.83.0-rc.0) - - React-Fabric/mounting (= 0.83.0-rc.0) - - React-Fabric/observers (= 0.83.0-rc.0) - - React-Fabric/scheduler (= 0.83.0-rc.0) - - React-Fabric/telemetry (= 0.83.0-rc.0) - - React-Fabric/templateprocessor (= 0.83.0-rc.0) - - React-Fabric/uimanager (= 0.83.0-rc.0) + - React-Fabric/animated (= 0.83.0-rc.1) + - React-Fabric/animationbackend (= 0.83.0-rc.1) + - React-Fabric/animations (= 0.83.0-rc.1) + - React-Fabric/attributedstring (= 0.83.0-rc.1) + - React-Fabric/bridging (= 0.83.0-rc.1) + - React-Fabric/componentregistry (= 0.83.0-rc.1) + - React-Fabric/componentregistrynative (= 0.83.0-rc.1) + - React-Fabric/components (= 0.83.0-rc.1) + - React-Fabric/consistency (= 0.83.0-rc.1) + - React-Fabric/core (= 0.83.0-rc.1) + - React-Fabric/dom (= 0.83.0-rc.1) + - React-Fabric/imagemanager (= 0.83.0-rc.1) + - React-Fabric/leakchecker (= 0.83.0-rc.1) + - React-Fabric/mounting (= 0.83.0-rc.1) + - React-Fabric/observers (= 0.83.0-rc.1) + - React-Fabric/scheduler (= 0.83.0-rc.1) + - React-Fabric/telemetry (= 0.83.0-rc.1) + - React-Fabric/templateprocessor (= 0.83.0-rc.1) + - React-Fabric/uimanager (= 0.83.0-rc.1) - React-featureflags - React-graphics - React-jsi @@ -608,7 +610,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/animated (0.83.0-rc.0): + - React-Fabric/animated (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -633,7 +635,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/animationbackend (0.83.0-rc.0): + - React-Fabric/animationbackend (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -658,7 +660,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/animations (0.83.0-rc.0): + - React-Fabric/animations (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -683,7 +685,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/attributedstring (0.83.0-rc.0): + - React-Fabric/attributedstring (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -708,7 +710,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/bridging (0.83.0-rc.0): + - React-Fabric/bridging (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -733,7 +735,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/componentregistry (0.83.0-rc.0): + - React-Fabric/componentregistry (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -758,7 +760,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/componentregistrynative (0.83.0-rc.0): + - React-Fabric/componentregistrynative (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -783,7 +785,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/components (0.83.0-rc.0): + - React-Fabric/components (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -797,10 +799,10 @@ PODS: - React-Core - React-cxxreact - React-debug - - React-Fabric/components/legacyviewmanagerinterop (= 0.83.0-rc.0) - - React-Fabric/components/root (= 0.83.0-rc.0) - - React-Fabric/components/scrollview (= 0.83.0-rc.0) - - React-Fabric/components/view (= 0.83.0-rc.0) + - React-Fabric/components/legacyviewmanagerinterop (= 0.83.0-rc.1) + - React-Fabric/components/root (= 0.83.0-rc.1) + - React-Fabric/components/scrollview (= 0.83.0-rc.1) + - React-Fabric/components/view (= 0.83.0-rc.1) - React-featureflags - React-graphics - React-jsi @@ -812,7 +814,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/components/legacyviewmanagerinterop (0.83.0-rc.0): + - React-Fabric/components/legacyviewmanagerinterop (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -837,7 +839,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/components/root (0.83.0-rc.0): + - React-Fabric/components/root (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -862,7 +864,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/components/scrollview (0.83.0-rc.0): + - React-Fabric/components/scrollview (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -887,7 +889,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/components/view (0.83.0-rc.0): + - React-Fabric/components/view (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -914,7 +916,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-Fabric/consistency (0.83.0-rc.0): + - React-Fabric/consistency (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -939,7 +941,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/core (0.83.0-rc.0): + - React-Fabric/core (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -964,7 +966,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/dom (0.83.0-rc.0): + - React-Fabric/dom (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -989,7 +991,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/imagemanager (0.83.0-rc.0): + - React-Fabric/imagemanager (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1014,7 +1016,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/leakchecker (0.83.0-rc.0): + - React-Fabric/leakchecker (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1039,7 +1041,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/mounting (0.83.0-rc.0): + - React-Fabric/mounting (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1064,7 +1066,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/observers (0.83.0-rc.0): + - React-Fabric/observers (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1078,7 +1080,7 @@ PODS: - React-Core - React-cxxreact - React-debug - - React-Fabric/observers/events (= 0.83.0-rc.0) + - React-Fabric/observers/events (= 0.83.0-rc.1) - React-featureflags - React-graphics - React-jsi @@ -1090,7 +1092,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/observers/events (0.83.0-rc.0): + - React-Fabric/observers/events (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1115,7 +1117,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/scheduler (0.83.0-rc.0): + - React-Fabric/scheduler (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1143,7 +1145,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/telemetry (0.83.0-rc.0): + - React-Fabric/telemetry (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1168,7 +1170,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/templateprocessor (0.83.0-rc.0): + - React-Fabric/templateprocessor (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1193,7 +1195,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/uimanager (0.83.0-rc.0): + - React-Fabric/uimanager (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1207,7 +1209,7 @@ PODS: - React-Core - React-cxxreact - React-debug - - React-Fabric/uimanager/consistency (= 0.83.0-rc.0) + - React-Fabric/uimanager/consistency (= 0.83.0-rc.1) - React-featureflags - React-graphics - React-jsi @@ -1220,7 +1222,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-Fabric/uimanager/consistency (0.83.0-rc.0): + - React-Fabric/uimanager/consistency (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1246,7 +1248,7 @@ PODS: - React-utils - ReactCommon/turbomodule/core - SocketRocket - - React-FabricComponents (0.83.0-rc.0): + - React-FabricComponents (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1261,8 +1263,8 @@ PODS: - React-cxxreact - React-debug - React-Fabric - - React-FabricComponents/components (= 0.83.0-rc.0) - - React-FabricComponents/textlayoutmanager (= 0.83.0-rc.0) + - React-FabricComponents/components (= 0.83.0-rc.1) + - React-FabricComponents/textlayoutmanager (= 0.83.0-rc.1) - React-featureflags - React-graphics - React-jsi @@ -1275,7 +1277,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-FabricComponents/components (0.83.0-rc.0): + - React-FabricComponents/components (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1290,18 +1292,18 @@ PODS: - React-cxxreact - React-debug - React-Fabric - - React-FabricComponents/components/inputaccessory (= 0.83.0-rc.0) - - React-FabricComponents/components/iostextinput (= 0.83.0-rc.0) - - React-FabricComponents/components/modal (= 0.83.0-rc.0) - - React-FabricComponents/components/rncore (= 0.83.0-rc.0) - - React-FabricComponents/components/safeareaview (= 0.83.0-rc.0) - - React-FabricComponents/components/scrollview (= 0.83.0-rc.0) - - React-FabricComponents/components/switch (= 0.83.0-rc.0) - - React-FabricComponents/components/text (= 0.83.0-rc.0) - - React-FabricComponents/components/textinput (= 0.83.0-rc.0) - - React-FabricComponents/components/unimplementedview (= 0.83.0-rc.0) - - React-FabricComponents/components/virtualview (= 0.83.0-rc.0) - - React-FabricComponents/components/virtualviewexperimental (= 0.83.0-rc.0) + - React-FabricComponents/components/inputaccessory (= 0.83.0-rc.1) + - React-FabricComponents/components/iostextinput (= 0.83.0-rc.1) + - React-FabricComponents/components/modal (= 0.83.0-rc.1) + - React-FabricComponents/components/rncore (= 0.83.0-rc.1) + - React-FabricComponents/components/safeareaview (= 0.83.0-rc.1) + - React-FabricComponents/components/scrollview (= 0.83.0-rc.1) + - React-FabricComponents/components/switch (= 0.83.0-rc.1) + - React-FabricComponents/components/text (= 0.83.0-rc.1) + - React-FabricComponents/components/textinput (= 0.83.0-rc.1) + - React-FabricComponents/components/unimplementedview (= 0.83.0-rc.1) + - React-FabricComponents/components/virtualview (= 0.83.0-rc.1) + - React-FabricComponents/components/virtualviewexperimental (= 0.83.0-rc.1) - React-featureflags - React-graphics - React-jsi @@ -1314,7 +1316,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-FabricComponents/components/inputaccessory (0.83.0-rc.0): + - React-FabricComponents/components/inputaccessory (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1341,7 +1343,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-FabricComponents/components/iostextinput (0.83.0-rc.0): + - React-FabricComponents/components/iostextinput (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1368,7 +1370,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-FabricComponents/components/modal (0.83.0-rc.0): + - React-FabricComponents/components/modal (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1395,7 +1397,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-FabricComponents/components/rncore (0.83.0-rc.0): + - React-FabricComponents/components/rncore (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1422,7 +1424,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-FabricComponents/components/safeareaview (0.83.0-rc.0): + - React-FabricComponents/components/safeareaview (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1449,7 +1451,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-FabricComponents/components/scrollview (0.83.0-rc.0): + - React-FabricComponents/components/scrollview (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1476,7 +1478,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-FabricComponents/components/switch (0.83.0-rc.0): + - React-FabricComponents/components/switch (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1503,7 +1505,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-FabricComponents/components/text (0.83.0-rc.0): + - React-FabricComponents/components/text (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1530,7 +1532,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-FabricComponents/components/textinput (0.83.0-rc.0): + - React-FabricComponents/components/textinput (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1557,7 +1559,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-FabricComponents/components/unimplementedview (0.83.0-rc.0): + - React-FabricComponents/components/unimplementedview (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1584,7 +1586,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-FabricComponents/components/virtualview (0.83.0-rc.0): + - React-FabricComponents/components/virtualview (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1611,7 +1613,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-FabricComponents/components/virtualviewexperimental (0.83.0-rc.0): + - React-FabricComponents/components/virtualviewexperimental (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1638,7 +1640,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-FabricComponents/textlayoutmanager (0.83.0-rc.0): + - React-FabricComponents/textlayoutmanager (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1665,7 +1667,7 @@ PODS: - ReactCommon/turbomodule/core - SocketRocket - Yoga - - React-FabricImage (0.83.0-rc.0): + - React-FabricImage (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1674,21 +1676,21 @@ PODS: - hermes-engine - RCT-Folly - RCT-Folly/Fabric - - RCTRequired (= 0.83.0-rc.0) - - RCTTypeSafety (= 0.83.0-rc.0) + - RCTRequired (= 0.83.0-rc.1) + - RCTTypeSafety (= 0.83.0-rc.1) - React-Fabric - React-featureflags - React-graphics - React-ImageManager - React-jsi - - React-jsiexecutor (= 0.83.0-rc.0) + - React-jsiexecutor (= 0.83.0-rc.1) - React-logger - React-rendererdebug - React-utils - ReactCommon - SocketRocket - Yoga - - React-featureflags (0.83.0-rc.0): + - React-featureflags (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1697,7 +1699,7 @@ PODS: - RCT-Folly - RCT-Folly/Fabric - SocketRocket - - React-featureflagsnativemodule (0.83.0-rc.0): + - React-featureflagsnativemodule (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1712,7 +1714,7 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core - SocketRocket - - React-graphics (0.83.0-rc.0): + - React-graphics (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1725,7 +1727,7 @@ PODS: - React-jsiexecutor - React-utils - SocketRocket - - React-hermes (0.83.0-rc.0): + - React-hermes (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1734,17 +1736,17 @@ PODS: - hermes-engine - RCT-Folly - RCT-Folly/Fabric - - React-cxxreact (= 0.83.0-rc.0) + - React-cxxreact (= 0.83.0-rc.1) - React-jsi - - React-jsiexecutor (= 0.83.0-rc.0) + - React-jsiexecutor (= 0.83.0-rc.1) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - React-oscompat - - React-perflogger (= 0.83.0-rc.0) + - React-perflogger (= 0.83.0-rc.1) - React-runtimeexecutor - SocketRocket - - React-idlecallbacksnativemodule (0.83.0-rc.0): + - React-idlecallbacksnativemodule (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1760,7 +1762,7 @@ PODS: - React-runtimescheduler - ReactCommon/turbomodule/core - SocketRocket - - React-ImageManager (0.83.0-rc.0): + - React-ImageManager (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1775,7 +1777,7 @@ PODS: - React-rendererdebug - React-utils - SocketRocket - - React-jserrorhandler (0.83.0-rc.0): + - React-jserrorhandler (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1790,7 +1792,7 @@ PODS: - React-jsi - ReactCommon/turbomodule/bridging - SocketRocket - - React-jsi (0.83.0-rc.0): + - React-jsi (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1800,7 +1802,7 @@ PODS: - RCT-Folly - RCT-Folly/Fabric - SocketRocket - - React-jsiexecutor (0.83.0-rc.0): + - React-jsiexecutor (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1817,8 +1819,9 @@ PODS: - React-jsinspectortracing - React-perflogger - React-runtimeexecutor + - React-utils - SocketRocket - - React-jsinspector (0.83.0-rc.0): + - React-jsinspector (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1833,11 +1836,11 @@ PODS: - React-jsinspectornetwork - React-jsinspectortracing - React-oscompat - - React-perflogger (= 0.83.0-rc.0) + - React-perflogger (= 0.83.0-rc.1) - React-runtimeexecutor - React-utils - SocketRocket - - React-jsinspectorcdp (0.83.0-rc.0): + - React-jsinspectorcdp (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1846,7 +1849,7 @@ PODS: - RCT-Folly - RCT-Folly/Fabric - SocketRocket - - React-jsinspectornetwork (0.83.0-rc.0): + - React-jsinspectornetwork (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1856,12 +1859,13 @@ PODS: - RCT-Folly/Fabric - React-jsinspectorcdp - SocketRocket - - React-jsinspectortracing (0.83.0-rc.0): + - React-jsinspectortracing (0.83.0-rc.1): - boost - DoubleConversion - fast_float - fmt - glog + - hermes-engine - RCT-Folly - RCT-Folly/Fabric - React-jsi @@ -1869,7 +1873,7 @@ PODS: - React-oscompat - React-timing - SocketRocket - - React-jsitooling (0.83.0-rc.0): + - React-jsitooling (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1877,17 +1881,18 @@ PODS: - glog - RCT-Folly - RCT-Folly/Fabric - - React-cxxreact (= 0.83.0-rc.0) + - React-cxxreact (= 0.83.0-rc.1) - React-debug - - React-jsi (= 0.83.0-rc.0) + - React-jsi (= 0.83.0-rc.1) - React-jsinspector - React-jsinspectorcdp - React-jsinspectortracing - React-runtimeexecutor + - React-utils - SocketRocket - - React-jsitracing (0.83.0-rc.0): + - React-jsitracing (0.83.0-rc.1): - React-jsi - - React-logger (0.83.0-rc.0): + - React-logger (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1896,7 +1901,7 @@ PODS: - RCT-Folly - RCT-Folly/Fabric - SocketRocket - - React-Mapbuffer (0.83.0-rc.0): + - React-Mapbuffer (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1906,7 +1911,7 @@ PODS: - RCT-Folly/Fabric - React-debug - SocketRocket - - React-microtasksnativemodule (0.83.0-rc.0): + - React-microtasksnativemodule (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1920,7 +1925,7 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon/turbomodule/core - SocketRocket - - React-NativeModulesApple (0.83.0-rc.0): + - React-NativeModulesApple (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1941,7 +1946,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - SocketRocket - - React-networking (0.83.0-rc.0): + - React-networking (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1955,8 +1960,8 @@ PODS: - React-performancetimeline - React-timing - SocketRocket - - React-oscompat (0.83.0-rc.0) - - React-perflogger (0.83.0-rc.0): + - React-oscompat (0.83.0-rc.1) + - React-perflogger (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1965,7 +1970,7 @@ PODS: - RCT-Folly - RCT-Folly/Fabric - SocketRocket - - React-performancecdpmetrics (0.83.0-rc.0): + - React-performancecdpmetrics (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1979,7 +1984,7 @@ PODS: - React-runtimeexecutor - React-timing - SocketRocket - - React-performancetimeline (0.83.0-rc.0): + - React-performancetimeline (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -1992,9 +1997,9 @@ PODS: - React-perflogger - React-timing - SocketRocket - - React-RCTActionSheet (0.83.0-rc.0): - - React-Core/RCTActionSheetHeaders (= 0.83.0-rc.0) - - React-RCTAnimation (0.83.0-rc.0): + - React-RCTActionSheet (0.83.0-rc.1): + - React-Core/RCTActionSheetHeaders (= 0.83.0-rc.1) + - React-RCTAnimation (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2010,7 +2015,7 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon - SocketRocket - - React-RCTAppDelegate (0.83.0-rc.0): + - React-RCTAppDelegate (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2044,7 +2049,7 @@ PODS: - React-utils - ReactCommon - SocketRocket - - React-RCTBlob (0.83.0-rc.0): + - React-RCTBlob (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2063,7 +2068,7 @@ PODS: - React-RCTNetwork - ReactCommon - SocketRocket - - React-RCTFabric (0.83.0-rc.0): + - React-RCTFabric (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2100,7 +2105,7 @@ PODS: - React-utils - SocketRocket - Yoga - - React-RCTFBReactNativeSpec (0.83.0-rc.0): + - React-RCTFBReactNativeSpec (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2114,10 +2119,10 @@ PODS: - React-Core - React-jsi - React-NativeModulesApple - - React-RCTFBReactNativeSpec/components (= 0.83.0-rc.0) + - React-RCTFBReactNativeSpec/components (= 0.83.0-rc.1) - ReactCommon - SocketRocket - - React-RCTFBReactNativeSpec/components (0.83.0-rc.0): + - React-RCTFBReactNativeSpec/components (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2140,7 +2145,7 @@ PODS: - ReactCommon - SocketRocket - Yoga - - React-RCTImage (0.83.0-rc.0): + - React-RCTImage (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2156,14 +2161,14 @@ PODS: - React-RCTNetwork - ReactCommon - SocketRocket - - React-RCTLinking (0.83.0-rc.0): - - React-Core/RCTLinkingHeaders (= 0.83.0-rc.0) - - React-jsi (= 0.83.0-rc.0) + - React-RCTLinking (0.83.0-rc.1): + - React-Core/RCTLinkingHeaders (= 0.83.0-rc.1) + - React-jsi (= 0.83.0-rc.1) - React-NativeModulesApple - React-RCTFBReactNativeSpec - ReactCommon - - ReactCommon/turbomodule/core (= 0.83.0-rc.0) - - React-RCTNetwork (0.83.0-rc.0): + - ReactCommon/turbomodule/core (= 0.83.0-rc.1) + - React-RCTNetwork (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2183,14 +2188,14 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon - SocketRocket - - React-RCTPushNotification (0.83.0-rc.0): + - React-RCTPushNotification (0.83.0-rc.1): - RCTTypeSafety - React-Core/RCTPushNotificationHeaders - React-jsi - React-NativeModulesApple - React-RCTFBReactNativeSpec - ReactCommon - - React-RCTRuntime (0.83.0-rc.0): + - React-RCTRuntime (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2210,8 +2215,9 @@ PODS: - React-RuntimeCore - React-runtimeexecutor - React-RuntimeHermes + - React-utils - SocketRocket - - React-RCTSettings (0.83.0-rc.0): + - React-RCTSettings (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2226,7 +2232,7 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon - SocketRocket - - React-RCTTest (0.83.0-rc.0): + - React-RCTTest (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2234,15 +2240,15 @@ PODS: - glog - RCT-Folly - RCT-Folly/Fabric - - React-Core (= 0.83.0-rc.0) - - React-CoreModules (= 0.83.0-rc.0) - - React-jsi (= 0.83.0-rc.0) - - ReactCommon/turbomodule/core (= 0.83.0-rc.0) + - React-Core (= 0.83.0-rc.1) + - React-CoreModules (= 0.83.0-rc.1) + - React-jsi (= 0.83.0-rc.1) + - ReactCommon/turbomodule/core (= 0.83.0-rc.1) - SocketRocket - - React-RCTText (0.83.0-rc.0): - - React-Core/RCTTextHeaders (= 0.83.0-rc.0) + - React-RCTText (0.83.0-rc.1): + - React-Core/RCTTextHeaders (= 0.83.0-rc.1) - Yoga - - React-RCTVibration (0.83.0-rc.0): + - React-RCTVibration (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2256,11 +2262,11 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon - SocketRocket - - React-rendererconsistency (0.83.0-rc.0) - - React-renderercss (0.83.0-rc.0): + - React-rendererconsistency (0.83.0-rc.1) + - React-renderercss (0.83.0-rc.1): - React-debug - React-utils - - React-rendererdebug (0.83.0-rc.0): + - React-rendererdebug (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2270,7 +2276,7 @@ PODS: - RCT-Folly/Fabric - React-debug - SocketRocket - - React-RuntimeApple (0.83.0-rc.0): + - React-RuntimeApple (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2299,7 +2305,7 @@ PODS: - React-runtimescheduler - React-utils - SocketRocket - - React-RuntimeCore (0.83.0-rc.0): + - React-RuntimeCore (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2321,7 +2327,7 @@ PODS: - React-runtimescheduler - React-utils - SocketRocket - - React-runtimeexecutor (0.83.0-rc.0): + - React-runtimeexecutor (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2331,10 +2337,10 @@ PODS: - RCT-Folly/Fabric - React-debug - React-featureflags - - React-jsi (= 0.83.0-rc.0) + - React-jsi (= 0.83.0-rc.1) - React-utils - SocketRocket - - React-RuntimeHermes (0.83.0-rc.0): + - React-RuntimeHermes (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2355,7 +2361,7 @@ PODS: - React-runtimeexecutor - React-utils - SocketRocket - - React-runtimescheduler (0.83.0-rc.0): + - React-runtimescheduler (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2377,9 +2383,9 @@ PODS: - React-timing - React-utils - SocketRocket - - React-timing (0.83.0-rc.0): + - React-timing (0.83.0-rc.1): - React-debug - - React-utils (0.83.0-rc.0): + - React-utils (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2389,9 +2395,9 @@ PODS: - RCT-Folly - RCT-Folly/Fabric - React-debug - - React-jsi (= 0.83.0-rc.0) + - React-jsi (= 0.83.0-rc.1) - SocketRocket - - React-webperformancenativemodule (0.83.0-rc.0): + - React-webperformancenativemodule (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2408,9 +2414,9 @@ PODS: - React-runtimeexecutor - ReactCommon/turbomodule/core - SocketRocket - - ReactAppDependencyProvider (0.83.0-rc.0): + - ReactAppDependencyProvider (0.83.0-rc.1): - ReactCodegen - - ReactCodegen (0.83.0-rc.0): + - ReactCodegen (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2436,7 +2442,7 @@ PODS: - ReactCommon/turbomodule/bridging - ReactCommon/turbomodule/core - SocketRocket - - ReactCommon (0.83.0-rc.0): + - ReactCommon (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2444,9 +2450,9 @@ PODS: - glog - RCT-Folly - RCT-Folly/Fabric - - ReactCommon/turbomodule (= 0.83.0-rc.0) + - ReactCommon/turbomodule (= 0.83.0-rc.1) - SocketRocket - - ReactCommon-Samples (0.83.0-rc.0): + - ReactCommon-Samples (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2462,7 +2468,7 @@ PODS: - React-RCTFBReactNativeSpec - ReactCommon - SocketRocket - - ReactCommon/turbomodule (0.83.0-rc.0): + - ReactCommon/turbomodule (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2471,15 +2477,15 @@ PODS: - hermes-engine - RCT-Folly - RCT-Folly/Fabric - - React-callinvoker (= 0.83.0-rc.0) - - React-cxxreact (= 0.83.0-rc.0) - - React-jsi (= 0.83.0-rc.0) - - React-logger (= 0.83.0-rc.0) - - React-perflogger (= 0.83.0-rc.0) - - ReactCommon/turbomodule/bridging (= 0.83.0-rc.0) - - ReactCommon/turbomodule/core (= 0.83.0-rc.0) + - React-callinvoker (= 0.83.0-rc.1) + - React-cxxreact (= 0.83.0-rc.1) + - React-jsi (= 0.83.0-rc.1) + - React-logger (= 0.83.0-rc.1) + - React-perflogger (= 0.83.0-rc.1) + - ReactCommon/turbomodule/bridging (= 0.83.0-rc.1) + - ReactCommon/turbomodule/core (= 0.83.0-rc.1) - SocketRocket - - ReactCommon/turbomodule/bridging (0.83.0-rc.0): + - ReactCommon/turbomodule/bridging (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2488,13 +2494,13 @@ PODS: - hermes-engine - RCT-Folly - RCT-Folly/Fabric - - React-callinvoker (= 0.83.0-rc.0) - - React-cxxreact (= 0.83.0-rc.0) - - React-jsi (= 0.83.0-rc.0) - - React-logger (= 0.83.0-rc.0) - - React-perflogger (= 0.83.0-rc.0) + - React-callinvoker (= 0.83.0-rc.1) + - React-cxxreact (= 0.83.0-rc.1) + - React-jsi (= 0.83.0-rc.1) + - React-logger (= 0.83.0-rc.1) + - React-perflogger (= 0.83.0-rc.1) - SocketRocket - - ReactCommon/turbomodule/core (0.83.0-rc.0): + - ReactCommon/turbomodule/core (0.83.0-rc.1): - boost - DoubleConversion - fast_float @@ -2503,14 +2509,14 @@ PODS: - hermes-engine - RCT-Folly - RCT-Folly/Fabric - - React-callinvoker (= 0.83.0-rc.0) - - React-cxxreact (= 0.83.0-rc.0) - - React-debug (= 0.83.0-rc.0) - - React-featureflags (= 0.83.0-rc.0) - - React-jsi (= 0.83.0-rc.0) - - React-logger (= 0.83.0-rc.0) - - React-perflogger (= 0.83.0-rc.0) - - React-utils (= 0.83.0-rc.0) + - React-callinvoker (= 0.83.0-rc.1) + - React-cxxreact (= 0.83.0-rc.1) + - React-debug (= 0.83.0-rc.1) + - React-featureflags (= 0.83.0-rc.1) + - React-jsi (= 0.83.0-rc.1) + - React-logger (= 0.83.0-rc.1) + - React-perflogger (= 0.83.0-rc.1) + - React-utils (= 0.83.0-rc.1) - SocketRocket - ScreenshotManager (0.83.0-main): - boost @@ -2806,88 +2812,88 @@ SPEC CHECKSUMS: boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90 DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb fast_float: b32c788ed9c6a8c584d114d0047beda9664e7cc6 - FBLazyVector: 7cad68537e4268ea85b6b763532fc9a88206eea3 + FBLazyVector: d7085c78dbdc2f9c1a2fe6066a3ecfcc6bbafecc fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd glog: 5683914934d5b6e4240e497e0f4a3b42d1854183 - hermes-engine: e521360654a5480d33c57a5b90df97f2dbe8d680 + hermes-engine: ceec0a655a0bf68fbe572add8a8400ad5bd597ab MyNativeView: 1af823608512b912ff60718a6d48bacbece9c1f0 NativeCxxModuleExample: ed1893117fdd164b44e67b2a1d7f4620610a8081 OCMock: 589f2c84dacb1f5aaf6e4cec1f292551fe748e74 RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669 - RCTDeprecation: 4cf20570eb1415872d0f37c28f34788b52008c60 - RCTRequired: 2f89a85405915cde5896bd74ccaab8b191509e03 - RCTSwiftUI: 2912ae654156ab7932b269e194a2e8a1a5edb639 - RCTSwiftUIWrapper: ff4a9cdd895213a325f2c1ac62b5c1ee673fc0d9 - RCTTypeSafety: 37efadc9f9abd1a62754c151f1de482980947098 - React: 2bf19c309d00f9be63d49ba852c94af80e6b3bc7 - React-callinvoker: ea197fe3beb48e287246373d1c25a086faf2e6e0 - React-Core: d1915192bd2d3b42b1774357b433370b310c10f5 - React-CoreModules: 1efb864a2af516c51b12eb055f39154011125cb3 - React-cxxreact: 8e59f1a48afc44519f65eb4de84a1801e8b4f6d3 - React-debug: 6340721f0a7a48e3bb098efc150fe025147a2f48 - React-defaultsnativemodule: 745579f7f6dd9c6fb0ace6247b8861301af197a9 - React-domnativemodule: 10c50b3e937cb2c4150dd473cd58d2904273d2b9 - React-Fabric: 9857f1cc21140ba4999c703139a126fb4f4806cc - React-FabricComponents: f4e293eccd3a19716e0f95685638f33f19e18b88 - React-FabricImage: d95e4333c9a7353ec671531455a0e50d250d6dda - React-featureflags: df2006e38f95cfff3b915d9638df33a161cada89 - React-featureflagsnativemodule: 0da1c2554cc0a3cb555cd8a11504080f2d5c24a4 - React-graphics: 0dab08341a5f38f76abfe80dc4538d1c7770de82 - React-hermes: 79ef15e28ddaf8ba83928e4b18f0eeae66f33c54 - React-idlecallbacksnativemodule: 910b08a3a9b9065968e37b8e50ac86d155144c25 - React-ImageManager: 480db96280216a361aaddafe552506efd5812866 - React-jserrorhandler: 38e3a0ff990aa10890d51d4396224818637ac215 - React-jsi: 615e201d67d9066b4eb21530f3beb767405f2b05 - React-jsiexecutor: 7d690a6f1b6b112ee14dfc32b4385632798da14f - React-jsinspector: 7d2b4b3c1d0bf40d16e50e3b8d73d07a89e9ca88 - React-jsinspectorcdp: 699281ed9cc265952ecbb91082408bf5d5fa9753 - React-jsinspectornetwork: a7039321b81ac0c922baba6de85af74ec45f7409 - React-jsinspectortracing: 70d6f93180d9fae85b0c3b3bc629f662ea8ce03a - React-jsitooling: e6b6701f34f3968752b758c64726b63d2d4881c6 - React-jsitracing: ebb4ffb45f2c3ec5a0bc8d70039d97b2b1df3624 - React-logger: 82db2169e84bc735427eb1a83b156f1504d0dc51 - React-Mapbuffer: 68517df56a7767e2703d1d7294bd2feb908c63b3 - React-microtasksnativemodule: bb1a1909e39a9a554c15d1efc0c2fef6c2d8df76 - React-NativeModulesApple: ab26fcbfd9ae7a86abfa67cccbb06d230194aba3 - React-networking: adcb9099c2362ac69bcf7381f392c741e4625e17 - React-oscompat: 0f5e189c2e523157a209ab5503813913c571aa36 - React-perflogger: b940680562771c283e19179aad43faab482ea677 - React-performancecdpmetrics: acf3ea3ab048878fb2df0a58700025a59e4912d8 - React-performancetimeline: 2080235a09457f72f8228d1c5084276a78561789 - React-RCTActionSheet: 737f8e8a9d7763bc3a02f1a162ae904f1a918ece - React-RCTAnimation: d282bd60388e67012808e226803d9b852db29d52 - React-RCTAppDelegate: 36d222c6d2f80be7e17ddf80e1a37e083261c7f6 - React-RCTBlob: a83568c40cf6486e464c04f5e68c8a1209f97e16 - React-RCTFabric: 9fb70896e03f10154317fc0b9a864dfedaa102a6 - React-RCTFBReactNativeSpec: b1d307afa5564cb78709bc65a9930ebf0737d54d - React-RCTImage: 8dd86dbbe7ee12cb1f941eaa56462596afdc9750 - React-RCTLinking: ac472960cffae9752ca8122f32df1d7ebb0fb54b - React-RCTNetwork: ada15862fa4667daef3cfcded8b7313281cf6784 - React-RCTPushNotification: f94857fc1955be3a8708b6497f7f323b6694ce1b - React-RCTRuntime: 68a2f9f79fd5a45a7a87c94e87828887bd7b7166 - React-RCTSettings: 857edfecfd389de9ba9047105449624e080f57cf - React-RCTTest: 40dcc8d8b1991d33a2e5a4c021e8289e9bd37864 - React-RCTText: 2fb5f5cff74e57bd028aca68dee415e6f56dabb3 - React-RCTVibration: 67eb8f894f554909ff13817009fcb2834e19d600 - React-rendererconsistency: 1c792a73ead155af8d0564e2af95af3d1b97e0b0 - React-renderercss: db8ff45e1661ece728332a215c567d36353b0878 - React-rendererdebug: dd61a237b272ddeb6265671998d4303f5abe1ade - React-RuntimeApple: 22e89f0e64118bcb4d1e4eee7716b8c5ad974fbe - React-RuntimeCore: f0cd9d825b3b7bf5b304b5ceb8df973776882089 - React-runtimeexecutor: ad528d4dab7e1ec72da8737807c85fd59cca6543 - React-RuntimeHermes: 7e80d2df3b888a69ad55c761ab91320dad7f52d0 - React-runtimescheduler: 90338cc60a689aa6a9a44fbb31238f64f979b120 - React-timing: f87b2f76243e78866e93cd343d2fe6df3f7d5921 - React-utils: c32c0100634398c3ff0228c0a4c8448471b43df1 - React-webperformancenativemodule: 09d5d0f4a43666082d818987a8214328a718e90b - ReactAppDependencyProvider: 06032211b2bb4f7bef72d941067dc5012a7da6ce - ReactCodegen: bea24aec86b3be1b6525afa1ad7d5dec93e1d7ff - ReactCommon: ea42703a83f61a48e715a45ed5e3af757d07c52b - ReactCommon-Samples: e0f119d130a261b0c3a132da3e95ec87ae0945fa + RCTDeprecation: 9b990404254a6cb777274ba90d1b3436e2f4a95e + RCTRequired: 3ae68e8b7a55471bd7f6a2af79cf713b11f8b2c5 + RCTSwiftUI: 448065cb3310205cbe8e864afad58d76418e5ab6 + RCTSwiftUIWrapper: da138ef9fd091a6dbd12a316693a4cfde692b4e4 + RCTTypeSafety: 121d2bfce697c4654fc80f8b1741228165ffdd2c + React: 81330c9c99b0b3cc41b5522f511ce25d55346049 + React-callinvoker: 54a228b999b5f29e47d8bed6c97e2fdec148f57a + React-Core: 5508247169709c3177bd4962ecd8f7d3d6f78b78 + React-CoreModules: 617d63dc272f5201038d9488e70e7184c449f4c5 + React-cxxreact: 3b40985cca19159206926cd9230d5ececfb3ce38 + React-debug: 1ed7a6665faeecbf0d1dfcb7bf176d2d56976a93 + React-defaultsnativemodule: 3002d61aec258f607e018a5a3dd318cdbbb328fe + React-domnativemodule: 9d5d6cba10933e3defda194cd653f9dade466bde + React-Fabric: f574517e45ba5d09e8723dcf01a307de1728cd68 + React-FabricComponents: 84ac5c4b5811860f5dd103385b7da8fe5d2ad340 + React-FabricImage: d8d93b96b766286dc2767f9bfcfdda1f91ff4201 + React-featureflags: 52b2d91116de42560f9560888ffa7d0fc1a01af9 + React-featureflagsnativemodule: 20fc1f85f1276f0131ce502aa81ab63700027ea4 + React-graphics: a44d4388c47342c94e76d1b819a162c5c6368f25 + React-hermes: 6bed0cb58334683d0f86b804d725bf0b25de74a4 + React-idlecallbacksnativemodule: 580e69efcc1df1235e172974e282df943f20f4a3 + React-ImageManager: 598b705489697d8d85d487b77e53b95ca1a22ba8 + React-jserrorhandler: ae8a9680c0dca7272aea623c23d5d546ea50d4f4 + React-jsi: 2b12de695a2e12ec5d0f9ba146c6270baac754ce + React-jsiexecutor: c90b037fa1c72a79d6c00ab6e6538d4a64723160 + React-jsinspector: c812720c89a12fdfca054a0a3a70b27dfdbd1537 + React-jsinspectorcdp: af996446b683ce301b9e80a21275b03494c400f8 + React-jsinspectornetwork: 3546bbee69490cf23db9e830ff49e1d8a758bfb6 + React-jsinspectortracing: c532234a8ce4ae5b20edc096619660fe1f78bd59 + React-jsitooling: 2ed8bec1d6096086e4c0dc0a16f02a28cbb6bbf5 + React-jsitracing: 688930c19030bbf3ff478023fca258b2f3a77f46 + React-logger: e4a0aad5471a750d7a7583a8df54a14fac78b9a6 + React-Mapbuffer: 09dec4194a050345eb2350fcd9aeba0cc5ac216b + React-microtasksnativemodule: 777ff48524feae3f6ccac1f782aec9418df1bd6e + React-NativeModulesApple: 3b9ce9ebb35f071205e8f4e676be42d19d502750 + React-networking: 522d12a048dc50b0e4db37389987cd5e407a362b + React-oscompat: 85fc28c6bf1067a7777375977d73448e0cbd6a3e + React-perflogger: 7cd248240396b42193db533a70ea2a31902c9a34 + React-performancecdpmetrics: 6a00f6ee63886ed9c95186d9c9c9d33525ae438e + React-performancetimeline: 5ea122f11102444f6b0a8fc3ed9b5e6f520a8939 + React-RCTActionSheet: 7091a932c922a20750102503b8610186cc30abc9 + React-RCTAnimation: 14e2d8fa0b9fd1045a06815ac61ecfdedf042044 + React-RCTAppDelegate: 352074fe80b082d8f78d00e435d731cd4467066b + React-RCTBlob: b496eab19143e45882f247ca2e3fca25049eb030 + React-RCTFabric: dbeac7bd0582109b23d01ba9032d9e4411be9d4a + React-RCTFBReactNativeSpec: 0cc1bba9be3021349e169fc8595b50565c4fffe3 + React-RCTImage: c0c3060f41831c3583eec5c2ec3a7625d04960d0 + React-RCTLinking: a31856efcf27acf30a73efac979ce66ae862e2bf + React-RCTNetwork: d81cacc72fc8a2f27e7678e9cf6abd2afb6f3f13 + React-RCTPushNotification: e89c2e5ad0d98fc86f8f11977102e22f91f73447 + React-RCTRuntime: a0d00a8e78a724bc5809e3dbe14a8fdff7323f44 + React-RCTSettings: 47ee8a6758238b214f93e8ae0976418ab1683ab3 + React-RCTTest: 303ff8591d043776ff4c42636edaaef581ff7b1c + React-RCTText: db4543f91e2ffcc84374f520281118743321dcfb + React-RCTVibration: f11262accb7209240e566cba8c843f9fb962768a + React-rendererconsistency: 36f569874e004c887c48b0d93fcf9fd0cd3f8426 + React-renderercss: 79419547baf7400775630451ea79303b584bdf1b + React-rendererdebug: 2e427705cd70f9b08885290d91b745a00f49ff3e + React-RuntimeApple: 59b1998a638573ead62cacd62b1cefd81cb22e79 + React-RuntimeCore: b4f5d38af50cd0425c92f519df5ca9b7fab0b142 + React-runtimeexecutor: 6975913404b68d133ddc4f2be27ab02b67b70d3c + React-RuntimeHermes: aab48222260d23876ab28f6b8355c8531e34c52a + React-runtimescheduler: 9f662a0e148dd4efa693c0439084a8494149b139 + React-timing: d1d9cdaeb3c42dd411dbb3fbb09727e9824ef852 + React-utils: 3722582f991f485ca37dab934315cbf706e5386c + React-webperformancenativemodule: 7e85a1370e826f2c57b004ed7f02354c4e188a71 + ReactAppDependencyProvider: e5f0d6d2a281d2c9a85f9b910fb34a2c183d7762 + ReactCodegen: b1669bc674fe69e7ef8b0cd77c556805b44d8fb6 + ReactCommon: 7c91f04510201bc721f9377c54b1ee8fabdc12e3 + ReactCommon-Samples: 6063069f7be5689a151f0606ff375453f4572294 ScreenshotManager: 90789ae322770a40730448e9ff6ca64be2e632c5 SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 - Yoga: b5cdaf686877e00b5489198163ec055e52f4c4f9 + Yoga: ed79b7a4a3ce0632e0975506f04cd2f603b5fb75 PODFILE CHECKSUM: 995beda3236c2c76801e7a4efc7fedcd390220e6 -COCOAPODS: 1.16.2 +COCOAPODS: 1.15.2 From 5119db44ce5b600edc79dd9fe752d6e0a53375f4 Mon Sep 17 00:00:00 2001 From: Luna Wei Date: Thu, 13 Nov 2025 09:42:19 -0800 Subject: [PATCH 02/38] Gate with feature flag for canary (#54454) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/54454 Changelog: [Internal] - Add feature flag around IntersectionObserver for canary Reviewed By: rubennorte, cipolleschi Differential Revision: D86547485 fbshipit-source-id: 0c6d84e276d1f6337a8da0bea141cc371010cd75 --- packages/react-native/Package.swift | 13 +- .../featureflags/ReactNativeFeatureFlags.kt | 8 +- .../ReactNativeFeatureFlagsCxxAccessor.kt | 12 +- .../ReactNativeFeatureFlagsCxxInterop.kt | 4 +- .../ReactNativeFeatureFlagsDefaults.kt | 4 +- .../ReactNativeFeatureFlagsLocalAccessor.kt | 13 +- ...tureFlagsOverrides_RNOSS_Canary_Android.kt | 4 +- .../ReactNativeFeatureFlagsProvider.kt | 4 +- .../ReactAndroid/src/main/jni/CMakeLists.txt | 5 + .../JReactNativeFeatureFlagsCxxInterop.cpp | 16 +- .../JReactNativeFeatureFlagsCxxInterop.h | 5 +- .../ReactCommon/React-Fabric.podspec | 10 +- .../featureflags/ReactNativeFeatureFlags.cpp | 6 +- .../featureflags/ReactNativeFeatureFlags.h | 7 +- .../ReactNativeFeatureFlagsAccessor.cpp | 128 +++--- .../ReactNativeFeatureFlagsAccessor.h | 6 +- .../ReactNativeFeatureFlagsDefaults.h | 6 +- .../ReactNativeFeatureFlagsDynamicProvider.h | 11 +- ...eactNativeFeatureFlagsOverridesOSSCanary.h | 6 +- .../ReactNativeFeatureFlagsProvider.h | 3 +- .../nativemodule/defaults/CMakeLists.txt | 1 + .../defaults/DefaultTurboModules.cpp | 7 + .../React-defaultsnativemodule.podspec | 6 +- .../NativeReactNativeFeatureFlags.cpp | 7 +- .../NativeReactNativeFeatureFlags.h | 4 +- .../NativeIntersectionObserver.h | 4 + ...t-intersectionobservernativemodule.podspec | 66 +++ .../ReactNativeFeatureFlags.config.js | 10 + .../react-native/scripts/react_native_pods.rb | 1 + .../featureflags/ReactNativeFeatureFlags.js | 7 +- .../specs/NativeReactNativeFeatureFlags.js | 3 +- .../setUpDefaultReactNativeEnvironment.js | 6 + .../IntersectionObserverBenchmark.js | 129 ++++++ .../IntersectionObserverClippingParent.js | 404 ++++++++++++++++++ .../IntersectionObserverClippingRoot.js | 400 +++++++++++++++++ .../IntersectionObserverExplicitRoot.js | 278 ++++++++++++ .../IntersectionObserverExplicitRootScroll.js | 245 +++++++++++ .../IntersectionObserverIndex.js | 37 ++ .../IntersectionObserverMDNExample.js | 181 ++++++++ .../IntersectionObserverRootThreshold.js | 224 ++++++++++ .../js/utils/RNTesterList.android.js | 11 + .../rn-tester/js/utils/RNTesterList.ios.js | 11 + 42 files changed, 2232 insertions(+), 81 deletions(-) create mode 100644 packages/react-native/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec create mode 100644 packages/rn-tester/js/examples/IntersectionObserver/IntersectionObserverBenchmark.js create mode 100644 packages/rn-tester/js/examples/IntersectionObserver/IntersectionObserverClippingParent.js create mode 100644 packages/rn-tester/js/examples/IntersectionObserver/IntersectionObserverClippingRoot.js create mode 100644 packages/rn-tester/js/examples/IntersectionObserver/IntersectionObserverExplicitRoot.js create mode 100644 packages/rn-tester/js/examples/IntersectionObserver/IntersectionObserverExplicitRootScroll.js create mode 100644 packages/rn-tester/js/examples/IntersectionObserver/IntersectionObserverIndex.js create mode 100644 packages/rn-tester/js/examples/IntersectionObserver/IntersectionObserverMDNExample.js create mode 100644 packages/rn-tester/js/examples/IntersectionObserver/IntersectionObserverRootThreshold.js diff --git a/packages/react-native/Package.swift b/packages/react-native/Package.swift index db484e886d4e..b8465bbd6872 100644 --- a/packages/react-native/Package.swift +++ b/packages/react-native/Package.swift @@ -315,7 +315,7 @@ let reactTurboModuleCore = RNTarget( let reactTurboModuleCoreDefaults = RNTarget( name: .reactTurboModuleCoreDefaults, path: "ReactCommon/react/nativemodule/defaults", - dependencies: [.reactNativeDependencies, .jsi, .reactJsiExecutor, .reactTurboModuleCore] + dependencies: [.reactNativeDependencies, .jsi, .reactJsiExecutor, .reactTurboModuleCore, .reactFabric] ) /// React-microtasknativemodule.podspec @@ -339,6 +339,13 @@ let reactWebPerformanceNativeModule = RNTarget( dependencies: [.reactNativeDependencies, .reactCxxReact, .reactTurboModuleCore, .reactPerformanceTimeline] ) +/// React-intersectionobservernativemodule.podspec +let reactIntersectionObserverNativeModule = RNTarget( + name: .reactIntersectionObserverNativeModule, + path: "ReactCommon/react/nativemodule/intersectionobserver", + dependencies: [.reactNativeDependencies, .reactCxxReact, .reactFabric, .reactTurboModuleBridging, .reactTurboModuleCore, .reactGraphics, .reactGraphicsApple, .reactRuntimeScheduler, .yoga] +) + /// React-featureflagnativemodule.podspec let reactFeatureflagsNativemodule = RNTarget( name: .reactFeatureflagsNativemodule, @@ -452,7 +459,7 @@ let reactFabric = RNTarget( "components/root/tests", ], dependencies: [.reactNativeDependencies, .reactJsiExecutor, .rctTypesafety, .reactTurboModuleCore, .jsi, .logger, .reactDebug, .reactFeatureFlags, .reactUtils, .reactRuntimeScheduler, .reactCxxReact, .reactRendererDebug, .reactGraphics, .yoga], - sources: ["animations", "attributedstring", "core", "componentregistry", "componentregistry/native", "components/root", "components/view", "components/view/platform/cxx", "components/scrollview", "components/scrollview/platform/cxx", "components/legacyviewmanagerinterop", "dom", "scheduler", "mounting", "observers/events", "telemetry", "consistency", "leakchecker", "uimanager", "uimanager/consistency"] + sources: ["animations", "attributedstring", "core", "componentregistry", "componentregistry/native", "components/root", "components/view", "components/view/platform/cxx", "components/scrollview", "components/scrollview/platform/cxx", "components/legacyviewmanagerinterop", "dom", "scheduler", "mounting", "observers/events", "observers/intersection", "telemetry", "consistency", "leakchecker", "uimanager", "uimanager/consistency"] ) let reactFabricInputAccessory = RNTarget( @@ -683,6 +690,7 @@ let targets = [ reactTurboModuleCoreMicrotasks, reactIdleCallbacksNativeModule, reactWebPerformanceNativeModule, + reactIntersectionObserverNativeModule, reactFeatureflagsNativemodule, reactNativeModuleDom, reactAppDelegate, @@ -870,6 +878,7 @@ extension String { static let reactTurboModuleCoreMicrotasks = "ReactCommon/turbomodule/core/microtasks" static let reactIdleCallbacksNativeModule = "React-idlecallbacksnativemodule" static let reactWebPerformanceNativeModule = "React-webperformancenativemodule" + static let reactIntersectionObserverNativeModule = "React-intersectionobservernativemodule" static let reactFeatureflagsNativemodule = "React-featureflagsnativemodule" static let reactNativeModuleDom = "React-domnativemodule" static let reactAppDelegate = "React-RCTAppDelegate" diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt index 855690371fb0..4545b13de9c7 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<09d1f1bdf5e156afcd7ce15f73ca1c3b>> + * @generated SignedSource<> */ /** @@ -210,6 +210,12 @@ public object ReactNativeFeatureFlags { @JvmStatic public fun enableInteropViewManagerClassLookUpOptimizationIOS(): Boolean = accessor.enableInteropViewManagerClassLookUpOptimizationIOS() + /** + * Enables the IntersectionObserver Web API in React Native. + */ + @JvmStatic + public fun enableIntersectionObserverByDefault(): Boolean = accessor.enableIntersectionObserverByDefault() + /** * Enables key up/down/press events to be sent to JS from components */ diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt index c8fe16f7bcbe..509fd8779e55 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<017aba8e549dc289c27bb4fa93e6d038>> + * @generated SignedSource<> */ /** @@ -50,6 +50,7 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces private var enableImmediateUpdateModeForContentOffsetChangesCache: Boolean? = null private var enableImperativeFocusCache: Boolean? = null private var enableInteropViewManagerClassLookUpOptimizationIOSCache: Boolean? = null + private var enableIntersectionObserverByDefaultCache: Boolean? = null private var enableKeyEventsCache: Boolean? = null private var enableLayoutAnimationsOnAndroidCache: Boolean? = null private var enableLayoutAnimationsOnIOSCache: Boolean? = null @@ -375,6 +376,15 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces return cached } + override fun enableIntersectionObserverByDefault(): Boolean { + var cached = enableIntersectionObserverByDefaultCache + if (cached == null) { + cached = ReactNativeFeatureFlagsCxxInterop.enableIntersectionObserverByDefault() + enableIntersectionObserverByDefaultCache = cached + } + return cached + } + override fun enableKeyEvents(): Boolean { var cached = enableKeyEventsCache if (cached == null) { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt index b309acdba24d..d5cf7666cf43 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<278f3853a98e1dd72b66ad6168e11686>> + * @generated SignedSource<> */ /** @@ -88,6 +88,8 @@ public object ReactNativeFeatureFlagsCxxInterop { @DoNotStrip @JvmStatic public external fun enableInteropViewManagerClassLookUpOptimizationIOS(): Boolean + @DoNotStrip @JvmStatic public external fun enableIntersectionObserverByDefault(): Boolean + @DoNotStrip @JvmStatic public external fun enableKeyEvents(): Boolean @DoNotStrip @JvmStatic public external fun enableLayoutAnimationsOnAndroid(): Boolean diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt index b2ce9f37acec..e76ce9b953fa 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<31da0143bec4eacc9884c950970f0a25>> + * @generated SignedSource<<1729d5f55d3ff0d3ca97e5c5bd34292b>> */ /** @@ -83,6 +83,8 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi override fun enableInteropViewManagerClassLookUpOptimizationIOS(): Boolean = false + override fun enableIntersectionObserverByDefault(): Boolean = false + override fun enableKeyEvents(): Boolean = false override fun enableLayoutAnimationsOnAndroid(): Boolean = false diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt index c432e094ff1a..659d6e343d9e 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<14a5680355bb8c42e39a67edfa6a8974>> + * @generated SignedSource<<98eb8f2d7036cf8a3023a8c560375f6a>> */ /** @@ -54,6 +54,7 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc private var enableImmediateUpdateModeForContentOffsetChangesCache: Boolean? = null private var enableImperativeFocusCache: Boolean? = null private var enableInteropViewManagerClassLookUpOptimizationIOSCache: Boolean? = null + private var enableIntersectionObserverByDefaultCache: Boolean? = null private var enableKeyEventsCache: Boolean? = null private var enableLayoutAnimationsOnAndroidCache: Boolean? = null private var enableLayoutAnimationsOnIOSCache: Boolean? = null @@ -409,6 +410,16 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc return cached } + override fun enableIntersectionObserverByDefault(): Boolean { + var cached = enableIntersectionObserverByDefaultCache + if (cached == null) { + cached = currentProvider.enableIntersectionObserverByDefault() + accessedFeatureFlags.add("enableIntersectionObserverByDefault") + enableIntersectionObserverByDefaultCache = cached + } + return cached + } + override fun enableKeyEvents(): Boolean { var cached = enableKeyEventsCache if (cached == null) { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt index 5959f89d9dcc..f96043635a62 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<<2912fe4c90e3b493770bf14e70264656>> */ /** @@ -27,6 +27,8 @@ public open class ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android : ReactN override fun enableFabricRenderer(): Boolean = true + override fun enableIntersectionObserverByDefault(): Boolean = true + override fun useNativeViewConfigsInBridgelessMode(): Boolean = true override fun useTurboModuleInterop(): Boolean = true diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt index 43ecb4193864..384438320138 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<5a348c354bb6dd2ddfbc869a9e2f0dbe>> + * @generated SignedSource<<18744192baedc0d5fa0fc7873adf0422>> */ /** @@ -83,6 +83,8 @@ public interface ReactNativeFeatureFlagsProvider { @DoNotStrip public fun enableInteropViewManagerClassLookUpOptimizationIOS(): Boolean + @DoNotStrip public fun enableIntersectionObserverByDefault(): Boolean + @DoNotStrip public fun enableKeyEvents(): Boolean @DoNotStrip public fun enableLayoutAnimationsOnAndroid(): Boolean diff --git a/packages/react-native/ReactAndroid/src/main/jni/CMakeLists.txt b/packages/react-native/ReactAndroid/src/main/jni/CMakeLists.txt index 04676e762177..0e7e429d2c0e 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/CMakeLists.txt +++ b/packages/react-native/ReactAndroid/src/main/jni/CMakeLists.txt @@ -114,6 +114,7 @@ add_react_common_subdir(react/renderer/components/scrollview) add_react_common_subdir(react/renderer/components/safeareaview) add_react_common_subdir(react/renderer/leakchecker) add_react_common_subdir(react/renderer/observers/events) +add_react_common_subdir(react/renderer/observers/intersection) add_react_common_subdir(react/renderer/textlayoutmanager) add_react_common_subdir(react/utils) add_react_common_subdir(react/bridging) @@ -124,6 +125,7 @@ add_react_common_subdir(react/nativemodule/dom) add_react_common_subdir(react/nativemodule/featureflags) add_react_common_subdir(react/nativemodule/microtasks) add_react_common_subdir(react/nativemodule/idlecallbacks) +add_react_common_subdir(react/nativemodule/intersectionobserver) add_react_common_subdir(react/nativemodule/webperformance) add_react_common_subdir(react/networking) add_react_common_subdir(jserrorhandler) @@ -191,6 +193,7 @@ add_library(reactnative $ $ $ + $ $ $ $ @@ -211,6 +214,7 @@ add_library(reactnative $ $ $ + $ $ $ $ @@ -282,6 +286,7 @@ target_include_directories(reactnative $ $ $ + $ $ $ $ diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp index c0a79af014bf..ec2463f855de 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<5b2d44dcf36386f86f26c694d3f00229>> + * @generated SignedSource<> */ /** @@ -219,6 +219,12 @@ class ReactNativeFeatureFlagsJavaProvider return method(javaProvider_); } + bool enableIntersectionObserverByDefault() override { + static const auto method = + getReactNativeFeatureFlagsProviderJavaClass()->getMethod("enableIntersectionObserverByDefault"); + return method(javaProvider_); + } + bool enableKeyEvents() override { static const auto method = getReactNativeFeatureFlagsProviderJavaClass()->getMethod("enableKeyEvents"); @@ -697,6 +703,11 @@ bool JReactNativeFeatureFlagsCxxInterop::enableInteropViewManagerClassLookUpOpti return ReactNativeFeatureFlags::enableInteropViewManagerClassLookUpOptimizationIOS(); } +bool JReactNativeFeatureFlagsCxxInterop::enableIntersectionObserverByDefault( + facebook::jni::alias_ref /*unused*/) { + return ReactNativeFeatureFlags::enableIntersectionObserverByDefault(); +} + bool JReactNativeFeatureFlagsCxxInterop::enableKeyEvents( facebook::jni::alias_ref /*unused*/) { return ReactNativeFeatureFlags::enableKeyEvents(); @@ -1088,6 +1099,9 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() { makeNativeMethod( "enableInteropViewManagerClassLookUpOptimizationIOS", JReactNativeFeatureFlagsCxxInterop::enableInteropViewManagerClassLookUpOptimizationIOS), + makeNativeMethod( + "enableIntersectionObserverByDefault", + JReactNativeFeatureFlagsCxxInterop::enableIntersectionObserverByDefault), makeNativeMethod( "enableKeyEvents", JReactNativeFeatureFlagsCxxInterop::enableKeyEvents), diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h b/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h index debd497db250..dd31d2416dbe 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +++ b/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<5a03db93d78fc1b14283ca3dc92db207>> + * @generated SignedSource<<9853cf162b179249b2c6af120a662cf3>> */ /** @@ -120,6 +120,9 @@ class JReactNativeFeatureFlagsCxxInterop static bool enableInteropViewManagerClassLookUpOptimizationIOS( facebook::jni::alias_ref); + static bool enableIntersectionObserverByDefault( + facebook::jni::alias_ref); + static bool enableKeyEvents( facebook::jni::alias_ref); diff --git a/packages/react-native/ReactCommon/React-Fabric.podspec b/packages/react-native/ReactCommon/React-Fabric.podspec index e19c74b1138c..17d987fa6bd6 100644 --- a/packages/react-native/ReactCommon/React-Fabric.podspec +++ b/packages/react-native/ReactCommon/React-Fabric.podspec @@ -54,7 +54,7 @@ Pod::Spec.new do |s| depend_on_js_engine(s) add_rn_third_party_dependencies(s) add_rncore_dependency(s) - + s.subspec "animated" do |ss| ss.source_files = podspec_sources("react/renderer/animated/**/*.{m,mm,cpp,h}", "react/renderer/animated/**/*.{h}") ss.exclude_files = "react/renderer/animated/tests" @@ -66,7 +66,7 @@ Pod::Spec.new do |s| ss.exclude_files = "react/renderer/animations/tests" ss.header_dir = "react/renderer/animations" end - + s.subspec "animationbackend" do |ss| ss.source_files = podspec_sources("react/renderer/animationbackend/**/*.{m,mm,cpp,h}", "react/renderer/animationbackend/**/*.{h}") ss.header_dir = "react/renderer/animationbackend" @@ -179,6 +179,12 @@ Pod::Spec.new do |s| sss.exclude_files = "react/renderer/observers/events/tests" sss.header_dir = "react/renderer/observers/events" end + + ss.subspec "intersection" do |sss| + sss.source_files = podspec_sources("react/renderer/observers/intersection/**/*.{m,mm,cpp,h}", "react/renderer/observers/intersection/**/*.h") + sss.exclude_files = "react/renderer/observers/intersection/tests" + sss.header_dir = "react/renderer/observers/intersection" + end end s.subspec "templateprocessor" do |ss| diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp index dff8bb8599f9..d7b162a5df86 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<<6728f8cada1d0d9d21800b4fefe76b77>> */ /** @@ -146,6 +146,10 @@ bool ReactNativeFeatureFlags::enableInteropViewManagerClassLookUpOptimizationIOS return getAccessor().enableInteropViewManagerClassLookUpOptimizationIOS(); } +bool ReactNativeFeatureFlags::enableIntersectionObserverByDefault() { + return getAccessor().enableIntersectionObserverByDefault(); +} + bool ReactNativeFeatureFlags::enableKeyEvents() { return getAccessor().enableKeyEvents(); } diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h index 311566fdb5e3..52eddb331117 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<95ab3eb7a8aab0a72095cc9ad7c583ce>> + * @generated SignedSource<<4b8574d0682b5e9644affc89559393ac>> */ /** @@ -189,6 +189,11 @@ class ReactNativeFeatureFlags { */ RN_EXPORT static bool enableInteropViewManagerClassLookUpOptimizationIOS(); + /** + * Enables the IntersectionObserver Web API in React Native. + */ + RN_EXPORT static bool enableIntersectionObserverByDefault(); + /** * Enables key up/down/press events to be sent to JS from components */ diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp index 551a74d89ee4..893d6010279c 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<0985314bcdfe904d33ea0685b4008087>> + * @generated SignedSource<> */ /** @@ -569,6 +569,24 @@ bool ReactNativeFeatureFlagsAccessor::enableInteropViewManagerClassLookUpOptimiz return flagValue.value(); } +bool ReactNativeFeatureFlagsAccessor::enableIntersectionObserverByDefault() { + auto flagValue = enableIntersectionObserverByDefault_.load(); + + if (!flagValue.has_value()) { + // This block is not exclusive but it is not necessary. + // If multiple threads try to initialize the feature flag, we would only + // be accessing the provider multiple times but the end state of this + // instance and the returned flag value would be the same. + + markFlagAsAccessed(30, "enableIntersectionObserverByDefault"); + + flagValue = currentProvider_->enableIntersectionObserverByDefault(); + enableIntersectionObserverByDefault_ = flagValue; + } + + return flagValue.value(); +} + bool ReactNativeFeatureFlagsAccessor::enableKeyEvents() { auto flagValue = enableKeyEvents_.load(); @@ -578,7 +596,7 @@ bool ReactNativeFeatureFlagsAccessor::enableKeyEvents() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(30, "enableKeyEvents"); + markFlagAsAccessed(31, "enableKeyEvents"); flagValue = currentProvider_->enableKeyEvents(); enableKeyEvents_ = flagValue; @@ -596,7 +614,7 @@ bool ReactNativeFeatureFlagsAccessor::enableLayoutAnimationsOnAndroid() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(31, "enableLayoutAnimationsOnAndroid"); + markFlagAsAccessed(32, "enableLayoutAnimationsOnAndroid"); flagValue = currentProvider_->enableLayoutAnimationsOnAndroid(); enableLayoutAnimationsOnAndroid_ = flagValue; @@ -614,7 +632,7 @@ bool ReactNativeFeatureFlagsAccessor::enableLayoutAnimationsOnIOS() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(32, "enableLayoutAnimationsOnIOS"); + markFlagAsAccessed(33, "enableLayoutAnimationsOnIOS"); flagValue = currentProvider_->enableLayoutAnimationsOnIOS(); enableLayoutAnimationsOnIOS_ = flagValue; @@ -632,7 +650,7 @@ bool ReactNativeFeatureFlagsAccessor::enableMainQueueCoordinatorOnIOS() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(33, "enableMainQueueCoordinatorOnIOS"); + markFlagAsAccessed(34, "enableMainQueueCoordinatorOnIOS"); flagValue = currentProvider_->enableMainQueueCoordinatorOnIOS(); enableMainQueueCoordinatorOnIOS_ = flagValue; @@ -650,7 +668,7 @@ bool ReactNativeFeatureFlagsAccessor::enableModuleArgumentNSNullConversionIOS() // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(34, "enableModuleArgumentNSNullConversionIOS"); + markFlagAsAccessed(35, "enableModuleArgumentNSNullConversionIOS"); flagValue = currentProvider_->enableModuleArgumentNSNullConversionIOS(); enableModuleArgumentNSNullConversionIOS_ = flagValue; @@ -668,7 +686,7 @@ bool ReactNativeFeatureFlagsAccessor::enableNativeCSSParsing() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(35, "enableNativeCSSParsing"); + markFlagAsAccessed(36, "enableNativeCSSParsing"); flagValue = currentProvider_->enableNativeCSSParsing(); enableNativeCSSParsing_ = flagValue; @@ -686,7 +704,7 @@ bool ReactNativeFeatureFlagsAccessor::enableNetworkEventReporting() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(36, "enableNetworkEventReporting"); + markFlagAsAccessed(37, "enableNetworkEventReporting"); flagValue = currentProvider_->enableNetworkEventReporting(); enableNetworkEventReporting_ = flagValue; @@ -704,7 +722,7 @@ bool ReactNativeFeatureFlagsAccessor::enablePreparedTextLayout() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(37, "enablePreparedTextLayout"); + markFlagAsAccessed(38, "enablePreparedTextLayout"); flagValue = currentProvider_->enablePreparedTextLayout(); enablePreparedTextLayout_ = flagValue; @@ -722,7 +740,7 @@ bool ReactNativeFeatureFlagsAccessor::enablePropsUpdateReconciliationAndroid() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(38, "enablePropsUpdateReconciliationAndroid"); + markFlagAsAccessed(39, "enablePropsUpdateReconciliationAndroid"); flagValue = currentProvider_->enablePropsUpdateReconciliationAndroid(); enablePropsUpdateReconciliationAndroid_ = flagValue; @@ -740,7 +758,7 @@ bool ReactNativeFeatureFlagsAccessor::enableResourceTimingAPI() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(39, "enableResourceTimingAPI"); + markFlagAsAccessed(40, "enableResourceTimingAPI"); flagValue = currentProvider_->enableResourceTimingAPI(); enableResourceTimingAPI_ = flagValue; @@ -758,7 +776,7 @@ bool ReactNativeFeatureFlagsAccessor::enableSwiftUIBasedFilters() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(40, "enableSwiftUIBasedFilters"); + markFlagAsAccessed(41, "enableSwiftUIBasedFilters"); flagValue = currentProvider_->enableSwiftUIBasedFilters(); enableSwiftUIBasedFilters_ = flagValue; @@ -776,7 +794,7 @@ bool ReactNativeFeatureFlagsAccessor::enableViewCulling() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(41, "enableViewCulling"); + markFlagAsAccessed(42, "enableViewCulling"); flagValue = currentProvider_->enableViewCulling(); enableViewCulling_ = flagValue; @@ -794,7 +812,7 @@ bool ReactNativeFeatureFlagsAccessor::enableViewRecycling() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(42, "enableViewRecycling"); + markFlagAsAccessed(43, "enableViewRecycling"); flagValue = currentProvider_->enableViewRecycling(); enableViewRecycling_ = flagValue; @@ -812,7 +830,7 @@ bool ReactNativeFeatureFlagsAccessor::enableViewRecyclingForImage() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(43, "enableViewRecyclingForImage"); + markFlagAsAccessed(44, "enableViewRecyclingForImage"); flagValue = currentProvider_->enableViewRecyclingForImage(); enableViewRecyclingForImage_ = flagValue; @@ -830,7 +848,7 @@ bool ReactNativeFeatureFlagsAccessor::enableViewRecyclingForScrollView() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(44, "enableViewRecyclingForScrollView"); + markFlagAsAccessed(45, "enableViewRecyclingForScrollView"); flagValue = currentProvider_->enableViewRecyclingForScrollView(); enableViewRecyclingForScrollView_ = flagValue; @@ -848,7 +866,7 @@ bool ReactNativeFeatureFlagsAccessor::enableViewRecyclingForText() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(45, "enableViewRecyclingForText"); + markFlagAsAccessed(46, "enableViewRecyclingForText"); flagValue = currentProvider_->enableViewRecyclingForText(); enableViewRecyclingForText_ = flagValue; @@ -866,7 +884,7 @@ bool ReactNativeFeatureFlagsAccessor::enableViewRecyclingForView() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(46, "enableViewRecyclingForView"); + markFlagAsAccessed(47, "enableViewRecyclingForView"); flagValue = currentProvider_->enableViewRecyclingForView(); enableViewRecyclingForView_ = flagValue; @@ -884,7 +902,7 @@ bool ReactNativeFeatureFlagsAccessor::enableVirtualViewClippingWithoutScrollView // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(47, "enableVirtualViewClippingWithoutScrollViewClipping"); + markFlagAsAccessed(48, "enableVirtualViewClippingWithoutScrollViewClipping"); flagValue = currentProvider_->enableVirtualViewClippingWithoutScrollViewClipping(); enableVirtualViewClippingWithoutScrollViewClipping_ = flagValue; @@ -902,7 +920,7 @@ bool ReactNativeFeatureFlagsAccessor::enableVirtualViewContainerStateExperimenta // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(48, "enableVirtualViewContainerStateExperimental"); + markFlagAsAccessed(49, "enableVirtualViewContainerStateExperimental"); flagValue = currentProvider_->enableVirtualViewContainerStateExperimental(); enableVirtualViewContainerStateExperimental_ = flagValue; @@ -920,7 +938,7 @@ bool ReactNativeFeatureFlagsAccessor::enableVirtualViewDebugFeatures() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(49, "enableVirtualViewDebugFeatures"); + markFlagAsAccessed(50, "enableVirtualViewDebugFeatures"); flagValue = currentProvider_->enableVirtualViewDebugFeatures(); enableVirtualViewDebugFeatures_ = flagValue; @@ -938,7 +956,7 @@ bool ReactNativeFeatureFlagsAccessor::enableVirtualViewRenderState() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(50, "enableVirtualViewRenderState"); + markFlagAsAccessed(51, "enableVirtualViewRenderState"); flagValue = currentProvider_->enableVirtualViewRenderState(); enableVirtualViewRenderState_ = flagValue; @@ -956,7 +974,7 @@ bool ReactNativeFeatureFlagsAccessor::enableVirtualViewWindowFocusDetection() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(51, "enableVirtualViewWindowFocusDetection"); + markFlagAsAccessed(52, "enableVirtualViewWindowFocusDetection"); flagValue = currentProvider_->enableVirtualViewWindowFocusDetection(); enableVirtualViewWindowFocusDetection_ = flagValue; @@ -974,7 +992,7 @@ bool ReactNativeFeatureFlagsAccessor::enableWebPerformanceAPIsByDefault() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(52, "enableWebPerformanceAPIsByDefault"); + markFlagAsAccessed(53, "enableWebPerformanceAPIsByDefault"); flagValue = currentProvider_->enableWebPerformanceAPIsByDefault(); enableWebPerformanceAPIsByDefault_ = flagValue; @@ -992,7 +1010,7 @@ bool ReactNativeFeatureFlagsAccessor::fixMappingOfEventPrioritiesBetweenFabricAn // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(53, "fixMappingOfEventPrioritiesBetweenFabricAndReact"); + markFlagAsAccessed(54, "fixMappingOfEventPrioritiesBetweenFabricAndReact"); flagValue = currentProvider_->fixMappingOfEventPrioritiesBetweenFabricAndReact(); fixMappingOfEventPrioritiesBetweenFabricAndReact_ = flagValue; @@ -1010,7 +1028,7 @@ bool ReactNativeFeatureFlagsAccessor::fuseboxAssertSingleHostState() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(54, "fuseboxAssertSingleHostState"); + markFlagAsAccessed(55, "fuseboxAssertSingleHostState"); flagValue = currentProvider_->fuseboxAssertSingleHostState(); fuseboxAssertSingleHostState_ = flagValue; @@ -1028,7 +1046,7 @@ bool ReactNativeFeatureFlagsAccessor::fuseboxEnabledRelease() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(55, "fuseboxEnabledRelease"); + markFlagAsAccessed(56, "fuseboxEnabledRelease"); flagValue = currentProvider_->fuseboxEnabledRelease(); fuseboxEnabledRelease_ = flagValue; @@ -1046,7 +1064,7 @@ bool ReactNativeFeatureFlagsAccessor::fuseboxNetworkInspectionEnabled() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(56, "fuseboxNetworkInspectionEnabled"); + markFlagAsAccessed(57, "fuseboxNetworkInspectionEnabled"); flagValue = currentProvider_->fuseboxNetworkInspectionEnabled(); fuseboxNetworkInspectionEnabled_ = flagValue; @@ -1064,7 +1082,7 @@ bool ReactNativeFeatureFlagsAccessor::hideOffscreenVirtualViewsOnIOS() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(57, "hideOffscreenVirtualViewsOnIOS"); + markFlagAsAccessed(58, "hideOffscreenVirtualViewsOnIOS"); flagValue = currentProvider_->hideOffscreenVirtualViewsOnIOS(); hideOffscreenVirtualViewsOnIOS_ = flagValue; @@ -1082,7 +1100,7 @@ bool ReactNativeFeatureFlagsAccessor::overrideBySynchronousMountPropsAtMountingA // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(58, "overrideBySynchronousMountPropsAtMountingAndroid"); + markFlagAsAccessed(59, "overrideBySynchronousMountPropsAtMountingAndroid"); flagValue = currentProvider_->overrideBySynchronousMountPropsAtMountingAndroid(); overrideBySynchronousMountPropsAtMountingAndroid_ = flagValue; @@ -1100,7 +1118,7 @@ bool ReactNativeFeatureFlagsAccessor::perfIssuesEnabled() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(59, "perfIssuesEnabled"); + markFlagAsAccessed(60, "perfIssuesEnabled"); flagValue = currentProvider_->perfIssuesEnabled(); perfIssuesEnabled_ = flagValue; @@ -1118,7 +1136,7 @@ bool ReactNativeFeatureFlagsAccessor::perfMonitorV2Enabled() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(60, "perfMonitorV2Enabled"); + markFlagAsAccessed(61, "perfMonitorV2Enabled"); flagValue = currentProvider_->perfMonitorV2Enabled(); perfMonitorV2Enabled_ = flagValue; @@ -1136,7 +1154,7 @@ double ReactNativeFeatureFlagsAccessor::preparedTextCacheSize() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(61, "preparedTextCacheSize"); + markFlagAsAccessed(62, "preparedTextCacheSize"); flagValue = currentProvider_->preparedTextCacheSize(); preparedTextCacheSize_ = flagValue; @@ -1154,7 +1172,7 @@ bool ReactNativeFeatureFlagsAccessor::preventShadowTreeCommitExhaustion() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(62, "preventShadowTreeCommitExhaustion"); + markFlagAsAccessed(63, "preventShadowTreeCommitExhaustion"); flagValue = currentProvider_->preventShadowTreeCommitExhaustion(); preventShadowTreeCommitExhaustion_ = flagValue; @@ -1172,7 +1190,7 @@ bool ReactNativeFeatureFlagsAccessor::shouldPressibilityUseW3CPointerEventsForHo // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(63, "shouldPressibilityUseW3CPointerEventsForHover"); + markFlagAsAccessed(64, "shouldPressibilityUseW3CPointerEventsForHover"); flagValue = currentProvider_->shouldPressibilityUseW3CPointerEventsForHover(); shouldPressibilityUseW3CPointerEventsForHover_ = flagValue; @@ -1190,7 +1208,7 @@ bool ReactNativeFeatureFlagsAccessor::shouldTriggerResponderTransferOnScrollAndr // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(64, "shouldTriggerResponderTransferOnScrollAndroid"); + markFlagAsAccessed(65, "shouldTriggerResponderTransferOnScrollAndroid"); flagValue = currentProvider_->shouldTriggerResponderTransferOnScrollAndroid(); shouldTriggerResponderTransferOnScrollAndroid_ = flagValue; @@ -1208,7 +1226,7 @@ bool ReactNativeFeatureFlagsAccessor::skipActivityIdentityAssertionOnHostPause() // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(65, "skipActivityIdentityAssertionOnHostPause"); + markFlagAsAccessed(66, "skipActivityIdentityAssertionOnHostPause"); flagValue = currentProvider_->skipActivityIdentityAssertionOnHostPause(); skipActivityIdentityAssertionOnHostPause_ = flagValue; @@ -1226,7 +1244,7 @@ bool ReactNativeFeatureFlagsAccessor::sweepActiveTouchOnChildNativeGesturesAndro // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(66, "sweepActiveTouchOnChildNativeGesturesAndroid"); + markFlagAsAccessed(67, "sweepActiveTouchOnChildNativeGesturesAndroid"); flagValue = currentProvider_->sweepActiveTouchOnChildNativeGesturesAndroid(); sweepActiveTouchOnChildNativeGesturesAndroid_ = flagValue; @@ -1244,7 +1262,7 @@ bool ReactNativeFeatureFlagsAccessor::traceTurboModulePromiseRejectionsOnAndroid // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(67, "traceTurboModulePromiseRejectionsOnAndroid"); + markFlagAsAccessed(68, "traceTurboModulePromiseRejectionsOnAndroid"); flagValue = currentProvider_->traceTurboModulePromiseRejectionsOnAndroid(); traceTurboModulePromiseRejectionsOnAndroid_ = flagValue; @@ -1262,7 +1280,7 @@ bool ReactNativeFeatureFlagsAccessor::updateRuntimeShadowNodeReferencesOnCommit( // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(68, "updateRuntimeShadowNodeReferencesOnCommit"); + markFlagAsAccessed(69, "updateRuntimeShadowNodeReferencesOnCommit"); flagValue = currentProvider_->updateRuntimeShadowNodeReferencesOnCommit(); updateRuntimeShadowNodeReferencesOnCommit_ = flagValue; @@ -1280,7 +1298,7 @@ bool ReactNativeFeatureFlagsAccessor::useAlwaysAvailableJSErrorHandling() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(69, "useAlwaysAvailableJSErrorHandling"); + markFlagAsAccessed(70, "useAlwaysAvailableJSErrorHandling"); flagValue = currentProvider_->useAlwaysAvailableJSErrorHandling(); useAlwaysAvailableJSErrorHandling_ = flagValue; @@ -1298,7 +1316,7 @@ bool ReactNativeFeatureFlagsAccessor::useFabricInterop() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(70, "useFabricInterop"); + markFlagAsAccessed(71, "useFabricInterop"); flagValue = currentProvider_->useFabricInterop(); useFabricInterop_ = flagValue; @@ -1316,7 +1334,7 @@ bool ReactNativeFeatureFlagsAccessor::useNativeEqualsInNativeReadableArrayAndroi // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(71, "useNativeEqualsInNativeReadableArrayAndroid"); + markFlagAsAccessed(72, "useNativeEqualsInNativeReadableArrayAndroid"); flagValue = currentProvider_->useNativeEqualsInNativeReadableArrayAndroid(); useNativeEqualsInNativeReadableArrayAndroid_ = flagValue; @@ -1334,7 +1352,7 @@ bool ReactNativeFeatureFlagsAccessor::useNativeTransformHelperAndroid() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(72, "useNativeTransformHelperAndroid"); + markFlagAsAccessed(73, "useNativeTransformHelperAndroid"); flagValue = currentProvider_->useNativeTransformHelperAndroid(); useNativeTransformHelperAndroid_ = flagValue; @@ -1352,7 +1370,7 @@ bool ReactNativeFeatureFlagsAccessor::useNativeViewConfigsInBridgelessMode() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(73, "useNativeViewConfigsInBridgelessMode"); + markFlagAsAccessed(74, "useNativeViewConfigsInBridgelessMode"); flagValue = currentProvider_->useNativeViewConfigsInBridgelessMode(); useNativeViewConfigsInBridgelessMode_ = flagValue; @@ -1370,7 +1388,7 @@ bool ReactNativeFeatureFlagsAccessor::useOptimizedEventBatchingOnAndroid() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(74, "useOptimizedEventBatchingOnAndroid"); + markFlagAsAccessed(75, "useOptimizedEventBatchingOnAndroid"); flagValue = currentProvider_->useOptimizedEventBatchingOnAndroid(); useOptimizedEventBatchingOnAndroid_ = flagValue; @@ -1388,7 +1406,7 @@ bool ReactNativeFeatureFlagsAccessor::useRawPropsJsiValue() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(75, "useRawPropsJsiValue"); + markFlagAsAccessed(76, "useRawPropsJsiValue"); flagValue = currentProvider_->useRawPropsJsiValue(); useRawPropsJsiValue_ = flagValue; @@ -1406,7 +1424,7 @@ bool ReactNativeFeatureFlagsAccessor::useShadowNodeStateOnClone() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(76, "useShadowNodeStateOnClone"); + markFlagAsAccessed(77, "useShadowNodeStateOnClone"); flagValue = currentProvider_->useShadowNodeStateOnClone(); useShadowNodeStateOnClone_ = flagValue; @@ -1424,7 +1442,7 @@ bool ReactNativeFeatureFlagsAccessor::useSharedAnimatedBackend() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(77, "useSharedAnimatedBackend"); + markFlagAsAccessed(78, "useSharedAnimatedBackend"); flagValue = currentProvider_->useSharedAnimatedBackend(); useSharedAnimatedBackend_ = flagValue; @@ -1442,7 +1460,7 @@ bool ReactNativeFeatureFlagsAccessor::useTraitHiddenOnAndroid() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(78, "useTraitHiddenOnAndroid"); + markFlagAsAccessed(79, "useTraitHiddenOnAndroid"); flagValue = currentProvider_->useTraitHiddenOnAndroid(); useTraitHiddenOnAndroid_ = flagValue; @@ -1460,7 +1478,7 @@ bool ReactNativeFeatureFlagsAccessor::useTurboModuleInterop() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(79, "useTurboModuleInterop"); + markFlagAsAccessed(80, "useTurboModuleInterop"); flagValue = currentProvider_->useTurboModuleInterop(); useTurboModuleInterop_ = flagValue; @@ -1478,7 +1496,7 @@ bool ReactNativeFeatureFlagsAccessor::useTurboModules() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(80, "useTurboModules"); + markFlagAsAccessed(81, "useTurboModules"); flagValue = currentProvider_->useTurboModules(); useTurboModules_ = flagValue; @@ -1496,7 +1514,7 @@ double ReactNativeFeatureFlagsAccessor::viewCullingOutsetRatio() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(81, "viewCullingOutsetRatio"); + markFlagAsAccessed(82, "viewCullingOutsetRatio"); flagValue = currentProvider_->viewCullingOutsetRatio(); viewCullingOutsetRatio_ = flagValue; @@ -1514,7 +1532,7 @@ double ReactNativeFeatureFlagsAccessor::virtualViewHysteresisRatio() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(82, "virtualViewHysteresisRatio"); + markFlagAsAccessed(83, "virtualViewHysteresisRatio"); flagValue = currentProvider_->virtualViewHysteresisRatio(); virtualViewHysteresisRatio_ = flagValue; @@ -1532,7 +1550,7 @@ double ReactNativeFeatureFlagsAccessor::virtualViewPrerenderRatio() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(83, "virtualViewPrerenderRatio"); + markFlagAsAccessed(84, "virtualViewPrerenderRatio"); flagValue = currentProvider_->virtualViewPrerenderRatio(); virtualViewPrerenderRatio_ = flagValue; diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h index bcd6e12ef35e..121a013433cc 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<5864ef780bdc795d47c096b16bf248b5>> + * @generated SignedSource<> */ /** @@ -62,6 +62,7 @@ class ReactNativeFeatureFlagsAccessor { bool enableImmediateUpdateModeForContentOffsetChanges(); bool enableImperativeFocus(); bool enableInteropViewManagerClassLookUpOptimizationIOS(); + bool enableIntersectionObserverByDefault(); bool enableKeyEvents(); bool enableLayoutAnimationsOnAndroid(); bool enableLayoutAnimationsOnIOS(); @@ -127,7 +128,7 @@ class ReactNativeFeatureFlagsAccessor { std::unique_ptr currentProvider_; bool wasOverridden_; - std::array, 84> accessedFeatureFlags_; + std::array, 85> accessedFeatureFlags_; std::atomic> commonTestFlag_; std::atomic> cdpInteractionMetricsEnabled_; @@ -159,6 +160,7 @@ class ReactNativeFeatureFlagsAccessor { std::atomic> enableImmediateUpdateModeForContentOffsetChanges_; std::atomic> enableImperativeFocus_; std::atomic> enableInteropViewManagerClassLookUpOptimizationIOS_; + std::atomic> enableIntersectionObserverByDefault_; std::atomic> enableKeyEvents_; std::atomic> enableLayoutAnimationsOnAndroid_; std::atomic> enableLayoutAnimationsOnIOS_; diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h index fa5ec5a8e91b..d9215c687c12 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<84f99a0fde50ce70a8da2762dbb1a7af>> + * @generated SignedSource<> */ /** @@ -147,6 +147,10 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider { return false; } + bool enableIntersectionObserverByDefault() override { + return false; + } + bool enableKeyEvents() override { return false; } diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h index a8c59d55b7c0..084452c4f3e8 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<394e4281884f0d2519d680974d2ebfe5>> + * @generated SignedSource<> */ /** @@ -315,6 +315,15 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef return ReactNativeFeatureFlagsDefaults::enableInteropViewManagerClassLookUpOptimizationIOS(); } + bool enableIntersectionObserverByDefault() override { + auto value = values_["enableIntersectionObserverByDefault"]; + if (!value.isNull()) { + return value.getBool(); + } + + return ReactNativeFeatureFlagsDefaults::enableIntersectionObserverByDefault(); + } + bool enableKeyEvents() override { auto value = values_["enableKeyEvents"]; if (!value.isNull()) { diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h index 72a9eb06367e..8b4606a4810b 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<<1b2061068e0d6c9ca362ceddd97862da>> */ /** @@ -35,6 +35,10 @@ class ReactNativeFeatureFlagsOverridesOSSCanary : public ReactNativeFeatureFlags return true; } + bool enableIntersectionObserverByDefault() override { + return true; + } + bool useNativeViewConfigsInBridgelessMode() override { return true; } diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h index a3c21a23adcd..acce771423a4 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<045cc4e4390d6ddf2ca252ff4c8f399d>> + * @generated SignedSource<<06c6740fe7d613f235ae791da750bd52>> */ /** @@ -55,6 +55,7 @@ class ReactNativeFeatureFlagsProvider { virtual bool enableImmediateUpdateModeForContentOffsetChanges() = 0; virtual bool enableImperativeFocus() = 0; virtual bool enableInteropViewManagerClassLookUpOptimizationIOS() = 0; + virtual bool enableIntersectionObserverByDefault() = 0; virtual bool enableKeyEvents() = 0; virtual bool enableLayoutAnimationsOnAndroid() = 0; virtual bool enableLayoutAnimationsOnIOS() = 0; diff --git a/packages/react-native/ReactCommon/react/nativemodule/defaults/CMakeLists.txt b/packages/react-native/ReactCommon/react/nativemodule/defaults/CMakeLists.txt index fb026a09ca27..42bcbe2724ff 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/nativemodule/defaults/CMakeLists.txt @@ -21,6 +21,7 @@ target_link_libraries(react_nativemodule_defaults react_nativemodule_featureflags react_nativemodule_microtasks react_nativemodule_idlecallbacks + react_nativemodule_intersectionobserver react_nativemodule_webperformance ) target_compile_reactnative_options(react_nativemodule_defaults PRIVATE) diff --git a/packages/react-native/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp b/packages/react-native/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp index 9eb531acabec..99b37a1398d2 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +++ b/packages/react-native/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -44,6 +45,12 @@ namespace facebook::react { } } + if (ReactNativeFeatureFlags::enableIntersectionObserverByDefault()) { + if (name == NativeIntersectionObserver::kModuleName) { + return std::make_shared(jsInvoker); + } + } + #ifdef REACT_NATIVE_DEBUGGER_ENABLED_DEVONLY if (name == DevToolsRuntimeSettingsModule::kModuleName) { return std::make_shared(jsInvoker); diff --git a/packages/react-native/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec b/packages/react-native/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec index dd44c33def24..cacd372e6ff1 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +++ b/packages/react-native/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec @@ -16,7 +16,9 @@ else source[:tag] = "v#{version}" end -header_search_paths = [] +header_search_paths = [ + "\"$(PODS_ROOT)/Headers/Private/Yoga\"", +] if ENV['USE_FRAMEWORKS'] header_search_paths << "\"$(PODS_TARGET_SRCROOT)/../../..\"" # this is needed to allow the defaultsnativemodule to access its own files @@ -40,6 +42,7 @@ Pod::Spec.new do |s| resolve_use_frameworks(s, header_mappings_dir: "../..", module_name: "React_defaultsnativemodule") + s.dependency "Yoga" s.dependency "React-jsi" s.dependency "React-jsiexecutor" depend_on_js_engine(s) @@ -49,6 +52,7 @@ Pod::Spec.new do |s| s.dependency "React-domnativemodule" s.dependency "React-microtasksnativemodule" s.dependency "React-idlecallbacksnativemodule" + s.dependency "React-intersectionobservernativemodule" s.dependency "React-webperformancenativemodule" add_dependency(s, "React-RCTFBReactNativeSpec") add_dependency(s, "React-featureflags") diff --git a/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp b/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp index f78e469fdfc8..28a1eda002ba 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +++ b/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<368a69d36f8c7aef0103deb940751012>> + * @generated SignedSource<<3f6cc9604905bb29a9524a97eaa294bd>> */ /** @@ -194,6 +194,11 @@ bool NativeReactNativeFeatureFlags::enableInteropViewManagerClassLookUpOptimizat return ReactNativeFeatureFlags::enableInteropViewManagerClassLookUpOptimizationIOS(); } +bool NativeReactNativeFeatureFlags::enableIntersectionObserverByDefault( + jsi::Runtime& /*runtime*/) { + return ReactNativeFeatureFlags::enableIntersectionObserverByDefault(); +} + bool NativeReactNativeFeatureFlags::enableKeyEvents( jsi::Runtime& /*runtime*/) { return ReactNativeFeatureFlags::enableKeyEvents(); diff --git a/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h b/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h index 2e8f6a62430d..2cbe1b923c95 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +++ b/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<5b7229fbb99de21237fa8d69da46a057>> + * @generated SignedSource<> */ /** @@ -96,6 +96,8 @@ class NativeReactNativeFeatureFlags bool enableInteropViewManagerClassLookUpOptimizationIOS(jsi::Runtime& runtime); + bool enableIntersectionObserverByDefault(jsi::Runtime& runtime); + bool enableKeyEvents(jsi::Runtime& runtime); bool enableLayoutAnimationsOnAndroid(jsi::Runtime& runtime); diff --git a/packages/react-native/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h b/packages/react-native/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h index dc399a5201e2..7399355346be 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +++ b/packages/react-native/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h @@ -7,7 +7,11 @@ #pragma once +#if __has_include("FBReactNativeSpecJSI.h") // CocoaPod headers on Apple +#include "FBReactNativeSpecJSI.h" +#else #include +#endif #include #include #include diff --git a/packages/react-native/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec b/packages/react-native/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec new file mode 100644 index 000000000000..089512b1cf9e --- /dev/null +++ b/packages/react-native/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec @@ -0,0 +1,66 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# +# This source code is licensed under the MIT license found in the +# LICENSE file in the root directory of this source tree. + +require "json" + +package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json"))) +version = package['version'] + +source = { :git => 'https://github.com/facebook/react-native.git' } +if version == '1000.0.0' + # This is an unpublished version, use the latest commit hash of the react-native repo, which we're presumably in. + source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1") +else + source[:tag] = "v#{version}" +end + +header_search_paths = [ + "\"$(PODS_ROOT)/Headers/Private/Yoga\"", +] + +if ENV['USE_FRAMEWORKS'] + header_search_paths << "\"$(PODS_TARGET_SRCROOT)/../../..\"" # this is needed to allow the module access its own files +end + +Pod::Spec.new do |s| + s.name = "React-intersectionobservernativemodule" + s.version = version + s.summary = "React Native intersection observer native module" + s.homepage = "https://reactnative.dev/" + s.license = package["license"] + s.author = "Meta Platforms, Inc. and its affiliates" + s.platforms = min_supported_versions + s.source = source + s.source_files = podspec_sources("*.{cpp,h}", "*.h") + s.header_dir = "react/nativemodule/intersectionobserver" + s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(), + "HEADER_SEARCH_PATHS" => header_search_paths.join(' '), + "OTHER_CFLAGS" => "$(inherited)", + "DEFINES_MODULE" => "YES" } + + if ENV['USE_FRAMEWORKS'] + s.module_name = "intersectionobservernativemodule" + s.header_mappings_dir = "../.." + end + + s.dependency "Yoga" + s.dependency "React-jsi" + s.dependency "React-jsiexecutor" + s.dependency "React-cxxreact" + + depend_on_js_engine(s) + add_rn_third_party_dependencies(s) + add_rncore_dependency(s) + + s.dependency "ReactCommon/turbomodule/core" + + s.dependency "React-Fabric" + s.dependency "React-Fabric/bridging" + s.dependency "React-runtimescheduler" + add_dependency(s, "React-RCTFBReactNativeSpec") + add_dependency(s, "React-runtimeexecutor", :additional_framework_paths => ["platform/ios"]) + add_dependency(s, "React-graphics", :additional_framework_paths => ["react/renderer/graphics/platform/ios"]) + +end diff --git a/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js b/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js index fc6e843e690f..fd4fe08920f4 100644 --- a/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js +++ b/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js @@ -368,6 +368,16 @@ const definitions: FeatureFlagDefinitions = { }, ossReleaseStage: 'none', }, + enableIntersectionObserverByDefault: { + defaultValue: false, + metadata: { + description: + 'Enables the IntersectionObserver Web API in React Native.', + expectedReleaseValue: true, + purpose: 'release', + }, + ossReleaseStage: 'canary', + }, enableKeyEvents: { defaultValue: false, metadata: { diff --git a/packages/react-native/scripts/react_native_pods.rb b/packages/react-native/scripts/react_native_pods.rb index 72c267389c39..75b21b486136 100644 --- a/packages/react-native/scripts/react_native_pods.rb +++ b/packages/react-native/scripts/react_native_pods.rb @@ -143,6 +143,7 @@ def use_react_native! ( pod 'React-featureflagsnativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/featureflags" pod 'React-microtasksnativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/microtasks" pod 'React-idlecallbacksnativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/idlecallbacks" + pod 'React-intersectionobservernativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/intersectionobserver" pod 'React-webperformancenativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/webperformance" pod 'React-domnativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/dom" pod 'React-defaultsnativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/defaults" diff --git a/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js b/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js index d2ef9a434488..c4486650b142 100644 --- a/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js +++ b/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<472646b95362ace71083c0a471aa8878>> + * @generated SignedSource<<34396328d3a94a231e5bb28b1d7925a7>> * @flow strict * @noformat */ @@ -80,6 +80,7 @@ export type ReactNativeFeatureFlags = $ReadOnly<{ enableImmediateUpdateModeForContentOffsetChanges: Getter, enableImperativeFocus: Getter, enableInteropViewManagerClassLookUpOptimizationIOS: Getter, + enableIntersectionObserverByDefault: Getter, enableKeyEvents: Getter, enableLayoutAnimationsOnAndroid: Getter, enableLayoutAnimationsOnIOS: Getter, @@ -335,6 +336,10 @@ export const enableImperativeFocus: Getter = createNativeFlagGetter('en * This is to fix the issue with interop view manager where component descriptor lookup is causing ViewManager to preload. */ export const enableInteropViewManagerClassLookUpOptimizationIOS: Getter = createNativeFlagGetter('enableInteropViewManagerClassLookUpOptimizationIOS', false); +/** + * Enables the IntersectionObserver Web API in React Native. + */ +export const enableIntersectionObserverByDefault: Getter = createNativeFlagGetter('enableIntersectionObserverByDefault', false); /** * Enables key up/down/press events to be sent to JS from components */ diff --git a/packages/react-native/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js b/packages/react-native/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js index 7b6c0ce1a661..1fb807a4e4ca 100644 --- a/packages/react-native/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +++ b/packages/react-native/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<> * @flow strict * @noformat */ @@ -55,6 +55,7 @@ export interface Spec extends TurboModule { +enableImmediateUpdateModeForContentOffsetChanges?: () => boolean; +enableImperativeFocus?: () => boolean; +enableInteropViewManagerClassLookUpOptimizationIOS?: () => boolean; + +enableIntersectionObserverByDefault?: () => boolean; +enableKeyEvents?: () => boolean; +enableLayoutAnimationsOnAndroid?: () => boolean; +enableLayoutAnimationsOnIOS?: () => boolean; diff --git a/packages/react-native/src/private/setup/setUpDefaultReactNativeEnvironment.js b/packages/react-native/src/private/setup/setUpDefaultReactNativeEnvironment.js index d35bf8057661..9df7e8b8fc66 100644 --- a/packages/react-native/src/private/setup/setUpDefaultReactNativeEnvironment.js +++ b/packages/react-native/src/private/setup/setUpDefaultReactNativeEnvironment.js @@ -41,4 +41,10 @@ export default function setUpDefaltReactNativeEnvironment( } require('../../../Libraries/ReactNative/AppRegistry'); + + if ( + require('../../../src/private/featureflags/ReactNativeFeatureFlags').enableIntersectionObserverByDefault() + ) { + require('./setUpIntersectionObserver').default(); + } } diff --git a/packages/rn-tester/js/examples/IntersectionObserver/IntersectionObserverBenchmark.js b/packages/rn-tester/js/examples/IntersectionObserver/IntersectionObserverBenchmark.js new file mode 100644 index 000000000000..660d0f096f38 --- /dev/null +++ b/packages/rn-tester/js/examples/IntersectionObserver/IntersectionObserverBenchmark.js @@ -0,0 +1,129 @@ +/** + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * @flow strict-local + * @format + */ + +import type IntersectionObserverType from 'react-native/src/private/webapis/intersectionobserver/IntersectionObserver'; + +import {RNTesterThemeContext} from '../../components/RNTesterTheme'; +import * as React from 'react'; +import { + type ElementRef, + useContext, + useLayoutEffect, + useRef, + useState, +} from 'react'; +import {Button, ScrollView, StyleSheet, Text, View} from 'react-native'; + +declare var IntersectionObserver: Class; + +export const name = 'IntersectionObserver Benchmark'; +export const title = name; +export const description = + 'Example of using IntersectionObserver to observe a large amount of UI elements'; + +export function render(): React.Node { + return ; +} + +const ROWS = 100; +const COLUMNS = 5; + +function IntersectionObserverBenchark(): React.Node { + const [isObserving, setObserving] = useState(false); + + return ( + <> + +