react-native 0.83.0-nightly-20251009-24d0d4414 → 0.83.0-nightly-20251011-6f482708b

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 (76) hide show
  1. package/Libraries/AppDelegate/RCTAppSetupUtils.mm +12 -0
  2. package/Libraries/AppDelegate/RCTReactNativeFactory.mm +33 -0
  3. package/Libraries/Components/TextInput/TextInput.js +6 -0
  4. package/Libraries/Components/View/ViewNativeComponent.js +2 -2
  5. package/Libraries/Core/ReactNativeVersion.js +1 -1
  6. package/Libraries/Network/RCTNetworking.android.js +3 -1
  7. package/Libraries/Renderer/implementations/ReactFabric-dev.js +6759 -4478
  8. package/Libraries/Renderer/implementations/ReactFabric-prod.js +3169 -3119
  9. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4732 -3535
  10. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +6641 -4058
  11. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3136 -2818
  12. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4753 -3297
  13. package/Libraries/Renderer/shims/ReactFabric.js +3 -1
  14. package/Libraries/Renderer/shims/ReactFeatureFlags.js +3 -1
  15. package/Libraries/Renderer/shims/ReactNative.js +3 -1
  16. package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -1
  17. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  18. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +3 -1
  19. package/React/Base/RCTVersion.m +1 -1
  20. package/React/CxxBridge/RCTCxxBridge.mm +0 -15
  21. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +12 -0
  22. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +18 -0
  23. package/ReactAndroid/api/ReactAndroid.api +1 -0
  24. package/ReactAndroid/gradle.properties +1 -1
  25. package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountItemDispatcher.kt +47 -32
  26. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +13 -1
  27. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +21 -1
  28. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +5 -1
  29. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +5 -1
  30. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +23 -1
  31. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +5 -1
  32. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/InspectorNetworkReporter.kt +11 -11
  33. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +18 -10
  34. package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +126 -11
  35. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/AndroidInfoHelpers.kt +3 -3
  36. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  37. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/NativeViewHierarchyManager.java +0 -2
  38. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +13 -4
  39. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.kt +4 -1
  40. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +8 -3
  41. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +4 -1
  42. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ScrollEvent.kt +5 -1
  43. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorNetworkReporter.cpp +23 -21
  44. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorNetworkReporter.h +8 -8
  45. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +29 -1
  46. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +7 -1
  47. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.h +26 -0
  48. package/ReactApple/RCTAnimatedModuleProvider/RCTAnimatedModuleProvider.mm +66 -0
  49. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  50. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +9 -1
  51. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +11 -1
  52. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +111 -75
  53. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +6 -2
  54. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +9 -1
  55. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +19 -1
  56. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +3 -1
  57. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +11 -1
  58. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +5 -1
  59. package/ReactCommon/react/renderer/animated/CMakeLists.txt +1 -0
  60. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +15 -7
  61. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +5 -1
  62. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +4 -0
  63. package/ReactCommon/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp +5 -3
  64. package/ReactCommon/yoga/cmake/yoga-config.cmake.in +1 -1
  65. package/jest/setup.js +15 -10
  66. package/package.json +10 -10
  67. package/scripts/cocoapods/utils.rb +1 -0
  68. package/scripts/react_native_pods.rb +6 -0
  69. package/sdks/hermesc/osx-bin/hermes +0 -0
  70. package/sdks/hermesc/osx-bin/hermesc +0 -0
  71. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  72. package/src/private/featureflags/ReactNativeFeatureFlags.js +11 -1
  73. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +3 -1
  74. package/src/private/webapis/dom/nodes/ReactNativeElement.js +12 -2
  75. package/types_generated/Libraries/Components/View/ViewNativeComponent.d.ts +3 -3
  76. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutDirectionUtil.kt +0 -36
@@ -120,6 +120,7 @@ std::unique_ptr<facebook::react::JSExecutorFactory> RCTAppSetupDefaultJsExecutor
120
120
  RCTTurboModuleManager *turboModuleManager,
121
121
  const std::shared_ptr<facebook::react::RuntimeScheduler> &runtimeScheduler)
