react-native 0.83.0-rc.0 → 0.84.0-nightly-20251105-5ec5cc3a3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/Libraries/AppDelegate/RCTReactNativeFactory.h +3 -0
  2. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +12 -0
  3. package/Libraries/AppDelegate/RCTRootViewFactory.h +10 -4
  4. package/Libraries/AppDelegate/RCTRootViewFactory.mm +21 -5
  5. package/Libraries/Core/ReactNativeVersion.js +2 -2
  6. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +2 -2
  7. package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +3 -0
  8. package/React/Base/RCTBundleManager.h +59 -7
  9. package/React/Base/RCTBundleManager.m +98 -0
  10. package/React/Base/RCTBundleURLProvider.h +24 -0
  11. package/React/Base/RCTBundleURLProvider.mm +49 -4
  12. package/React/Base/RCTVersion.m +2 -2
  13. package/React/CoreModules/RCTPlatform.mm +3 -2
  14. package/React/CxxBridge/RCTCxxBridge.mm +1 -2
  15. package/React/CxxModule/RCTCxxUtils.mm +1 -11
  16. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +127 -135
  17. package/ReactAndroid/gradle.properties +1 -1
  18. package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.kt +7 -7
  19. package/ReactAndroid/src/main/java/com/facebook/react/ViewManagerOnDemandReactPackage.kt +53 -4
  20. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +99 -9
  21. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -1
  22. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayManager.kt +22 -1
  23. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +4 -3
  24. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +2 -8
  25. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +1 -11
  26. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +1 -3
  27. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +1 -3
  28. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +1 -12
  29. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +1 -3
  30. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
  31. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/JSTouchDispatcher.kt +1 -2
  32. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactAxOrderHelper.kt +47 -0
  33. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEvent.kt +5 -4
  34. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +23 -3
  35. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +7 -2
  36. package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp +29 -2
  37. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +1 -15
  38. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +1 -4
  39. package/ReactAndroid/src/main/jni/react/jni/JSLoader.cpp +1 -1
  40. package/ReactAndroid/src/main/jni/react/jni/JSLoader.h +2 -1
  41. package/ReactAndroid/src/main/res/devsupport/drawable/ic_perf_issue.xml +10 -0
  42. package/ReactCommon/cxxreact/JSBigString.h +14 -5
  43. package/ReactCommon/cxxreact/JSIndexedRAMBundle.cpp +4 -5
  44. package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
  45. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +2 -3
  46. package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.h +2 -2
  47. package/ReactCommon/jsinspector-modern/PerfMonitorV2.cpp +9 -1
  48. package/ReactCommon/jsinspector-modern/PerfMonitorV2.h +4 -1
  49. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +1 -7
  50. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +3 -55
  51. package/ReactCommon/jsinspector-modern/tests/TracingTest.h +82 -0
  52. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +99 -0
  53. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +47 -1
  54. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +1 -5
  55. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +2 -7
  56. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +18 -36
  57. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +2 -4
  58. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +1 -5
  59. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +1 -10
  60. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +1 -2
  61. package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModuleManager.mm +4 -27
  62. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +1 -6
  63. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +1 -3
  64. package/ReactCommon/react/performance/cdpmetrics/CdpPerfIssuesReporter.cpp +4 -2
  65. package/ReactCommon/react/renderer/css/CSSSyntaxParser.h +7 -0
  66. package/ReactCommon/react/runtime/ReactInstance.cpp +4 -4
  67. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.h +3 -2
  68. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +10 -6
  69. package/ReactCommon/yoga/yoga/style/StyleLength.h +7 -0
  70. package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +7 -0
  71. package/package.json +9 -9
  72. package/sdks/hermes-engine/version.properties +1 -1
  73. package/src/private/components/virtualview/VirtualView.js +16 -9
  74. package/src/private/components/virtualview/logger/VirtualViewLogger.js +21 -0
  75. package/src/private/components/virtualview/logger/VirtualViewLoggerTypes.js +24 -0
  76. package/src/private/featureflags/ReactNativeFeatureFlags.js +2 -7
  77. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +1 -2
  78. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +48 -0
  79. package/types_generated/src/private/components/virtualview/VirtualView.d.ts +3 -1
  80. package/React/CxxModule/RCTCxxModule.h +0 -29
  81. package/React/CxxModule/RCTCxxModule.mm +0 -87
  82. package/sdks/.hermesversion +0 -1
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<41492e85e1feeb20d2e3e60b6cc6cbe7>>
7
+ * @generated SignedSource<<7e530e01e8c31edb68099a11bc371b89>>
8
8
  */
9
9
 
10
10
  /**
@@ -330,7 +330,7 @@ class ReactNativeFeatureFlags {
330
330
  RN_EXPORT static bool overrideBySynchronousMountPropsAtMountingAndroid();
331
331
 
332
332
  /**
333
- * Enable reporting Performance Issues (`detail.rnPerfIssue`). Displayed in the V2 Performance Monitor and the "Performance Issues" sub-panel in DevTools.
333
+ * Enable reporting Performance Issues (`detail.devtools.performanceIssue`). Displayed in the V2 Performance Monitor and the "Performance Issues" sub-panel in DevTools.
334
334
  */
