react-native 0.83.0-nightly-20251022-93c17cd0c → 0.83.0-nightly-20251024-c7fb31ce5

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 (80) hide show
  1. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +43 -15
  2. package/Libraries/Core/ReactNativeVersion.js +1 -1
  3. package/Libraries/Debugging/DebuggingOverlayRegistry.js +8 -2
  4. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +3 -1
  5. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +2 -9
  6. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +2 -9
  7. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +2 -9
  8. package/Libraries/Renderer/shims/ReactNative.js +3 -1
  9. package/React/Base/RCTVersion.m +1 -1
  10. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +11 -11
  11. package/React/Fabric/RCTSurfacePointerHandler.mm +1 -1
  12. package/React/Fabric/RCTSurfaceTouchHandler.mm +1 -1
  13. package/ReactAndroid/external-artifacts/build.gradle.kts +0 -40
  14. package/ReactAndroid/gradle.properties +1 -1
  15. package/ReactAndroid/hermes-engine/build.gradle.kts +4 -11
  16. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +1 -7
  17. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +1 -11
  18. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +1 -3
  19. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +1 -3
  20. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +1 -12
  21. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +1 -3
  22. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  23. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +32 -0
  24. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +32 -0
  25. package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/VirtualViewContainerStateExperimental.kt +24 -18
  26. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +1 -15
  27. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +1 -4
  28. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  29. package/ReactCommon/hermes/inspector-modern/chrome/HermesRuntimeTargetDelegate.h +0 -2
  30. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +0 -6
  31. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +1 -5
  32. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +1 -6
  33. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +55 -73
  34. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +2 -4
  35. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +1 -5
  36. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +1 -10
  37. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +1 -2
  38. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +1 -6
  39. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +1 -3
  40. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.cpp +2 -0
  41. package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +3 -1
  42. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.cpp +1 -1
  43. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManager.h +1 -1
  44. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.cpp +44 -11
  45. package/ReactCommon/react/renderer/animated/NativeAnimatedNodesManagerProvider.h +31 -18
  46. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +2 -61
  47. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +1 -7
  48. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +108 -13
  49. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +17 -1
  50. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +9 -1
  51. package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.h +1 -0
  52. package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +0 -32
  53. package/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +0 -11
  54. package/package.json +9 -9
  55. package/scripts/codegen/codegen-utils.js +2 -2
  56. package/scripts/codegen/generate-artifacts-executor/utils.js +2 -2
  57. package/scripts/hermes/hermes-utils.js +53 -285
  58. package/sdks/hermes-engine/hermes-engine.podspec +4 -5
  59. package/sdks/hermes-engine/hermes-utils.rb +6 -20
  60. package/sdks/hermes-engine/version.properties +1 -0
  61. package/src/private/featureflags/ReactNativeFeatureFlags.js +1 -6
  62. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +1 -2
  63. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +76 -15
  64. package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +1 -0
  65. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
  66. package/scripts/hermes/prepare-hermes-for-build.js +0 -47
  67. package/sdks/hermesc/linux64-bin/hermesc +0 -0
  68. package/sdks/hermesc/osx-bin/hermes +0 -0
  69. package/sdks/hermesc/osx-bin/hermes-lit +0 -15
  70. package/sdks/hermesc/osx-bin/hermesc +0 -0
  71. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  72. package/sdks/hermesc/win64-bin/icudt64.dll +0 -0
  73. package/sdks/hermesc/win64-bin/icuin64.dll +0 -0
  74. package/sdks/hermesc/win64-bin/icuio64.dll +0 -0
  75. package/sdks/hermesc/win64-bin/icutest64.dll +0 -0
  76. package/sdks/hermesc/win64-bin/icutu64.dll +0 -0
  77. package/sdks/hermesc/win64-bin/icuuc64.dll +0 -0
  78. package/sdks/hermesc/win64-bin/msvcp140.dll +0 -0
  79. package/sdks/hermesc/win64-bin/vcruntime140.dll +0 -0
  80. package/sdks/hermesc/win64-bin/vcruntime140_1.dll +0 -0
@@ -99,7 +99,7 @@ const AccessibilityInfo = {
99
99
  reject,
100
100
  );
101
101
  } else {
102
- reject(null);
102
+ reject(new Error('NativeAccessibilityManagerIOS is not available'));
103
103
  }
104
104
  });
105
105
  }