122
122
  {
123
+ #ifndef RCT_REMOVE_LEGACY_ARCH
123
124
  // Necessary to allow NativeModules to lookup TurboModules
124
125
  [bridge setRCTTurboModuleRegistry:turboModuleManager];
125
126
 
@@ -146,12 +147,18 @@ std::unique_ptr<facebook::react::JSExecutorFactory> RCTAppSetupDefaultJsExecutor
146
147
  return std::make_unique<facebook::react::HermesExecutorFactory>(
147
148
  facebook::react::RCTJSIExecutorRuntimeInstaller(runtimeInstallerLambda));
148
149
  #endif
150
+ #else
151
+ // This method should not be invoked in the New Arch. So when Legacy Arch is removed, we can
152
+ // safly return a nullptr.
153
+ return nullptr;
154
+ #endif
149
155
  }
150
156
 
151
157
  std::unique_ptr<facebook::react::JSExecutorFactory> RCTAppSetupJsExecutorFactoryForOldArch(
152
158
  RCTBridge *bridge,
153
159
  const std::shared_ptr<facebook::react::RuntimeScheduler> &runtimeScheduler)
154
160
  {
161
+ #ifndef RCT_REMOVE_LEGACY_ARCH
155
162
  auto runtimeInstallerLambda = [bridge, runtimeScheduler](facebook::jsi::Runtime &runtime) {
156
163
  if (!bridge) {
157
164
  return;
@@ -164,4 +171,9 @@ std::unique_ptr<facebook::react::JSExecutorFactory> RCTAppSetupJsExecutorFactory
164
171
  return std::make_unique<facebook::react::HermesExecutorFactory>(
165
172
  facebook::react::RCTJSIExecutorRuntimeInstaller(runtimeInstallerLambda));
166
173
  #endif
174
+ #else
175
+ // This method should not be invoked in the New Arch. So when Legacy Arch is removed, we can
176
+ // safly return a nullptr.
177
+ return nullptr;
178
+ #endif
167
179
  }
@@ -261,7 +261,12 @@ using namespace facebook::react;
261
261
 
262
262
  configuration.sourceURLForBridge = ^NSURL *_Nullable(RCTBridge *_Nonnull bridge)
263
263
  {
264
+ #ifndef RCT_REMOVE_LEGACY_ARCH
264
265
  return [weakSelf.delegate sourceURLForBridge:bridge];
266
+ #else
267
+ // When the Legacy Arch is removed, the Delegate does not have a sourceURLForBridge method
268
+ return [weakSelf.delegate bundleURL];
269
+ #endif
265
270
  };
266
271
 
267
272
  if ([self.delegate respondsToSelector:@selector(extraModulesForBridge:)]) {
@@ -275,13 +280,24 @@ using namespace facebook::react;
275
280
  configuration.extraLazyModuleClassesForBridge =
276
281
  ^NSDictionary<NSString *, Class> *_Nonnull(RCTBridge *_Nonnull bridge)
277
282
  {
283
+ #ifndef RCT_REMOVE_LEGACY_ARCH
278
284
  return [weakSelf.delegate extraLazyModuleClassesForBridge:bridge];
285
+ #else
286
+ // When the Legacy Arch is removed, the Delegate does not have a extraLazyModuleClassesForBridge method
287
+ return @{};
288
+ #endif
279
289
  };
280
290
  }
281
291
 
282
292
  if ([self.delegate respondsToSelector:@selector(bridge:didNotFindModule:)]) {
283
293
  configuration.bridgeDidNotFindModule = ^BOOL(RCTBridge *_Nonnull bridge, NSString *_Nonnull moduleName) {
294
+ #ifndef RCT_REMOVE_LEGACY_ARCH
284
295
  return [weakSelf.delegate bridge:bridge didNotFindModule:moduleName];
296
+ #else
297
+ // When the Legacy Arch is removed, the Delegate does not have a bridge:didNotFindModule method
298
+ // We return NO, because if we have invoked this method is unlikely that the module will be actually registered
299
+ return NO;
300
+ #endif
285
301
  };
286
302
  }
287
303
 
@@ -290,13 +306,30 @@ using namespace facebook::react;
290
306
  ^(RCTBridge *_Nonnull bridge,
291
307
  RCTSourceLoadProgressBlock _Nonnull onProgress,
292
308
  RCTSourceLoadBlock _Nonnull loadCallback) {
309
+ #ifndef RCT_REMOVE_LEGACY_ARCH
293
310
  [weakSelf.delegate loadSourceForBridge:bridge onProgress:onProgress onComplete:loadCallback];
311
+ #else
312
+ // When the Legacy Arch is removed, the Delegate does not have a
313
+ // loadSourceForBridge:onProgress:onComplete: method
314
+ // We then call the loadBundleAtURL:onProgress:onComplete: instead
315
+ [weakSelf.delegate loadBundleAtURL:self.bundleURL onProgress:onProgress onComplete:loadCallback];
316
+ #endif
294
317
  };
295
318
  }
296
319
 
297
320
  if ([self.delegate respondsToSelector:@selector(loadSourceForBridge:withBlock:)]) {
298
321
  configuration.loadSourceForBridge = ^(RCTBridge *_Nonnull bridge, RCTSourceLoadBlock _Nonnull loadCallback) {
322
+ #ifndef RCT_REMOVE_LEGACY_ARCH
299
323
  [weakSelf.delegate loadSourceForBridge:bridge withBlock:loadCallback];
324
+ #else
325
+ // When the Legacy Arch is removed, the Delegate does not have a
326
+ // loadSourceForBridge:withBlock: method
327
+ // We then call the loadBundleAtURL:onProgress:onComplete: instead
328
+ [weakSelf.delegate loadBundleAtURL:self.bundleURL
329
+ onProgress:^(RCTLoadingProgress *progressData) {
330
+ }
331
+ onComplete:loadCallback];
332
+ #endif
300
333
  };
301
334
  }
302
335
 
@@ -449,6 +449,12 @@ function InternalTextInput(props: TextInputProps): React.Node {
449
449
  before we can get to the long term breaking change.
450
450
  */
451
451
  if (instance != null) {
452
+ // Register the input immediately when the ref is set so that focus()
453
+ // can be called from ref callbacks
454
+ // Double registering during useLayoutEffect is fine, because the underlying
455
+ // state is a Set.
456
+ TextInputState.registerInput(instance);
457
+
452
458
  // $FlowFixMe[prop-missing] - See the explanation above.
453
459
  // $FlowFixMe[unsafe-object-assign]
454
460
  Object.assign(instance, {
@@ -21,8 +21,8 @@ const ViewNativeComponent: HostComponent<Props> =
21
21
  }));
22
22
 
23
23
  interface NativeCommands {
24
- +focus: () => void;
25
- +blur: () => void;
24
+ +focus: (viewRef: HostInstance) => void;
25
+ +blur: (viewRef: HostInstance) => void;
26
26
  +hotspotUpdate: (viewRef: HostInstance, x: number, y: number) => void;
27
27
  +setPressed: (viewRef: HostInstance, pressed: boolean) => void;
28
28
  }
@@ -29,7 +29,7 @@ export default class ReactNativeVersion {
29
29
  static major: number = 0;
30
30
  static minor: number = 83;
31
31
  static patch: number = 0;
32
- static prerelease: string | null = 'nightly-20251009-24d0d4414';
32
+ static prerelease: string | null = 'nightly-20251011-6f482708b';
33
33
 
34
34
  static getVersionString(): string {
35
35
  return `${this.major}.${this.minor}.${this.patch}${this.prerelease != null ? `-${this.prerelease}` : ''}`;
@@ -77,12 +77,14 @@ const RCTNetworking = {
77
77
  }));
78
78
  }
79
79
  const requestId = generateRequestId();
80
+ const devToolsRequestId =
81
+ global.__NETWORK_REPORTER__?.createDevToolsRequestId();
80
82
  NativeNetworkingAndroid.sendRequest(
81
83
  method,
82
84
  url,
83
85
  requestId,
84
86
  convertHeadersMapToArray(headers),
85
- {...body, trackingName},
87
+ {...body, trackingName, devToolsRequestId},
86
88
  responseType,
87
89
  incrementalUpdates,
88
90
  timeout,