335
335
  RN_EXPORT static bool perfIssuesEnabled();
336
336
 
@@ -364,11 +364,6 @@ class ReactNativeFeatureFlags {
364
364
  */
365
365
  RN_EXPORT static bool skipActivityIdentityAssertionOnHostPause();
366
366
 
367
- /**
368
- * A flag to tell Fabric to sweep active touches from JSTouchDispatcher in Android when a child native gesture is started.
369
- */
370
- RN_EXPORT static bool sweepActiveTouchOnChildNativeGesturesAndroid();
371
-
372
367
  /**
373
368
  * Enables storing js caller stack when creating promise in native module. This is useful in case of Promise rejection and tracing the cause.
374
369
  */
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<cf152ea3a4e9635a71d2794a3139dadb>>
7
+ * @generated SignedSource<<efd811822965d54da3cd791319673352>>
8
8
  */
9
9
 
10
10
  /**
@@ -1199,24 +1199,6 @@ bool ReactNativeFeatureFlagsAccessor::skipActivityIdentityAssertionOnHostPause()
1199
1199
  return flagValue.value();
1200
1200
  }
1201
1201
 
1202
- bool ReactNativeFeatureFlagsAccessor::sweepActiveTouchOnChildNativeGesturesAndroid() {
1203
- auto flagValue = sweepActiveTouchOnChildNativeGesturesAndroid_.load();
1204
-
1205
- if (!flagValue.has_value()) {
1206
- // This block is not exclusive but it is not necessary.
1207
- // If multiple threads try to initialize the feature flag, we would only
1208
- // be accessing the provider multiple times but the end state of this
1209
- // instance and the returned flag value would be the same.
1210
-
1211
- markFlagAsAccessed(65, "sweepActiveTouchOnChildNativeGesturesAndroid");
1212
-
1213
- flagValue = currentProvider_->sweepActiveTouchOnChildNativeGesturesAndroid();
1214
- sweepActiveTouchOnChildNativeGesturesAndroid_ = flagValue;
1215
- }
1216
-
1217
- return flagValue.value();
1218
- }
1219
-
1220
1202
  bool ReactNativeFeatureFlagsAccessor::traceTurboModulePromiseRejectionsOnAndroid() {
1221
1203
  auto flagValue = traceTurboModulePromiseRejectionsOnAndroid_.load();
1222
1204
 
@@ -1226,7 +1208,7 @@ bool ReactNativeFeatureFlagsAccessor::traceTurboModulePromiseRejectionsOnAndroid
1226
1208
  // be accessing the provider multiple times but the end state of this
1227
1209
  // instance and the returned flag value would be the same.
1228
1210
 
1229
- markFlagAsAccessed(66, "traceTurboModulePromiseRejectionsOnAndroid");
1211
+ markFlagAsAccessed(65, "traceTurboModulePromiseRejectionsOnAndroid");
1230
1212
 
1231
1213
  flagValue = currentProvider_->traceTurboModulePromiseRejectionsOnAndroid();
1232
1214
  traceTurboModulePromiseRejectionsOnAndroid_ = flagValue;
@@ -1244,7 +1226,7 @@ bool ReactNativeFeatureFlagsAccessor::updateRuntimeShadowNodeReferencesOnCommit(
1244
1226
  // be accessing the provider multiple times but the end state of this
1245
1227
  // instance and the returned flag value would be the same.
1246
1228
 
1247
- markFlagAsAccessed(67, "updateRuntimeShadowNodeReferencesOnCommit");
1229
+ markFlagAsAccessed(66, "updateRuntimeShadowNodeReferencesOnCommit");
1248
1230
 
1249
1231
  flagValue = currentProvider_->updateRuntimeShadowNodeReferencesOnCommit();
1250
1232
  updateRuntimeShadowNodeReferencesOnCommit_ = flagValue;
@@ -1262,7 +1244,7 @@ bool ReactNativeFeatureFlagsAccessor::useAlwaysAvailableJSErrorHandling() {
1262
1244
  // be accessing the provider multiple times but the end state of this
1263
1245
  // instance and the returned flag value would be the same.
1264
1246
 
1265
- markFlagAsAccessed(68, "useAlwaysAvailableJSErrorHandling");
1247
+ markFlagAsAccessed(67, "useAlwaysAvailableJSErrorHandling");
1266
1248
 
1267
1249
  flagValue = currentProvider_->useAlwaysAvailableJSErrorHandling();
1268
1250
  useAlwaysAvailableJSErrorHandling_ = flagValue;
@@ -1280,7 +1262,7 @@ bool ReactNativeFeatureFlagsAccessor::useFabricInterop() {
1280
1262
  // be accessing the provider multiple times but the end state of this
1281
1263
  // instance and the returned flag value would be the same.
1282
1264
 
1283
- markFlagAsAccessed(69, "useFabricInterop");
1265
+ markFlagAsAccessed(68, "useFabricInterop");
1284
1266
 
1285
1267
  flagValue = currentProvider_->useFabricInterop();
1286
1268
  useFabricInterop_ = flagValue;
@@ -1298,7 +1280,7 @@ bool ReactNativeFeatureFlagsAccessor::useNativeEqualsInNativeReadableArrayAndroi
1298
1280
  // be accessing the provider multiple times but the end state of this
1299
1281
  // instance and the returned flag value would be the same.
1300
1282
 
1301
- markFlagAsAccessed(70, "useNativeEqualsInNativeReadableArrayAndroid");
1283
+ markFlagAsAccessed(69, "useNativeEqualsInNativeReadableArrayAndroid");
1302
1284
 
1303
1285
  flagValue = currentProvider_->useNativeEqualsInNativeReadableArrayAndroid();
1304
1286
  useNativeEqualsInNativeReadableArrayAndroid_ = flagValue;
@@ -1316,7 +1298,7 @@ bool ReactNativeFeatureFlagsAccessor::useNativeTransformHelperAndroid() {
1316
1298
  // be accessing the provider multiple times but the end state of this
1317
1299
  // instance and the returned flag value would be the same.
1318
1300
 
1319
- markFlagAsAccessed(71, "useNativeTransformHelperAndroid");
1301
+ markFlagAsAccessed(70, "useNativeTransformHelperAndroid");
1320
1302
 
1321
1303
  flagValue = currentProvider_->useNativeTransformHelperAndroid();
1322
1304
  useNativeTransformHelperAndroid_ = flagValue;
@@ -1334,7 +1316,7 @@ bool ReactNativeFeatureFlagsAccessor::useNativeViewConfigsInBridgelessMode() {
1334
1316
  // be accessing the provider multiple times but the end state of this
1335
1317
  // instance and the returned flag value would be the same.
1336
1318
 
1337
- markFlagAsAccessed(72, "useNativeViewConfigsInBridgelessMode");
1319
+ markFlagAsAccessed(71, "useNativeViewConfigsInBridgelessMode");
1338
1320
 
1339
1321
  flagValue = currentProvider_->useNativeViewConfigsInBridgelessMode();
1340
1322
  useNativeViewConfigsInBridgelessMode_ = flagValue;
@@ -1352,7 +1334,7 @@ bool ReactNativeFeatureFlagsAccessor::useOptimizedEventBatchingOnAndroid() {
1352
1334
  // be accessing the provider multiple times but the end state of this
1353
1335
  // instance and the returned flag value would be the same.
1354
1336
 
1355
- markFlagAsAccessed(73, "useOptimizedEventBatchingOnAndroid");
1337
+ markFlagAsAccessed(72, "useOptimizedEventBatchingOnAndroid");
1356
1338
 
1357
1339
  flagValue = currentProvider_->useOptimizedEventBatchingOnAndroid();
1358
1340
  useOptimizedEventBatchingOnAndroid_ = flagValue;
@@ -1370,7 +1352,7 @@ bool ReactNativeFeatureFlagsAccessor::useRawPropsJsiValue() {
1370
1352
  // be accessing the provider multiple times but the end state of this
1371
1353
  // instance and the returned flag value would be the same.
1372
1354
 
1373
- markFlagAsAccessed(74, "useRawPropsJsiValue");
1355
+ markFlagAsAccessed(73, "useRawPropsJsiValue");
1374
1356
 
1375
1357
  flagValue = currentProvider_->useRawPropsJsiValue();
1376
1358
  useRawPropsJsiValue_ = flagValue;
@@ -1388,7 +1370,7 @@ bool ReactNativeFeatureFlagsAccessor::useShadowNodeStateOnClone() {
1388
1370
  // be accessing the provider multiple times but the end state of this
1389
1371
  // instance and the returned flag value would be the same.
1390
1372
 
1391
- markFlagAsAccessed(75, "useShadowNodeStateOnClone");
1373
+ markFlagAsAccessed(74, "useShadowNodeStateOnClone");
1392
1374
 
1393
1375
  flagValue = currentProvider_->useShadowNodeStateOnClone();
1394
1376
  useShadowNodeStateOnClone_ = flagValue;
@@ -1406,7 +1388,7 @@ bool ReactNativeFeatureFlagsAccessor::useSharedAnimatedBackend() {
1406
1388
  // be accessing the provider multiple times but the end state of this
1407
1389
  // instance and the returned flag value would be the same.
1408
1390
 
1409
- markFlagAsAccessed(76, "useSharedAnimatedBackend");
1391
+ markFlagAsAccessed(75, "useSharedAnimatedBackend");
1410
1392
 
1411
1393
  flagValue = currentProvider_->useSharedAnimatedBackend();
1412
1394
  useSharedAnimatedBackend_ = flagValue;
@@ -1424,7 +1406,7 @@ bool ReactNativeFeatureFlagsAccessor::useTraitHiddenOnAndroid() {
1424
1406
  // be accessing the provider multiple times but the end state of this
1425
1407
  // instance and the returned flag value would be the same.
1426
1408
 
1427
- markFlagAsAccessed(77, "useTraitHiddenOnAndroid");
1409
+ markFlagAsAccessed(76, "useTraitHiddenOnAndroid");
1428
1410
 
1429
1411
  flagValue = currentProvider_->useTraitHiddenOnAndroid();
1430
1412
  useTraitHiddenOnAndroid_ = flagValue;
@@ -1442,7 +1424,7 @@ bool ReactNativeFeatureFlagsAccessor::useTurboModuleInterop() {
1442
1424
  // be accessing the provider multiple times but the end state of this
1443
1425
  // instance and the returned flag value would be the same.
1444
1426
 
1445
- markFlagAsAccessed(78, "useTurboModuleInterop");
1427
+ markFlagAsAccessed(77, "useTurboModuleInterop");
1446
1428
 
1447
1429
  flagValue = currentProvider_->useTurboModuleInterop();
1448
1430
  useTurboModuleInterop_ = flagValue;
@@ -1460,7 +1442,7 @@ bool ReactNativeFeatureFlagsAccessor::useTurboModules() {
1460
1442
  // be accessing the provider multiple times but the end state of this
1461
1443
  // instance and the returned flag value would be the same.
1462
1444
 
1463
- markFlagAsAccessed(79, "useTurboModules");
1445
+ markFlagAsAccessed(78, "useTurboModules");
1464
1446
 
1465
1447
  flagValue = currentProvider_->useTurboModules();
1466
1448
  useTurboModules_ = flagValue;
@@ -1478,7 +1460,7 @@ double ReactNativeFeatureFlagsAccessor::viewCullingOutsetRatio() {
1478
1460
  // be accessing the provider multiple times but the end state of this
1479
1461
  // instance and the returned flag value would be the same.
1480
1462
 
1481
- markFlagAsAccessed(80, "viewCullingOutsetRatio");
1463
+ markFlagAsAccessed(79, "viewCullingOutsetRatio");
1482
1464
 
1483
1465
  flagValue = currentProvider_->viewCullingOutsetRatio();
1484
1466
  viewCullingOutsetRatio_ = flagValue;
@@ -1496,7 +1478,7 @@ double ReactNativeFeatureFlagsAccessor::virtualViewHysteresisRatio() {
1496
1478
  // be accessing the provider multiple times but the end state of this
1497
1479
  // instance and the returned flag value would be the same.
1498
1480
 
1499
- markFlagAsAccessed(81, "virtualViewHysteresisRatio");
1481
+ markFlagAsAccessed(80, "virtualViewHysteresisRatio");
1500
1482
 
1501
1483
  flagValue = currentProvider_->virtualViewHysteresisRatio();
1502
1484
  virtualViewHysteresisRatio_ = flagValue;
@@ -1514,7 +1496,7 @@ double ReactNativeFeatureFlagsAccessor::virtualViewPrerenderRatio() {
1514
1496
  // be accessing the provider multiple times but the end state of this
1515
1497
  // instance and the returned flag value would be the same.
1516
1498
 
1517
- markFlagAsAccessed(82, "virtualViewPrerenderRatio");
1499
+ markFlagAsAccessed(81, "virtualViewPrerenderRatio");
1518
1500
 
1519
1501
  flagValue = currentProvider_->virtualViewPrerenderRatio();
1520
1502
  virtualViewPrerenderRatio_ = flagValue;
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<e7e8d311c0d1cca4e28bee7ddcf5065c>>
7
+ * @generated SignedSource<<fe818d80110561de44d8e5604d3e7195>>
8
8
  */
9
9
 
10
10
  /**
@@ -97,7 +97,6 @@ class ReactNativeFeatureFlagsAccessor {
97
97
  bool shouldPressibilityUseW3CPointerEventsForHover();
98
98
  bool shouldTriggerResponderTransferOnScrollAndroid();
99
99
  bool skipActivityIdentityAssertionOnHostPause();
100
- bool sweepActiveTouchOnChildNativeGesturesAndroid();
101
100
  bool traceTurboModulePromiseRejectionsOnAndroid();
102
101
  bool updateRuntimeShadowNodeReferencesOnCommit();
103
102
  bool useAlwaysAvailableJSErrorHandling();
@@ -126,7 +125,7 @@ class ReactNativeFeatureFlagsAccessor {
126
125
  std::unique_ptr<ReactNativeFeatureFlagsProvider> currentProvider_;
127
126
  bool wasOverridden_;
128
127
 
129
- std::array<std::atomic<const char*>, 83> accessedFeatureFlags_;
128
+ std::array<std::atomic<const char*>, 82> accessedFeatureFlags_;
130
129
 
131
130
  std::atomic<std::optional<bool>> commonTestFlag_;
132
131
  std::atomic<std::optional<bool>> cdpInteractionMetricsEnabled_;
@@ -193,7 +192,6 @@ class ReactNativeFeatureFlagsAccessor {
193
192
  std::atomic<std::optional<bool>> shouldPressibilityUseW3CPointerEventsForHover_;
194
193
  std::atomic<std::optional<bool>> shouldTriggerResponderTransferOnScrollAndroid_;
195
194
  std::atomic<std::optional<bool>> skipActivityIdentityAssertionOnHostPause_;
196
- std::atomic<std::optional<bool>> sweepActiveTouchOnChildNativeGesturesAndroid_;
197
195
  std::atomic<std::optional<bool>> traceTurboModulePromiseRejectionsOnAndroid_;
198
196
  std::atomic<std::optional<bool>> updateRuntimeShadowNodeReferencesOnCommit_;
199
197
  std::atomic<std::optional<bool>> useAlwaysAvailableJSErrorHandling_;
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<a0a1898f3a4c14179bd03d5dbe97adfa>>
7
+ * @generated SignedSource<<6120a91f22fd02a0ff5144df38bd1737>>
8
8
  */
9
9
 
10
10
  /**
@@ -287,10 +287,6 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
287
287
  return false;
288
288
  }
289
289
 
290
- bool sweepActiveTouchOnChildNativeGesturesAndroid() override {
291
- return true;
292
- }
293
-
294
290
  bool traceTurboModulePromiseRejectionsOnAndroid() override {
295
291
  return false;
296
292
  }
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<fc8f8541827a039fa5bc4a113e75fdf6>>
7
+ * @generated SignedSource<<36163e6b41d151326f7a0948b332672f>>
8
8
  */
9
9
 
10
10
  /**
@@ -630,15 +630,6 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
630
630
  return ReactNativeFeatureFlagsDefaults::skipActivityIdentityAssertionOnHostPause();
631
631
  }
632
632
 
633
- bool sweepActiveTouchOnChildNativeGesturesAndroid() override {
634
- auto value = values_["sweepActiveTouchOnChildNativeGesturesAndroid"];
635
- if (!value.isNull()) {
636
- return value.getBool();
637
- }
638
-
639
- return ReactNativeFeatureFlagsDefaults::sweepActiveTouchOnChildNativeGesturesAndroid();
640
- }
641
-
642
633
  bool traceTurboModulePromiseRejectionsOnAndroid() override {
643
634
  auto value = values_["traceTurboModulePromiseRejectionsOnAndroid"];
644
635
  if (!value.isNull()) {
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<5dcaab263795b1605da54dbbb617264f>>
7
+ * @generated SignedSource<<0f6fd731ebddc32a0583ceb3c81f2b32>>
8
8
  */
9
9
 
10
10
  /**
@@ -90,7 +90,6 @@ class ReactNativeFeatureFlagsProvider {
90
90
  virtual bool shouldPressibilityUseW3CPointerEventsForHover() = 0;
91
91
  virtual bool shouldTriggerResponderTransferOnScrollAndroid() = 0;
92
92
  virtual bool skipActivityIdentityAssertionOnHostPause() = 0;
93
- virtual bool sweepActiveTouchOnChildNativeGesturesAndroid() = 0;
94
93
  virtual bool traceTurboModulePromiseRejectionsOnAndroid() = 0;
95
94
  virtual bool updateRuntimeShadowNodeReferencesOnCommit() = 0;
96
95
  virtual bool useAlwaysAvailableJSErrorHandling() = 0;
@@ -21,7 +21,6 @@
21
21
  #import <React/RCTCallInvoker.h>
22
22
  #import <React/RCTCallInvokerModule.h>
23
23
  #import <React/RCTConstants.h>
24
- #import <React/RCTCxxModule.h>
25
24
  #import <React/RCTDevMenuConfigurationDecorator.h>
26
25
  #import <React/RCTInitializing.h>
27
26
  #import <React/RCTLog.h>
@@ -30,7 +29,6 @@
30
29
  #import <React/RCTUtils.h>
31
30
  #import <ReactCommon/CxxTurboModuleUtils.h>
32
31
  #import <ReactCommon/RCTTurboModuleWithJSIBindings.h>
33
- #import <ReactCommon/TurboCxxModule.h>
34
32
  #import <ReactCommon/TurboModulePerfLogger.h>
35
33
  #import <react/featureflags/ReactNativeFeatureFlags.h>
36
34
 
@@ -387,24 +385,12 @@ typedef struct {
387
385
  }
388
386
 
389
387
  /**
390
- * Step 2d: If the moduleClass is a legacy CxxModule, return a TurboCxxModule instance that
391
- * wraps CxxModule.
392
- */
393
- Class moduleClass = [module class];
394
- if ([moduleClass isSubclassOfClass:RCTCxxModule.class]) {
395
- // Use TurboCxxModule compat class to wrap the CxxModule instance.
396
- // This is only for migration convenience, despite less performant.
397
- auto turboModule = std::make_shared<TurboCxxModule>([((RCTCxxModule *)module) createModule], _jsInvoker);
398
- _turboModuleCache.insert({moduleName, turboModule});
399
- return turboModule;
400
- }
401
-
402
- /**
403
- * Step 2e: Return an exact sub-class of ObjC TurboModule
388
+ * Step 3: Return an exact sub-class of ObjC TurboModule
404
389
  *
405
390
  * Use respondsToSelector: below to infer conformance to @protocol(RCTTurboModule). Using conformsToProtocol: is
406
391
  * expensive.
407
392
  */
393
+ Class moduleClass = [module class];
408
394
  if ([module respondsToSelector:@selector(getTurboModule:)]) {
409
395
  ObjCTurboModule::InitParams params = {
410
396
  .moduleName = moduleName,
@@ -467,15 +453,6 @@ typedef struct {
467
453
  std::shared_ptr<NativeMethodCallInvoker> nativeMethodCallInvoker =
468
454
  std::make_shared<LegacyModuleNativeMethodCallInvoker>(methodQueue, [self _requiresMainQueueSetup:moduleClass]);
469
455
 
470
- // If module is a legacy cxx module, return TurboCxxModule
471
- if ([moduleClass isSubclassOfClass:RCTCxxModule.class]) {
472
- // Use TurboCxxModule compat class to wrap the CxxModule instance.
473
- // This is only for migration convenience, despite less performant.
474
- auto turboModule = std::make_shared<TurboCxxModule>([((RCTCxxModule *)module) createModule], _jsInvoker);
475
- _legacyModuleCache.insert({moduleName, turboModule});
476
- return turboModule;
477
- }
478
-
479
456
  // Create interop module
480
457
  ObjCTurboModule::InitParams params = {
481
458
  .moduleName = moduleName,
@@ -496,7 +473,7 @@ typedef struct {
496
473
  - (BOOL)_isTurboModule:(const char *)moduleName
497
474
  {
498
475
  Class moduleClass = [self _getModuleClassFromName:moduleName];
499
- return moduleClass != nil && (isTurboModuleClass(moduleClass) && ![moduleClass isSubclassOfClass:RCTCxxModule.class]);
476
+ return moduleClass != nil && isTurboModuleClass(moduleClass);
500
477
  }
501
478
 
502
479
  - (BOOL)_isLegacyModule:(const char *)moduleName
@@ -507,7 +484,7 @@ typedef struct {
507
484
 
508
485
  - (BOOL)_isLegacyModuleClass:(Class)moduleClass
509
486
  {
510
- return moduleClass != nil && (!isTurboModuleClass(moduleClass) || [moduleClass isSubclassOfClass:RCTCxxModule.class]);
487
+ return moduleClass != nil && !isTurboModuleClass(moduleClass);
511
488
  }
512
489
 
513
490
  - (id<RCTModuleProvider>)_moduleProviderForName:(const char *)moduleName
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<6bd64914d0e2f0c727490a420496fbb0>>
7
+ * @generated SignedSource<<d96a6f5f05faef9ab3e7b28bcbb51aae>>
8
8
  */
9
9
 
10
10
  /**
@@ -369,11 +369,6 @@ bool NativeReactNativeFeatureFlags::skipActivityIdentityAssertionOnHostPause(
369
369
  return ReactNativeFeatureFlags::skipActivityIdentityAssertionOnHostPause();
370
370
  }
371
371
 
372
- bool NativeReactNativeFeatureFlags::sweepActiveTouchOnChildNativeGesturesAndroid(
373
- jsi::Runtime& /*runtime*/) {
374
- return ReactNativeFeatureFlags::sweepActiveTouchOnChildNativeGesturesAndroid();
375
- }
376
-
377
372
  bool NativeReactNativeFeatureFlags::traceTurboModulePromiseRejectionsOnAndroid(
378
373
  jsi::Runtime& /*runtime*/) {
379
374
  return ReactNativeFeatureFlags::traceTurboModulePromiseRejectionsOnAndroid();
@@ -4,7 +4,7 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @generated SignedSource<<99624bd7682ad34476ac395e8acc43c7>>
7
+ * @generated SignedSource<<762f97c6e72f9339ef925adb8481713f>>
8
8
  */
9
9
 
10
10
  /**
@@ -166,8 +166,6 @@ class NativeReactNativeFeatureFlags
166
166
 
167
167
  bool skipActivityIdentityAssertionOnHostPause(jsi::Runtime& runtime);
168
168
 
169
- bool sweepActiveTouchOnChildNativeGesturesAndroid(jsi::Runtime& runtime);
170
-
171
169
  bool traceTurboModulePromiseRejectionsOnAndroid(jsi::Runtime& runtime);
172
170
 
173
171
  bool updateRuntimeShadowNodeReferencesOnCommit(jsi::Runtime& runtime);
@@ -42,8 +42,10 @@ void CdpPerfIssuesReporter::onMeasureEntry(
42
42
  return;
43
43
  }
44
44
 
45
- if (detail.count("rnPerfIssue") != 0 && detail["rnPerfIssue"].isObject()) {
46
- auto& perfIssue = detail["rnPerfIssue"];
45
+ if (detail.count("devtools") != 0 && detail["devtools"].isObject() &&
46
+ detail["devtools"].count("performanceIssue") != 0 &&
47
+ detail["devtools"]["performanceIssue"].isObject()) {
48
+ auto& perfIssue = detail["devtools"]["performanceIssue"];
47
49
 
48
50
  if (perfIssue.count("name") != 0 && perfIssue.count("severity") != 0 &&
49
51
  perfIssue.count("description") != 0) {
@@ -277,7 +277,14 @@ struct CSSComponentValueVisitorDispatcher {
277
277
  return {};
278
278
  }
279
279
 
280
+ #ifdef __clang__
281
+ #pragma clang diagnostic push
282
+ #pragma clang diagnostic ignored "-Wswitch-enum"
283
+ #endif
280
284
  switch (parser.peek().type()) {
285
+ #ifdef __clang__
286
+ #pragma clang diagnostic pop
287
+ #endif
281
288
  case CSSTokenType::Function:
282
289
  if (auto ret = visitFunction(visitors...)) {
283
290
  return *ret;
@@ -221,7 +221,7 @@ void ReactInstance::loadScript(
221
221
  const std::string& sourceURL,
222
222
  std::function<void(jsi::Runtime& runtime)>&& beforeLoad,
223
223
  std::function<void(jsi::Runtime& runtime)>&& afterLoad) {
224
- auto buffer = std::make_shared<BigStringBuffer>(std::move(script));
224
+ std::shared_ptr<const jsi::Buffer> buffer(std::move(script));
225
225
  std::string scriptName = simpleBasename(sourceURL);
226
226
 
227
227
  runtimeScheduler_->scheduleWork([this,
@@ -232,7 +232,7 @@ void ReactInstance::loadScript(
232
232
  std::weak_ptr<BufferedRuntimeExecutor>(
233
233
  bufferedRuntimeExecutor_),
234
234
  beforeLoad,
235
- afterLoad](jsi::Runtime& runtime) {
235
+ afterLoad](jsi::Runtime& runtime) mutable {
236
236
  if (beforeLoad) {
237
237
  beforeLoad(runtime);
238
238
  }
@@ -357,7 +357,6 @@ void ReactInstance::registerSegment(
357
357
  throw std::invalid_argument(
358
358
  "Empty segment registered with ID " + tag + " from " + segmentPath);
359
359
  }
360
- auto buffer = std::make_shared<BigStringBuffer>(std::move(script));
361
360
 
362
361
  bool hasLogger(ReactMarker::logTaggedMarkerBridgelessImpl != nullptr);
363
362
  if (hasLogger) {
@@ -369,7 +368,8 @@ void ReactInstance::registerSegment(
369
368
  #pragma clang diagnostic push
370
369
  #pragma clang diagnostic ignored "-Wdeprecated-declarations"
371
370
  runtime.evaluateJavaScript(
372
- buffer, JSExecutor::getSyntheticBundlePath(segmentId, segmentPath));
371
+ std::move(script),
372
+ JSExecutor::getSyntheticBundlePath(segmentId, segmentPath));
373
373
  #pragma clang diagnostic pop
374
374
  LOG(WARNING) << "Finished evaluating segment " << segmentId
375
375
  << " in ReactInstance::registerSegment";
@@ -18,6 +18,7 @@ NS_ASSUME_NONNULL_BEGIN
18
18
  @class RCTFabricSurface;
19
19
  @class RCTHost;
20
20
  @class RCTModuleRegistry;
21
+ @class RCTBundleConfiguration;
21
22
  @class RCTDevMenuConfiguration;
22
23
 
23
24
  @protocol RCTTurboModuleManagerDelegate;
@@ -65,8 +66,8 @@ typedef std::shared_ptr<facebook::react::JSRuntimeFactory> (^RCTHostJSEngineProv
65
66
  turboModuleManagerDelegate:(id<RCTTurboModuleManagerDelegate>)turboModuleManagerDelegate
66
67
  jsEngineProvider:(RCTHostJSEngineProvider)jsEngineProvider
67
68
  launchOptions:(nullable NSDictionary *)launchOptions
68
- devMenuConfiguration:(RCTDevMenuConfiguration *__nullable)devMenuConfiguration
69
- NS_DESIGNATED_INITIALIZER;
69
+ bundleConfiguration:(RCTBundleConfiguration *)bundleConfiguration
70
+ devMenuConfiguration:(RCTDevMenuConfiguration *)devMenuConfiguration NS_DESIGNATED_INITIALIZER;
70
71
 
71
72
  - (instancetype)initWithBundleURLProvider:(RCTHostBundleURLProvider)provider
72
73
  hostDelegate:(id<RCTHostDelegate>)hostDelegate
@@ -152,10 +152,6 @@ class RCTHostHostTargetDelegate : public facebook::react::jsinspector_modern::Ho
152
152
  launchOptions:launchOptions];
153
153
  }
154
154
 
155
- /**
156
- Host initialization should not be resource intensive. A host may be created before any intention of using React Native
157
- has been expressed.
158
- */
159
155
  - (instancetype)initWithBundleURLProvider:(RCTHostBundleURLProvider)provider
160
156
  hostDelegate:(id<RCTHostDelegate>)hostDelegate
161
157
  turboModuleManagerDelegate:(id<RCTTurboModuleManagerDelegate>)turboModuleManagerDelegate
@@ -167,24 +163,32 @@ class RCTHostHostTargetDelegate : public facebook::react::jsinspector_modern::Ho
167
163
  turboModuleManagerDelegate:turboModuleManagerDelegate
168
164
  jsEngineProvider:jsEngineProvider
169
165
  launchOptions:launchOptions
166
+ bundleConfiguration:[RCTBundleConfiguration defaultConfiguration]
170
167
  devMenuConfiguration:[RCTDevMenuConfiguration defaultConfiguration]];
171
168
  }
172
169
 
170
+ /**
171
+ Host initialization should not be resource intensive. A host may be created before any intention of using React Native
172
+ has been expressed.
173
+ */
173
174
  - (instancetype)initWithBundleURLProvider:(RCTHostBundleURLProvider)provider
174
175
  hostDelegate:(id<RCTHostDelegate>)hostDelegate
175
176
  turboModuleManagerDelegate:(id<RCTTurboModuleManagerDelegate>)turboModuleManagerDelegate
176
177
  jsEngineProvider:(RCTHostJSEngineProvider)jsEngineProvider
177
178
  launchOptions:(nullable NSDictionary *)launchOptions
179
+ bundleConfiguration:(RCTBundleConfiguration *)bundleConfiguration
178
180
  devMenuConfiguration:(RCTDevMenuConfiguration *)devMenuConfiguration
179
181
  {
180
182
  if (self = [super init]) {
181
183
  _hostDelegate = hostDelegate;
182
184
  _turboModuleManagerDelegate = turboModuleManagerDelegate;
183
- _bundleManager = [RCTBundleManager new];
185
+ _bundleManager = [[RCTBundleManager alloc] initWithBundleConfig:bundleConfiguration];
184
186
  _moduleRegistry = [RCTModuleRegistry new];
185
187
  _jsEngineProvider = [jsEngineProvider copy];
186
188
  _launchOptions = [launchOptions copy];
187
189
 
190
+ [self setBundleURLProvider:provider];
191
+
188
192
  __weak RCTHost *weakSelf = self;
189
193
  auto bundleURLGetter = ^NSURL *() {
190
194
  RCTHost *strongSelf = weakSelf;
@@ -450,7 +454,7 @@ class RCTHostHostTargetDelegate : public facebook::react::jsinspector_modern::Ho
450
454
  // Sanitize the bundle URL
451
455
  _bundleURL = [RCTConvert NSURL:_bundleURL.absoluteString];
452
456
 
453
- // Update the global bundle URLq
457
+ // Update the global bundle URL
454
458
  RCTReloadCommandSetBundleURL(_bundleURL);
455
459
  }
456
460
 
@@ -74,7 +74,14 @@ class StyleLength {
74
74
  }
75
75
 
76
76
  constexpr FloatOptional resolve(float referenceLength) {
77
+ #ifdef __clang__
78
+ #pragma clang diagnostic push
79
+ #pragma clang diagnostic ignored "-Wswitch-enum"
80
+ #endif
77
81
  switch (unit_) {
82
+ #ifdef __clang__
83
+ #pragma clang diagnostic pop
84
+ #endif
78
85
  case Unit::Point:
79
86
  return value_;
80
87
  case Unit::Percent:
@@ -99,7 +99,14 @@ class StyleSizeLength {
99
99
  }
100
100
 
101
101
  constexpr FloatOptional resolve(float referenceLength) {
102
+ #ifdef __clang__
103
+ #pragma clang diagnostic push
104
+ #pragma clang diagnostic ignored "-Wswitch-enum"
105
+ #endif
102
106
  switch (unit_) {
107
+ #ifdef __clang__
108
+ #pragma clang diagnostic pop
109
+ #endif
103
110
  case Unit::Point:
104
111
  return value_;
105
112
  case Unit::Percent:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.83.0-rc.0",
3
+ "version": "0.84.0-nightly-20251105-5ec5cc3a3",
4
4
  "description": "A framework for building native apps using React",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -159,13 +159,13 @@
159
159
  },
160
160
  "dependencies": {
161
161
  "@jest/create-cache-key-function": "^29.7.0",
162
- "@react-native/assets-registry": "0.83.0-rc.0",
163
- "@react-native/codegen": "0.83.0-rc.0",
164
- "@react-native/community-cli-plugin": "0.83.0-rc.0",
165
- "@react-native/gradle-plugin": "0.83.0-rc.0",
166
- "@react-native/js-polyfills": "0.83.0-rc.0",
167
- "@react-native/normalize-colors": "0.83.0-rc.0",
168
- "@react-native/virtualized-lists": "0.83.0-rc.0",
162
+ "@react-native/assets-registry": "0.84.0-nightly-20251105-5ec5cc3a3",
163
+ "@react-native/codegen": "0.84.0-nightly-20251105-5ec5cc3a3",
164
+ "@react-native/community-cli-plugin": "0.84.0-nightly-20251105-5ec5cc3a3",
165
+ "@react-native/gradle-plugin": "0.84.0-nightly-20251105-5ec5cc3a3",
166
+ "@react-native/js-polyfills": "0.84.0-nightly-20251105-5ec5cc3a3",
167
+ "@react-native/normalize-colors": "0.84.0-nightly-20251105-5ec5cc3a3",
168
+ "@react-native/virtualized-lists": "0.84.0-nightly-20251105-5ec5cc3a3",
169
169
  "abort-controller": "^3.0.0",
170
170
  "anser": "^1.4.9",
171
171
  "ansi-regex": "^5.0.0",
@@ -175,7 +175,7 @@
175
175
  "commander": "^12.0.0",
176
176
  "flow-enums-runtime": "^0.0.6",
177
177
  "glob": "^7.1.1",
178
- "hermes-compiler": "0.14.0",
178
+ "hermes-compiler": "0.14.0-commitly-202511041344-b43a04962",
179
179
  "invariant": "^2.2.4",
180
180
  "jest-environment-node": "^29.7.0",
181
181
  "memoize-one": "^5.0.0",
@@ -1,2 +1,2 @@
1
- HERMES_VERSION_NAME=0.14.0
1
+ HERMES_VERSION_NAME=0.14.0-commitly-202511041344-b43a04962
2
2
  HERMES_V1_VERSION_NAME=250829098.0.2