@@ -119,7 +119,11 @@ const AccessibilityInfo = {
119
119
  if (NativeAccessibilityInfoAndroid?.isGrayscaleEnabled != null) {
120
120
  NativeAccessibilityInfoAndroid.isGrayscaleEnabled(resolve);
121
121
  } else {
122
- reject(null);
122
+ reject(
123
+ new Error(
124
+ 'NativeAccessibilityInfoAndroid.isGrayscaleEnabled is not available',
125
+ ),
126
+ );
123
127
  }
124
128
  });
125
129
  } else {
@@ -130,7 +134,7 @@ const AccessibilityInfo = {
130
134
  reject,
131
135
  );
132
136
  } else {
133
- reject(null);
137
+ reject(new Error('AccessibilityInfo native module is not available'));
134
138
  }
135
139
  });
136
140
  }
@@ -150,7 +154,11 @@ const AccessibilityInfo = {
150
154
  if (NativeAccessibilityInfoAndroid?.isInvertColorsEnabled != null) {
151
155
  NativeAccessibilityInfoAndroid.isInvertColorsEnabled(resolve);
152
156
  } else {
153
- reject(null);
157
+ reject(
158
+ new Error(
159
+ 'NativeAccessibilityInfoAndroid.isInvertColorsEnabled is not available',
160
+ ),
161
+ );
154
162
  }
155
163
  });
156
164
  } else {
@@ -161,7 +169,7 @@ const AccessibilityInfo = {
161
169
  reject,
162
170
  );
163
171
  } else {
164
- reject(null);
172
+ reject(new Error('AccessibilityInfo native module is not available'));
165
173
  }
166
174
  });
167
175
  }
@@ -181,7 +189,7 @@ const AccessibilityInfo = {
181
189
  if (NativeAccessibilityInfoAndroid != null) {
182
190
  NativeAccessibilityInfoAndroid.isReduceMotionEnabled(resolve);
183
191
  } else {
184
- reject(null);
192
+ reject(new Error('AccessibilityInfo native module is not available'));
185
193
  }
186
194
  } else {
187
195
  if (NativeAccessibilityManagerIOS != null) {
@@ -190,7 +198,7 @@ const AccessibilityInfo = {
190
198
  reject,
191
199
  );
192
200
  } else {
193
- reject(null);
201
+ reject(new Error('NativeAccessibilityManagerIOS is not available'));
194
202
  }
195
203
  }
196
204
  });
@@ -208,7 +216,11 @@ const AccessibilityInfo = {
208
216
  if (NativeAccessibilityInfoAndroid?.isHighTextContrastEnabled != null) {
209
217
  NativeAccessibilityInfoAndroid.isHighTextContrastEnabled(resolve);
210
218
  } else {
211
- reject(null);
219
+ reject(
220
+ new Error(
221
+ 'NativeAccessibilityInfoAndroid.isHighTextContrastEnabled is not available',
222
+ ),
223
+ );
212
224
  }
213
225
  } else {
214
226
  return Promise.resolve(false);
@@ -236,7 +248,11 @@ const AccessibilityInfo = {
236
248
  reject,
237
249
  );
238
250
  } else {
239
- reject(null);
251
+ reject(
252
+ new Error(
253
+ 'NativeAccessibilityManagerIOS.getCurrentDarkerSystemColorsState is not available',
254
+ ),
255
+ );
240
256
  }
241
257
  }
242
258
  });
@@ -264,7 +280,11 @@ const AccessibilityInfo = {
264
280
  reject,
265
281
  );
266
282
  } else {
267
- reject(null);
283
+ reject(
284
+ new Error(
285
+ 'NativeAccessibilityManagerIOS.getCurrentPrefersCrossFadeTransitionsState is not available',
286
+ ),
287
+ );
268
288
  }
269
289
  }
270
290
  });
@@ -289,7 +309,7 @@ const AccessibilityInfo = {
289
309
  reject,
290
310
  );
291
311
  } else {
292
- reject(null);
312
+ reject(new Error('NativeAccessibilityManagerIOS is not available'));
293
313
  }
294
314
  });
295
315
  }
@@ -309,7 +329,7 @@ const AccessibilityInfo = {
309
329
  if (NativeAccessibilityInfoAndroid != null) {
310
330
  NativeAccessibilityInfoAndroid.isTouchExplorationEnabled(resolve);
311
331
  } else {
312
- reject(null);
332
+ reject(new Error('NativeAccessibilityInfoAndroid is not available'));
313
333
  }
314
334
  } else {
315
335
  if (NativeAccessibilityManagerIOS != null) {
@@ -318,7 +338,7 @@ const AccessibilityInfo = {
318
338
  reject,
319
339
  );
320
340
  } else {
321
- reject(null);
341
+ reject(new Error('NativeAccessibilityManagerIOS is not available'));
322
342
  }
323
343
  }
324
344
  });
@@ -343,10 +363,18 @@ const AccessibilityInfo = {
343
363
  ) {
344
364
  NativeAccessibilityInfoAndroid.isAccessibilityServiceEnabled(resolve);
345
365
  } else {
346
- reject(null);
366
+ reject(
367
+ new Error(
368
+ 'NativeAccessibilityInfoAndroid.isAccessibilityServiceEnabled is not available',
369
+ ),
370
+ );
347
371
  }
348
372
  } else {
349
- reject(null);
373
+ reject(
374
+ new Error(
375
+ 'isAccessibilityServiceEnabled is only available on Android',
376
+ ),
377
+ );
350
378
  }
351
379
  });
352
380
  },
@@ -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-20251022-93c17cd0c';
32
+ static prerelease: string | null = 'nightly-20251024-c7fb31ce5';
33
33
 
34
34
  static getVersionString(): string {
35
35
  return `${this.major}.${this.minor}.${this.patch}${this.prerelease != null ? `-${this.prerelease}` : ''}`;
@@ -332,7 +332,9 @@ class DebuggingOverlayRegistry {
332
332
  instance.measure((x, y, width, height, left, top) => {
333
333
  // measure can execute callback without any values provided to signal error.
334
334
  if (left == null || top == null || width == null || height == null) {
335
- reject('Unexpectedly failed to call measure on an instance.');
335
+ reject(
336
+ new Error('Unexpectedly failed to call measure on an instance.'),
337
+ );
336
338
  }
337
339
 
338
340
  resolve({
@@ -480,7 +482,11 @@ class DebuggingOverlayRegistry {
480
482
  width == null ||
481
483
  height == null
482
484
  ) {
483
- reject('Unexpectedly failed to call measure on an instance.');
485
+ reject(
486
+ new Error(
487
+ 'Unexpectedly failed to call measure on an instance.',
488
+ ),
489
+ );
484
490
  }
485
491
 
486
492
  resolve({x: left, y: top, width, height});
@@ -23,7 +23,9 @@ export function unstable_hasComponent(name: string): boolean {
23
23
  hasNativeComponent = global.__nativeComponentRegistry__hasComponent(name);
24
24
  componentNameToExists.set(name, hasNativeComponent);
25
25
  } else {
26
- throw `unstable_hasComponent('${name}'): Global function is not registered`;
26
+ throw new Error(
27
+ `unstable_hasComponent('${name}'): Global function is not registered`,
28
+ );
27
29
  }
28
30
  }
29
31
  return hasNativeComponent;
@@ -7,9 +7,9 @@
7
7
  * @noflow
8
8
  * @nolint
9
9
  * @preventMunge
10
- * @generated SignedSource<<90e5b8f55761c6a4805052d5b49689b8>>
11
10
  *
12
- * This file was sync'd from the facebook/react repository.
11
+ * This file is no longer sync'd from the facebook/react repository.
12
+ * The version compatability check is removed. Use at your own risk.
13
13
  */
14
14
 
15
15
  "use strict";
@@ -19455,13 +19455,6 @@ __DEV__ &&
19455
19455
  setSuspenseHandler = function (newShouldSuspendImpl) {
19456
19456
  shouldSuspendImpl = newShouldSuspendImpl;
19457
19457
  };
19458
- var isomorphicReactPackageVersion = React.version;
19459
- if ("19.2.0" !== isomorphicReactPackageVersion)
19460
- throw Error(
19461
- 'Incompatible React versions: The "react" and "react-native-renderer" packages must have the exact same version. Instead got:\n - react: ' +
19462
- (isomorphicReactPackageVersion +
19463
- "\n - react-native-renderer: 19.2.0\nLearn more: https://react.dev/warnings/version-mismatch")
19464
- );
19465
19458
  if (
19466
19459
  "function" !==
19467
19460
  typeof ReactNativePrivateInterface.ReactFiberErrorDialog.showErrorDialog
@@ -7,9 +7,9 @@
7
7
  * @noflow
8
8
  * @nolint
9
9
  * @preventMunge
10
- * @generated SignedSource<<14f9eca680f3065d18eda114fb4bea9f>>
11
10
  *
12
- * This file was sync'd from the facebook/react repository.
11
+ * This file is no longer sync'd from the facebook/react repository.
12
+ * The version compatability check is removed. Use at your own risk.
13
13
  */
14
14
 
15
15
  "use strict";
@@ -10918,13 +10918,6 @@ function updateContainer(element, container, parentComponent, callback) {
10918
10918
  entangleTransitions(element, parentComponent, lane));
10919
10919
  return lane;
10920
10920
  }
10921
- var isomorphicReactPackageVersion = React.version;
10922
- if ("19.2.0" !== isomorphicReactPackageVersion)
10923
- throw Error(
10924
- 'Incompatible React versions: The "react" and "react-native-renderer" packages must have the exact same version. Instead got:\n - react: ' +
10925
- (isomorphicReactPackageVersion +
10926
- "\n - react-native-renderer: 19.2.0\nLearn more: https://react.dev/warnings/version-mismatch")
10927
- );
10928
10921
  if (
10929
10922
  "function" !==
10930
10923
  typeof ReactNativePrivateInterface.ReactFiberErrorDialog.showErrorDialog
@@ -7,9 +7,9 @@
7
7
  * @noflow
8
8
  * @nolint
9
9
  * @preventMunge
10
- * @generated SignedSource<<238b7d9e5ffe0f30b64b3b5c7c156088>>
11
10
  *
12
- * This file was sync'd from the facebook/react repository.
11
+ * This file is no longer sync'd from the facebook/react repository.
12
+ * The version compatability check is removed. Use at your own risk.
13
13
  */
14
14
 
15
15
  "use strict";
@@ -12713,13 +12713,6 @@ function updateContainer(element, container, parentComponent, callback) {
12713
12713
  entangleTransitions(element, parentComponent, lane));
12714
12714
  return lane;
12715
12715
  }
12716
- var isomorphicReactPackageVersion = React.version;
12717
- if ("19.2.0" !== isomorphicReactPackageVersion)
12718
- throw Error(
12719
- 'Incompatible React versions: The "react" and "react-native-renderer" packages must have the exact same version. Instead got:\n - react: ' +
12720
- (isomorphicReactPackageVersion +
12721
- "\n - react-native-renderer: 19.2.0\nLearn more: https://react.dev/warnings/version-mismatch")
12722
- );
12723
12716
  if (
12724
12717
  "function" !==
12725
12718
  typeof ReactNativePrivateInterface.ReactFiberErrorDialog.showErrorDialog
@@ -7,7 +7,9 @@
7
7
  * @noformat
8
8
  * @nolint
9
9
  * @flow
10
- * @generated SignedSource<<8f46fdc9267fcc4fdc9e76842fe24066>>
10
+ *
11
+ * This file is no longer sync'd from the facebook/react repository.
12
+ * The version compatability check is removed. Use at your own risk.
11
13
  */
12
14
  'use strict';
13
15
 
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(83),
26
26
  RCTVersionPatch: @(0),
27
- RCTVersionPrerelease: @"nightly-20251022-93c17cd0c",
27
+ RCTVersionPrerelease: @"nightly-20251024-c7fb31ce5",
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -250,7 +250,6 @@ protected:
250
250
  methodMap_["enableIOSTextBaselineOffsetPerLine"] = MethodMetadata {.argCount = 0, .invoker = __enableIOSTextBaselineOffsetPerLine};
251
251
  methodMap_["enableIOSViewClipToPaddingBox"] = MethodMetadata {.argCount = 0, .invoker = __enableIOSViewClipToPaddingBox};
252
252
  methodMap_["enableImagePrefetchingAndroid"] = MethodMetadata {.argCount = 0, .invoker = __enableImagePrefetchingAndroid};
253
- methodMap_["enableImagePrefetchingJNIBatchingAndroid"] = MethodMetadata {.argCount = 0, .invoker = __enableImagePrefetchingJNIBatchingAndroid};
254
253
  methodMap_["enableImagePrefetchingOnUiThreadAndroid"] = MethodMetadata {.argCount = 0, .invoker = __enableImagePrefetchingOnUiThreadAndroid};
255
254
  methodMap_["enableImmediateUpdateModeForContentOffsetChanges"] = MethodMetadata {.argCount = 0, .invoker = __enableImmediateUpdateModeForContentOffsetChanges};
256
255
  methodMap_["enableImperativeFocus"] = MethodMetadata {.argCount = 0, .invoker = __enableImperativeFocus};
@@ -497,13 +496,6 @@ private:
497
496
  return bridging::callFromJs<bool>(rt, &T::enableImagePrefetchingAndroid, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
498
497
  }
499
498
 
500
- static jsi::Value __enableImagePrefetchingJNIBatchingAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
501
- static_assert(
502
- bridging::getParameterCount(&T::enableImagePrefetchingJNIBatchingAndroid) == 1,
503
- "Expected enableImagePrefetchingJNIBatchingAndroid(...) to have 1 parameters");
504
- return bridging::callFromJs<bool>(rt, &T::enableImagePrefetchingJNIBatchingAndroid, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
505
- }
506
-
507
499
  static jsi::Value __enableImagePrefetchingOnUiThreadAndroid(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
508
500
  static_assert(
509
501
  bridging::getParameterCount(&T::enableImagePrefetchingOnUiThreadAndroid) == 1,
@@ -6163,15 +6155,16 @@ struct NativeIntersectionObserverNativeIntersectionObserverEntryBridging {
6163
6155
 
6164
6156
  #pragma mark - NativeIntersectionObserverNativeIntersectionObserverObserveOptions
6165
6157
 
6166
- template <typename P0, typename P1, typename P2, typename P3, typename P4>
6158
+ template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5>
6167
6159
  struct NativeIntersectionObserverNativeIntersectionObserverObserveOptions {
6168
6160
  P0 intersectionObserverId;
6169
6161
  P1 rootShadowNode;
6170
6162
  P2 targetShadowNode;
6171
6163
  P3 thresholds;
6172
6164
  P4 rootThresholds;
6165
+ P5 rootMargin;
6173
6166
  bool operator==(const NativeIntersectionObserverNativeIntersectionObserverObserveOptions &other) const {
6174
- return intersectionObserverId == other.intersectionObserverId && rootShadowNode == other.rootShadowNode && targetShadowNode == other.targetShadowNode && thresholds == other.thresholds && rootThresholds == other.rootThresholds;
6167
+ return intersectionObserverId == other.intersectionObserverId && rootShadowNode == other.rootShadowNode && targetShadowNode == other.targetShadowNode && thresholds == other.thresholds && rootThresholds == other.rootThresholds && rootMargin == other.rootMargin;
6175
6168
  }
6176
6169
  };
6177
6170
 
@@ -6188,7 +6181,8 @@ struct NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridgin
6188
6181
  bridging::fromJs<decltype(types.rootShadowNode)>(rt, value.getProperty(rt, "rootShadowNode"), jsInvoker),
6189
6182
  bridging::fromJs<decltype(types.targetShadowNode)>(rt, value.getProperty(rt, "targetShadowNode"), jsInvoker),
6190
6183
  bridging::fromJs<decltype(types.thresholds)>(rt, value.getProperty(rt, "thresholds"), jsInvoker),
6191
- bridging::fromJs<decltype(types.rootThresholds)>(rt, value.getProperty(rt, "rootThresholds"), jsInvoker)};
6184
+ bridging::fromJs<decltype(types.rootThresholds)>(rt, value.getProperty(rt, "rootThresholds"), jsInvoker),
6185
+ bridging::fromJs<decltype(types.rootMargin)>(rt, value.getProperty(rt, "rootMargin"), jsInvoker)};
6192
6186
  return result;
6193
6187
  }
6194
6188
 
@@ -6208,6 +6202,9 @@ struct NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridgin
6208
6202
  static std::optional<jsi::Array> rootThresholdsToJs(jsi::Runtime &rt, decltype(types.rootThresholds) value) {
6209
6203
  return bridging::toJs(rt, value);
6210
6204
  }
6205
+ static std::optional<jsi::String> rootMarginToJs(jsi::Runtime &rt, decltype(types.rootMargin) value) {
6206
+ return bridging::toJs(rt, value);
6207
+ }
6211
6208
  #endif
6212
6209
 
6213
6210
  static jsi::Object toJs(
@@ -6224,6 +6221,9 @@ struct NativeIntersectionObserverNativeIntersectionObserverObserveOptionsBridgin
6224
6221
  if (value.rootThresholds) {
6225
6222
  result.setProperty(rt, "rootThresholds", bridging::toJs(rt, value.rootThresholds.value(), jsInvoker));
6226
6223
  }
6224
+ if (value.rootMargin) {
6225
+ result.setProperty(rt, "rootMargin", bridging::toJs(rt, value.rootMargin.value(), jsInvoker));
6226
+ }
6227
6227
  return result;
6228
6228
  }
6229
6229
  };
@@ -437,7 +437,7 @@ struct PointerHasher {
437
437
  * We hold the view weakly to prevent a retain cycle.
438
438
  */
439
439
  __weak UIView *_rootComponentView;
440
- RCTIdentifierPool<11> _identifierPool;
440
+ RCTIdentifierPool<17> _identifierPool;
441
441
 
442
442
  UIHoverGestureRecognizer *_mouseHoverRecognizer API_AVAILABLE(ios(13.0));
443
443
  UIHoverGestureRecognizer *_penHoverRecognizer API_AVAILABLE(ios(13.0));
@@ -137,7 +137,7 @@ struct PointerHasher {
137
137
  * We hold the view weakly to prevent a retain cycle.
138
138
  */
139
139
  __weak UIView *_rootComponentView;
140
- RCTIdentifierPool<11> _identifierPool;
140
+ RCTIdentifierPool<17> _identifierPool;
141
141
 
142
142
  RCTSurfacePointerHandler *_pointerHandler;
143
143
  }
@@ -17,42 +17,6 @@ version =
17
17
 
18
18
  configurations.maybeCreate("externalArtifacts")
19
19
 
20
- // Those artifacts should be placed inside the `artifacts/hermes-ios-*.tar.gz` location.
21
- val hermesiOSDebugArtifactFile: RegularFile =
22
- layout.projectDirectory.file("artifacts/hermes-ios-debug.tar.gz")
23
- val hermesiOSDebugArtifact: PublishArtifact =
24
- artifacts.add("externalArtifacts", hermesiOSDebugArtifactFile) {
25
- type = "tgz"
26
- extension = "tar.gz"
27
- classifier = "hermes-ios-debug"
28
- }
29
- val hermesiOSReleaseArtifactFile: RegularFile =
30
- layout.projectDirectory.file("artifacts/hermes-ios-release.tar.gz")
31
- val hermesiOSReleaseArtifact: PublishArtifact =
32
- artifacts.add("externalArtifacts", hermesiOSReleaseArtifactFile) {
33
- type = "tgz"
34
- extension = "tar.gz"
35
- classifier = "hermes-ios-release"
36
- }
37
-
38
- // Those artifacts should be placed inside the `artifacts/hermes-*.framework.dSYM` location
39
- val hermesDSYMDebugArtifactFile: RegularFile =
40
- layout.projectDirectory.file("artifacts/hermes-framework-dSYM-debug.tar.gz")
41
- val hermesDSYMDebugArtifact: PublishArtifact =
42
- artifacts.add("externalArtifacts", hermesDSYMDebugArtifactFile) {
43
- type = "tgz"
44
- extension = "tar.gz"
45
- classifier = "hermes-framework-dSYM-debug"
46
- }
47
- val hermesDSYMReleaseArtifactFile: RegularFile =
48
- layout.projectDirectory.file("artifacts/hermes-framework-dSYM-release.tar.gz")
49
- val hermesDSYMReleaseArtifact: PublishArtifact =
50
- artifacts.add("externalArtifacts", hermesDSYMReleaseArtifactFile) {
51
- type = "tgz"
52
- extension = "tar.gz"
53
- classifier = "hermes-framework-dSYM-release"
54
- }
55
-
56
20
  // [iOS] React Native Dependencies
57
21
  val reactNativeDependenciesDebugArtifactFile: RegularFile =
58
22
  layout.projectDirectory.file("artifacts/ReactNativeDependenciesDebug.xcframework.tar.gz")
@@ -131,10 +95,6 @@ publishing {
131
95
  publications {
132
96
  getByName("release", MavenPublication::class) {
133
97
  artifactId = "react-native-artifacts"
134
- artifact(hermesiOSDebugArtifact)
135
- artifact(hermesiOSReleaseArtifact)
136
- artifact(hermesDSYMDebugArtifact)
137
- artifact(hermesDSYMReleaseArtifact)
138
98
  artifact(reactNativeDependenciesDebugArtifact)
139
99
  artifact(reactNativeDependenciesReleaseArtifact)
140
100
  artifact(reactNativeDependenciesDebugDSYMArtifact)
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.83.0-nightly-20251022-93c17cd0c
1
+ VERSION_NAME=0.83.0-nightly-20251024-c7fb31ce5
2
2
  react.internal.publishingGroup=com.facebook.react
3
3
  react.internal.hermesPublishingGroup=com.facebook.hermes
4
4
 
@@ -286,6 +286,10 @@ android {
286
286
  "-DHERMES_ENABLE_INTL=True",
287
287
  )
288
288
 
289
+ if (hermesV1Enabled) {
290
+ arguments("-DHERMESVM_HEAP_HV_MODE=HEAP_HV_PREFER32")
291
+ }
292
+
289
293
  targets("hermesvm")
290
294
  }
291
295
  }
@@ -386,14 +390,3 @@ tasks.withType<JavaCompile>().configureEach {
386
390
  options.compilerArgs.add("-Xlint:deprecation,unchecked")
387
391
  options.compilerArgs.add("-Werror")
388
392
  }
389
-
390
- /* Publishing Configuration */
391
- apply(from = "../publish.gradle")
392
-
393
- // We need to override the artifact ID as this project is called `hermes-engine` but
394
- // the maven coordinates are on `hermes-android`.
395
- // Please note that the original coordinates, `hermes-engine`, have been voided
396
- // as they caused https://github.com/facebook/react-native/issues/35210
397
- publishing {
398
- publications { getByName("release", MavenPublication::class) { artifactId = "hermes-android" } }
399
- }
@@ -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<<2ac9938108dfe555fc7e7d875cc21987>>
7
+ * @generated SignedSource<<28000f9d4a36207875619060f2fa5713>>
8
8
  */
9
9
 
10
10
  /**
@@ -186,12 +186,6 @@ public object ReactNativeFeatureFlags {
186
186
  @JvmStatic
187
187
  public fun enableImagePrefetchingAndroid(): Boolean = accessor.enableImagePrefetchingAndroid()
188
188
 
189
- /**
190
- * When enabled, Android will build and initiate image prefetch requests on ImageShadowNode::layout and batch them together in a single JNI call
191
- */
192
- @JvmStatic
193
- public fun enableImagePrefetchingJNIBatchingAndroid(): Boolean = accessor.enableImagePrefetchingJNIBatchingAndroid()
194
-
195
189
  /**
196
190
  * When enabled, Android will initiate image prefetch requested on ImageShadowNode::layout on the UI thread
197
191
  */
@@ -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<<3cb451816d08f2f3cefb757f1e2ce72a>>
7
+ * @generated SignedSource<<ba1a322a9c7069cf63fd759090f9025d>>
8
8
  */
9
9
 
10
10
  /**
@@ -46,7 +46,6 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
46
46
  private var enableIOSTextBaselineOffsetPerLineCache: Boolean? = null
47
47
  private var enableIOSViewClipToPaddingBoxCache: Boolean? = null
48
48
  private var enableImagePrefetchingAndroidCache: Boolean? = null
49
- private var enableImagePrefetchingJNIBatchingAndroidCache: Boolean? = null
50
49
  private var enableImagePrefetchingOnUiThreadAndroidCache: Boolean? = null
51
50
  private var enableImmediateUpdateModeForContentOffsetChangesCache: Boolean? = null
52
51
  private var enableImperativeFocusCache: Boolean? = null
@@ -336,15 +335,6 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
336
335
  return cached
337
336
  }
338
337
 
339
- override fun enableImagePrefetchingJNIBatchingAndroid(): Boolean {
340
- var cached = enableImagePrefetchingJNIBatchingAndroidCache
341
- if (cached == null) {
342
- cached = ReactNativeFeatureFlagsCxxInterop.enableImagePrefetchingJNIBatchingAndroid()
343
- enableImagePrefetchingJNIBatchingAndroidCache = cached
344
- }
345
- return cached
346
- }
347
-
348
338
  override fun enableImagePrefetchingOnUiThreadAndroid(): Boolean {
349
339
  var cached = enableImagePrefetchingOnUiThreadAndroidCache
350
340
  if (cached == null) {
@@ -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<<de0fe8d116ca48e918f67c4c32f1183f>>
7
+ * @generated SignedSource<<412a865e975214a0d794985e48fbbe4b>>
8
8
  */
9
9
 
10
10
  /**
@@ -80,8 +80,6 @@ public object ReactNativeFeatureFlagsCxxInterop {
80
80
 
81
81
  @DoNotStrip @JvmStatic public external fun enableImagePrefetchingAndroid(): Boolean
82
82
 
83
- @DoNotStrip @JvmStatic public external fun enableImagePrefetchingJNIBatchingAndroid(): Boolean
84
-
85
83
  @DoNotStrip @JvmStatic public external fun enableImagePrefetchingOnUiThreadAndroid(): Boolean
86
84
 
87
85
  @DoNotStrip @JvmStatic public external fun enableImmediateUpdateModeForContentOffsetChanges(): Boolean
@@ -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<<674f7910fe5dcd750ba2661122c82670>>
7
+ * @generated SignedSource<<7987eba84c39c6e8cb6494092a94790e>>
8
8
  */
9
9
 
10
10
  /**
@@ -75,8 +75,6 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
75
75
 
76
76
  override fun enableImagePrefetchingAndroid(): Boolean = false
77
77
 
78
- override fun enableImagePrefetchingJNIBatchingAndroid(): Boolean = false
79
-
80
78
  override fun enableImagePrefetchingOnUiThreadAndroid(): Boolean = false
81
79
 
82
80
  override fun enableImmediateUpdateModeForContentOffsetChanges(): Boolean = false
@@ -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<<5facf1328467d62b41dd9f82c5111882>>
7
+ * @generated SignedSource<<7f43cde1ba2bef2300c077f35b168d31>>
8
8
  */
9
9
 
10
10
  /**
@@ -50,7 +50,6 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
50
50
  private var enableIOSTextBaselineOffsetPerLineCache: Boolean? = null
51
51
  private var enableIOSViewClipToPaddingBoxCache: Boolean? = null
52
52
  private var enableImagePrefetchingAndroidCache: Boolean? = null
53
- private var enableImagePrefetchingJNIBatchingAndroidCache: Boolean? = null
54
53
  private var enableImagePrefetchingOnUiThreadAndroidCache: Boolean? = null
55
54
  private var enableImmediateUpdateModeForContentOffsetChangesCache: Boolean? = null
56
55
  private var enableImperativeFocusCache: Boolean? = null
@@ -366,16 +365,6 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
366
365
  return cached
367
366
  }
368
367
 
369
- override fun enableImagePrefetchingJNIBatchingAndroid(): Boolean {
370
- var cached = enableImagePrefetchingJNIBatchingAndroidCache
371
- if (cached == null) {
372
- cached = currentProvider.enableImagePrefetchingJNIBatchingAndroid()
373
- accessedFeatureFlags.add("enableImagePrefetchingJNIBatchingAndroid")
374
- enableImagePrefetchingJNIBatchingAndroidCache = cached
375
- }
376
- return cached
377
- }
378
-
379
368
  override fun enableImagePrefetchingOnUiThreadAndroid(): Boolean {
380
369
  var cached = enableImagePrefetchingOnUiThreadAndroidCache
381
370
  if (cached == null) {
@@ -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<<5a9a51638a72bda657f312260bb1297a>>
7
+ * @generated SignedSource<<692dcdb2af3c6af981e8f48686ca105e>>
8
8
  */
9
9
 
10
10
  /**
@@ -75,8 +75,6 @@ public interface ReactNativeFeatureFlagsProvider {
75
75
 
76
76
  @DoNotStrip public fun enableImagePrefetchingAndroid(): Boolean
77
77
 
78
- @DoNotStrip public fun enableImagePrefetchingJNIBatchingAndroid(): Boolean
79
-
80
78
  @DoNotStrip public fun enableImagePrefetchingOnUiThreadAndroid(): Boolean
81
79
 
82
80
  @DoNotStrip public fun enableImmediateUpdateModeForContentOffsetChanges(): Boolean
@@ -15,6 +15,6 @@ public object ReactNativeVersion {
15
15
  "major" to 0,
16
16
  "minor" to 83,
17
17
  "patch" to 0,
18
- "prerelease" to "nightly-20251022-93c17cd0c"
18
+ "prerelease" to "nightly-20251024-c7fb31ce5"
19
19
  )
20
20
  }