react-native 0.82.0-nightly-20250821-0ef21bf8a → 0.82.0-nightly-20250823-cf528526c

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 (131) hide show
  1. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +4 -0
  2. package/Libraries/Animated/components/AnimatedScrollView.js +2 -1
  3. package/Libraries/Animated/components/AnimatedSectionList.js +1 -1
  4. package/Libraries/Blob/URLSearchParams.js +2 -0
  5. package/Libraries/Components/ScrollView/ScrollView.js +1 -1
  6. package/Libraries/Components/TextInput/TextInputState.js +1 -1
  7. package/Libraries/Core/ReactNativeVersion.js +1 -1
  8. package/Libraries/Image/Image.android.js +1 -1
  9. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +2 -2
  10. package/Libraries/ReactNative/RendererImplementation.js +3 -3
  11. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +3 -1
  12. package/Libraries/Share/Share.js +4 -0
  13. package/Libraries/StyleSheet/processFilter.js +5 -5
  14. package/Libraries/Utilities/HMRClient.js +2 -0
  15. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +2 -0
  16. package/Libraries/WebSocket/WebSocketInterceptor.js +2 -0
  17. package/React/Base/RCTUtils.mm +3 -1
  18. package/React/Base/RCTVersion.m +1 -1
  19. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +6 -0
  20. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +9 -0
  21. package/ReactAndroid/api/ReactAndroid.api +1 -42
  22. package/ReactAndroid/build.gradle.kts +9 -2
  23. package/ReactAndroid/gradle.properties +1 -1
  24. package/ReactAndroid/hermes-engine/build.gradle.kts +6 -10
  25. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.kt +2 -2
  26. package/ReactAndroid/src/main/java/com/facebook/react/CoreModulesPackage.kt +1 -9
  27. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +0 -7
  28. package/ReactAndroid/src/main/java/com/facebook/react/bridge/JavaMethodWrapper.kt +3 -3
  29. package/ReactAndroid/src/main/java/com/facebook/react/bridge/OnBatchCompleteListener.kt +2 -2
  30. package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactNativeJNISoLoader.kt +2 -0
  31. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +0 -167
  32. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +12 -22
  33. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/PerfMonitorOverlayViewManager.kt +10 -9
  34. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/PerfMonitorOverlayManager.kt +0 -10
  35. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorDevHelper.kt +20 -0
  36. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorEventDispatcher.kt +12 -0
  37. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTarget.kt +11 -0
  38. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTargetBinding.kt +16 -0
  39. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorUpdateListener.kt +20 -0
  40. package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +1 -0
  41. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +7 -1
  42. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +11 -1
  43. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +3 -1
  44. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +5 -3
  45. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +12 -1
  46. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Experimental_Android.kt +1 -5
  47. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +3 -1
  48. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  49. package/ReactAndroid/src/main/java/com/facebook/react/runtime/BridgelessReactContext.kt +3 -0
  50. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +1 -14
  51. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +6 -1
  52. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +32 -1
  53. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModule.java +0 -15
  54. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +1 -1
  55. package/ReactAndroid/src/main/jni/first-party/hermes/CMakeLists.txt +1 -1
  56. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +15 -1
  57. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +4 -1
  58. package/ReactAndroid/src/main/jni/react/hermes/instrumentation/CMakeLists.txt +1 -1
  59. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +1 -1
  60. package/ReactAndroid/src/main/jni/react/hermes/tooling/CMakeLists.txt +1 -1
  61. package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +0 -1
  62. package/ReactAndroid/src/main/jni/react/jni/OnLoad.cpp +0 -2
  63. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +1 -1
  64. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +72 -19
  65. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +39 -18
  66. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  67. package/ReactCommon/hermes/executor/CMakeLists.txt +1 -1
  68. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +1 -1
  69. package/ReactCommon/jsi/jsi/decorator.h +27 -0
  70. package/ReactCommon/jsi/jsi/jsi-inl.h +17 -0
  71. package/ReactCommon/jsi/jsi/jsi.cpp +31 -0
  72. package/ReactCommon/jsi/jsi/jsi.h +20 -0
  73. package/ReactCommon/jsi/jsi/test/testlib.cpp +59 -0
  74. package/ReactCommon/jsinspector-modern/HostAgent.cpp +13 -6
  75. package/ReactCommon/jsinspector-modern/HostAgent.h +4 -1
  76. package/ReactCommon/jsinspector-modern/HostTarget.cpp +11 -3
  77. package/ReactCommon/jsinspector-modern/HostTarget.h +13 -0
  78. package/ReactCommon/jsinspector-modern/PerfMonitorV2.cpp +14 -12
  79. package/ReactCommon/jsinspector-modern/PerfMonitorV2.h +5 -6
  80. package/ReactCommon/jsinspector-modern/TracingAgent.cpp +28 -17
  81. package/ReactCommon/jsinspector-modern/TracingAgent.h +14 -1
  82. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +7 -6
  83. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +5 -1
  84. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +6 -1
  85. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +48 -30
  86. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +4 -2
  87. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +7 -3
  88. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +10 -1
  89. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSExperimental.h +1 -9
  90. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +2 -1
  91. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +6 -1
  92. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +3 -1
  93. package/ReactCommon/react/performance/cdpmetrics/CdpMetricsReporter.cpp +23 -0
  94. package/ReactCommon/react/performance/cdpmetrics/CdpMetricsReporter.h +1 -0
  95. package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +10 -0
  96. package/ReactCommon/react/performance/timeline/PerformanceEntryReporterListeners.h +3 -1
  97. package/ReactCommon/react/renderer/components/switch/iosswitch/react/renderer/components/switch/IOSSwitchShadowNode.mm +3 -1
  98. package/ReactCommon/react/renderer/components/text/TextShadowNode.h +1 -0
  99. package/ReactCommon/react/renderer/graphics/platform/android/react/renderer/graphics/HostPlatformColor.h +4 -4
  100. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.h +4 -4
  101. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/HostPlatformColor.mm +2 -1
  102. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/PlatformColorParser.mm +4 -4
  103. package/ReactCommon/react/renderer/graphics/platform/ios/react/renderer/graphics/RCTPlatformColorUtils.mm +1 -1
  104. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +1 -1
  105. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +1 -1
  106. package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +1 -1
  107. package/ReactCommon/react/renderer/mounting/Differentiator.cpp +4 -0
  108. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +37 -34
  109. package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +28 -23
  110. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +1 -1
  111. package/jest/mockNativeComponent.js +1 -1
  112. package/package.json +8 -8
  113. package/scripts/hermes/hermes-utils.js +12 -6
  114. package/sdks/hermes-engine/hermes-engine.podspec +12 -12
  115. package/sdks/hermes-engine/utils/build-apple-framework.sh +14 -14
  116. package/sdks/hermes-engine/utils/build-hermes-xcode.sh +3 -3
  117. package/sdks/hermes-engine/utils/build-ios-framework.sh +3 -3
  118. package/sdks/hermes-engine/utils/build-mac-framework.sh +1 -1
  119. package/sdks/hermes-engine/utils/create-dummy-hermes-xcframework.sh +5 -5
  120. package/sdks/hermesc/osx-bin/hermes +0 -0
  121. package/sdks/hermesc/osx-bin/hermesc +0 -0
  122. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  123. package/src/private/featureflags/ReactNativeFeatureFlags.js +8 -3
  124. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +2 -1
  125. package/ReactAndroid/src/main/java/com/facebook/react/ReactPackageLogger.kt +0 -20
  126. package/ReactAndroid/src/main/java/com/facebook/react/bridge/Inspector.kt +0 -78
  127. package/ReactAndroid/src/main/java/com/facebook/react/bridge/NativeArgumentsParseException.kt +0 -34
  128. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/PerfMonitorV2Handler.kt +0 -24
  129. package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIManagerModuleListener.kt +0 -24
  130. package/ReactAndroid/src/main/jni/react/jni/JInspector.cpp +0 -112
  131. package/ReactAndroid/src/main/jni/react/jni/JInspector.h +0 -77
@@ -77,6 +77,8 @@ const ActionSheetIOS = {
77
77
  callback: (buttonIndex: number) => void,
78
78
  ) {
79
79
  invariant(
80
+ /* $FlowFixMe[invalid-compare] Error discovered during Constant Condition
81
+ * roll out. See https://fburl.com/workplace/5whu3i34. */
80
82
  typeof options === 'object' && options !== null,
81
83
  'Options must be a valid object',
82
84
  );
@@ -162,6 +164,8 @@ const ActionSheetIOS = {
162
164
  successCallback: Function | ((success: boolean, method: ?string) => void),
163
165
  ) {
164
166
  invariant(
167
+ /* $FlowFixMe[invalid-compare] Error discovered during Constant Condition
168
+ * roll out. See https://fburl.com/workplace/5whu3i34. */
165
169
  typeof options === 'object' && options !== null,
166
170
  'Options must be a valid object',
167
171
  );
@@ -54,7 +54,8 @@ const AnimatedScrollView: AnimatedComponentType<
54
54
  props.style != null
55
55
  ) {
56
56
  return (
57
- // $FlowFixMe - It should return an Animated ScrollView but it returns a ScrollView with Animated props applied.
57
+ // $FlowFixMe[incompatible-type] - It should return an Animated ScrollView but it returns a ScrollView with Animated props applied.
58
+ // $FlowFixMe[incompatible-variance]
58
59
  <AnimatedScrollViewWithInvertedRefreshControl
59
60
  scrollEventThrottle={0.0001}
60
61
  {...props}
@@ -14,7 +14,7 @@ import SectionList, {type SectionListProps} from '../../Lists/SectionList';
14
14
  import createAnimatedComponent from '../createAnimatedComponent';
15
15
  import * as React from 'react';
16
16
 
17
- // $FlowFixMe
17
+ // $FlowFixMe[incompatible-type]
18
18
  export default (createAnimatedComponent(SectionList): component<
19
19
  // $FlowExpectedError[unclear-type]
20
20
  ItemT = any,
@@ -18,6 +18,8 @@ export class URLSearchParams {
18
18
  }
19
19
 
20
20
  constructor(params?: Record<string, string> | string | [string, string][]) {
21
+ /* $FlowFixMe[invalid-compare] Error discovered during Constant Condition
22
+ * roll out. See https://fburl.com/workplace/5whu3i34. */
21
23
  if (params === null) {
22
24
  return;
23
25
  }
@@ -1503,7 +1503,7 @@ class ScrollView extends React.Component<ScrollViewProps, ScrollViewState> {
1503
1503
  keyboardNeverPersistTaps &&
1504
1504
  this._keyboardIsDismissible() &&
1505
1505
  e.target != null &&
1506
- // $FlowFixMe Error supressed during the migration of HostInstance to ReactNativeElement
1506
+ // $FlowFixMe[incompatible-type] Error supressed during the migration of HostInstance to ReactNativeElement
1507
1507
  !TextInputState.isTextInput(e.target)
1508
1508
  ) {
1509
1509
  return true;
@@ -88,7 +88,7 @@ function focusTextInput(textField: ?HostInstance) {
88
88
  if (textField != null) {
89
89
  const fieldCanBeFocused =
90
90
  currentlyFocusedInputRef !== textField &&
91
- // $FlowFixMe - `currentProps` is missing in `NativeMethods`
91
+ // $FlowFixMe[prop-missing] - `currentProps` is missing in `NativeMethods`
92
92
  textField.currentProps?.editable !== false;
93
93
 
94
94
  if (!fieldCanBeFocused) {
@@ -29,7 +29,7 @@ export default class ReactNativeVersion {
29
29
  static major: number = 0;
30
30
  static minor: number = 82;
31
31
  static patch: number = 0;
32
- static prerelease: string | null = 'nightly-20250821-0ef21bf8a';
32
+ static prerelease: string | null = 'nightly-20250823-cf528526c';
33
33
 
34
34
  static getVersionString(): string {
35
35
  return `${this.major}.${this.minor}.${this.patch}${this.prerelease != null ? `-${this.prerelease}` : ''}`;
@@ -387,7 +387,7 @@ if (ReactNativeFeatureFlags.reduceDefaultPropsInImage()) {
387
387
  // in order to have a better alignment between platforms in the future.
388
388
  src: sources,
389
389
  source: sources,
390
- /* $FlowFixMe(>=0.78.0 site=react_native_android_fb) This issue was found
390
+ /* $FlowFixMe[prop-missing](>=0.78.0 site=react_native_android_fb) This issue was found
391
391
  * when making Flow check .android.js files. */
392
392
  headers: (source?.[0]?.headers || source?.headers: ?{[string]: string}),
393
393
  defaultSource: defaultSource ? defaultSource.uri : null,
@@ -58,12 +58,12 @@ export default class ReactFabricHostComponent implements NativeMethods {
58
58
  }
59
59
 
60
60
  blur() {
61
- // $FlowFixMe - Error supressed during the migration of HostInstance to ReactNativeElement
61
+ // $FlowFixMe[incompatible-type] - Error supressed during the migration of HostInstance to ReactNativeElement
62
62
  TextInputState.blurTextInput(this);
63
63
  }
64
64
 
65
65
  focus() {
66
- // $FlowFixMe - Error supressed during the migration of HostInstance to ReactNativeElement
66
+ // $FlowFixMe[incompatible-type] - Error supressed during the migration of HostInstance to ReactNativeElement
67
67
  TextInputState.focusTextInput(this);
68
68
  }
69
69
 
@@ -47,14 +47,14 @@ const getMethod: (<MethodName: $Keys<ReactFabricType>>(
47
47
  ) => ReactNativeType[MethodName]) = (getRenderer, methodName) => {
48
48
  let cachedImpl;
49
49
 
50
- // $FlowExpectedError
50
+ // $FlowExpectedError[incompatible-type]
51
51
  return function (arg1, arg2, arg3, arg4, arg5, arg6) {
52
52
  if (cachedImpl == null) {
53
- // $FlowExpectedError
53
+ // $FlowExpectedError[prop-missing]
54
54
  cachedImpl = getRenderer()[methodName];
55
55
  }
56
56
 
57
- // $FlowExpectedError
57
+ // $FlowExpectedError[extra-arg]
58
58
  return cachedImpl(arg1, arg2, arg3, arg4, arg5);
59
59
  };
60
60
  };
@@ -7,7 +7,7 @@
7
7
  * @noformat
8
8
  * @nolint
9
9
  * @flow strict-local
10
- * @generated SignedSource<<83073425aa3f71ced2c8c51f25a25938>>
10
+ * @generated SignedSource<<1f7876c0dc0b05685a730513dc410236>>
11
11
  */
12
12
 
13
13
  'use strict';
@@ -82,6 +82,8 @@ export function register(name: string, callback: () => ViewConfig): string {
82
82
  typeof callback === 'function',
83
83
  'View config getter callback for component `%s` must be a function (received `%s`)',
84
84
  name,
85
+ /* $FlowFixMe[invalid-compare] Error discovered during Constant Condition
86
+ * roll out. See https://fburl.com/workplace/5whu3i34. */
85
87
  callback === null ? 'null' : typeof callback,
86
88
  );
87
89
  viewConfigCallbacks.set(name, callback);
@@ -83,6 +83,8 @@ class Share {
83
83
  options?: ShareOptions = {},
84
84
  ): Promise<{action: string, activityType: ?string}> {
85
85
  invariant(
86
+ /* $FlowFixMe[invalid-compare] Error discovered during Constant Condition
87
+ * roll out. See https://fburl.com/workplace/5whu3i34. */
86
88
  typeof content === 'object' && content !== null,
87
89
  'Content to share must be a valid object',
88
90
  );
@@ -91,6 +93,8 @@ class Share {
91
93
  'At least one of URL or message is required',
92
94
  );
93
95
  invariant(
96
+ /* $FlowFixMe[invalid-compare] Error discovered during Constant Condition
97
+ * roll out. See https://fburl.com/workplace/5whu3i34. */
94
98
  typeof options === 'object' && options !== null,
95
99
  'Options must be a valid object',
96
100
  );
@@ -69,9 +69,9 @@ export default function processFilter(
69
69
 
70
70
  if (amount != null) {
71
71
  const filterFunction = {};
72
- // $FlowFixMe The key will be the correct one but flow can't see that.
72
+ // $FlowFixMe[prop-missing] The key will be the correct one but flow can't see that.
73
73
  filterFunction[camelizedName] = amount;
74
- // $FlowFixMe The key will be the correct one but flow can't see that.
74
+ // $FlowFixMe[incompatible-type] The key will be the correct one but flow can't see that.
75
75
  result.push(filterFunction);
76
76
  } else {
77
77
  // If any primitive is invalid then apply none of the filters. This is how
@@ -85,7 +85,7 @@ export default function processFilter(
85
85
  for (const filterFunction of filter) {
86
86
  const [filterName, filterValue] = Object.entries(filterFunction)[0];
87
87
  if (filterName === 'dropShadow') {
88
- // $FlowFixMe
88
+ // $FlowFixMe[incompatible-type]
89
89
  const dropShadow = parseDropShadow(filterValue);
90
90
  if (dropShadow == null) {
91
91
  return [];
@@ -96,9 +96,9 @@ export default function processFilter(
96
96
 
97
97
  if (amount != null) {
98
98
  const resultObject = {};
99
- // $FlowFixMe
99
+ // $FlowFixMe[prop-missing]
100
100
  resultObject[filterName] = amount;
101
- // $FlowFixMe
101
+ // $FlowFixMe[incompatible-type]
102
102
  result.push(resultObject);
103
103
  } else {
104
104
  // If any primitive is invalid then apply none of the filters. This is how
@@ -165,6 +165,8 @@ const HMRClient: HMRClientNativeInterface = {
165
165
  // Moving to top gives errors due to NativeModules not being initialized
166
166
  const DevLoadingView = require('./DevLoadingView').default;
167
167
 
168
+ /* $FlowFixMe[invalid-compare] Error discovered during Constant Condition
169
+ * roll out. See https://fburl.com/workplace/5whu3i34. */
168
170
  const serverHost = port !== null && port !== '' ? `${host}:${port}` : host;
169
171
 
170
172
  const serverScheme = scheme;
@@ -33,6 +33,8 @@ function deepFreezeAndThrowOnMutationInDev<T: {...} | Array<mixed>>(
33
33
  if (__DEV__) {
34
34
  if (
35
35
  typeof object !== 'object' ||
36
+ /* $FlowFixMe[invalid-compare] Error discovered during Constant Condition
37
+ * roll out. See https://fburl.com/workplace/5whu3i34. */
36
38
  object === null ||
37
39
  Object.isFrozen(object) ||
38
40
  Object.isSealed(object)
@@ -232,6 +232,8 @@ const WebSocketInterceptor = {
232
232
 
233
233
  _arrayBufferToString(data: string): ArrayBuffer | string {
234
234
  const value = base64.toByteArray(data).buffer;
235
+ /* $FlowFixMe[invalid-compare] Error discovered during Constant Condition
236
+ * roll out. See https://fburl.com/workplace/5whu3i34. */
235
237
  if (value === undefined || value === null) {
236
238
  return '(no value)';
237
239
  }
@@ -415,7 +415,9 @@ CGSize RCTSwitchSize(void)
415
415
  static CGSize rctSwitchSize;
416
416
  static dispatch_once_t onceToken;
417
417
  dispatch_once(&onceToken, ^{
418
- rctSwitchSize = [UISwitch new].intrinsicContentSize;
418
+ RCTUnsafeExecuteOnMainQueueSync(^{
419
+ rctSwitchSize = [UISwitch new].intrinsicContentSize;
420
+ });
419
421
  });
420
422
  return rctSwitchSize;
421
423
  }
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(82),
26
26
  RCTVersionPatch: @(0),
27
- RCTVersionPrerelease: @"nightly-20250821-0ef21bf8a",
27
+ RCTVersionPrerelease: @"nightly-20250823-cf528526c",
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -277,6 +277,11 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableV
277
277
  rt
278
278
  );
279
279
  }
280
+ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecyclingForScrollView(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
281
+ return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->enableViewRecyclingForScrollView(
282
+ rt
283
+ );
284
+ }
280
285
  static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecyclingForText(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
281
286
  return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->enableViewRecyclingForText(
282
287
  rt
@@ -464,6 +469,7 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI
464
469
  methodMap_["enableResourceTimingAPI"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableResourceTimingAPI};
465
470
  methodMap_["enableViewCulling"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewCulling};
466
471
  methodMap_["enableViewRecycling"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecycling};
472
+ methodMap_["enableViewRecyclingForScrollView"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecyclingForScrollView};
467
473
  methodMap_["enableViewRecyclingForText"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecyclingForText};
468
474
  methodMap_["enableViewRecyclingForView"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableViewRecyclingForView};
469
475
  methodMap_["enableVirtualViewDebugFeatures"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableVirtualViewDebugFeatures};
@@ -365,6 +365,7 @@ public:
365
365
  virtual bool enableResourceTimingAPI(jsi::Runtime &rt) = 0;
366
366
  virtual bool enableViewCulling(jsi::Runtime &rt) = 0;
367
367
  virtual bool enableViewRecycling(jsi::Runtime &rt) = 0;
368
+ virtual bool enableViewRecyclingForScrollView(jsi::Runtime &rt) = 0;
368
369
  virtual bool enableViewRecyclingForText(jsi::Runtime &rt) = 0;
369
370
  virtual bool enableViewRecyclingForView(jsi::Runtime &rt) = 0;
370
371
  virtual bool enableVirtualViewDebugFeatures(jsi::Runtime &rt) = 0;
@@ -736,6 +737,14 @@ private:
736
737
  return bridging::callFromJs<bool>(
737
738
  rt, &T::enableViewRecycling, jsInvoker_, instance_);
738
739
  }
740
+ bool enableViewRecyclingForScrollView(jsi::Runtime &rt) override {
741
+ static_assert(
742
+ bridging::getParameterCount(&T::enableViewRecyclingForScrollView) == 1,
743
+ "Expected enableViewRecyclingForScrollView(...) to have 1 parameters");
744
+
745
+ return bridging::callFromJs<bool>(
746
+ rt, &T::enableViewRecyclingForScrollView, jsInvoker_, instance_);
747
+ }
739
748
  bool enableViewRecyclingForText(jsi::Runtime &rt) override {
740
749
  static_assert(
741
750
  bridging::getParameterCount(&T::enableViewRecyclingForText) == 1,
@@ -744,34 +744,6 @@ public abstract class com/facebook/react/bridge/GuardedRunnable : java/lang/Runn
744
744
  public abstract fun runGuarded ()V
745
745
  }
746
746
 
747
- public final class com/facebook/react/bridge/Inspector {
748
- public static final field Companion Lcom/facebook/react/bridge/Inspector$Companion;
749
- public static final fun connect (ILcom/facebook/react/bridge/Inspector$RemoteConnection;)Lcom/facebook/react/bridge/Inspector$LocalConnection;
750
- public static final fun getPages ()Ljava/util/List;
751
- }
752
-
753
- public final class com/facebook/react/bridge/Inspector$Companion {
754
- public final fun connect (ILcom/facebook/react/bridge/Inspector$RemoteConnection;)Lcom/facebook/react/bridge/Inspector$LocalConnection;
755
- public final fun getPages ()Ljava/util/List;
756
- }
757
-
758
- public final class com/facebook/react/bridge/Inspector$LocalConnection {
759
- public final fun disconnect ()V
760
- public final fun sendMessage (Ljava/lang/String;)V
761
- }
762
-
763
- public final class com/facebook/react/bridge/Inspector$Page {
764
- public final fun getId ()I
765
- public final fun getTitle ()Ljava/lang/String;
766
- public final fun getVM ()Ljava/lang/String;
767
- public fun toString ()Ljava/lang/String;
768
- }
769
-
770
- public abstract interface class com/facebook/react/bridge/Inspector$RemoteConnection {
771
- public abstract fun onDisconnect ()V
772
- public abstract fun onMessage (Ljava/lang/String;)V
773
- }
774
-
775
747
  public class com/facebook/react/bridge/JSApplicationCausedNativeException : java/lang/RuntimeException {
776
748
  public fun <init> (Ljava/lang/String;)V
777
749
  public fun <init> (Ljava/lang/String;Ljava/lang/Throwable;)V
@@ -1018,10 +990,6 @@ public abstract interface class com/facebook/react/bridge/NotThreadSafeBridgeIdl
1018
990
  public abstract fun onTransitionToBridgeIdle ()V
1019
991
  }
1020
992
 
1021
- public abstract interface class com/facebook/react/bridge/OnBatchCompleteListener {
1022
- public abstract fun onBatchComplete ()V
1023
- }
1024
-
1025
993
  public abstract interface class com/facebook/react/bridge/PerformanceCounter {
1026
994
  public abstract fun getPerformanceCounters ()Ljava/util/Map;
1027
995
  public abstract fun profileNextBatch ()V
@@ -1863,15 +1831,9 @@ public class com/facebook/react/defaults/DefaultReactActivityDelegate : com/face
1863
1831
  public final class com/facebook/react/defaults/DefaultReactHost {
1864
1832
  public static final field INSTANCE Lcom/facebook/react/defaults/DefaultReactHost;
1865
1833
  public static final fun getDefaultReactHost (Landroid/content/Context;Lcom/facebook/react/ReactNativeHost;Lcom/facebook/react/runtime/JSRuntimeFactory;)Lcom/facebook/react/ReactHost;
1866
- public static final fun getDefaultReactHost (Landroid/content/Context;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/runtime/JSRuntimeFactory;ZLjava/util/List;)Lcom/facebook/react/ReactHost;
1867
1834
  public static final fun getDefaultReactHost (Landroid/content/Context;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/runtime/JSRuntimeFactory;ZLjava/util/List;Lkotlin/jvm/functions/Function1;Lcom/facebook/react/runtime/BindingsInstaller;)Lcom/facebook/react/ReactHost;
1868
- public static final fun getDefaultReactHost (Landroid/content/Context;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLjava/util/List;)Lcom/facebook/react/ReactHost;
1869
- public static final fun getDefaultReactHost (Landroid/content/Context;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLjava/util/List;Lkotlin/jvm/functions/Function1;Lcom/facebook/react/runtime/BindingsInstaller;)Lcom/facebook/react/ReactHost;
1870
1835
  public static synthetic fun getDefaultReactHost$default (Landroid/content/Context;Lcom/facebook/react/ReactNativeHost;Lcom/facebook/react/runtime/JSRuntimeFactory;ILjava/lang/Object;)Lcom/facebook/react/ReactHost;
1871
- public static synthetic fun getDefaultReactHost$default (Landroid/content/Context;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/runtime/JSRuntimeFactory;ZLjava/util/List;ILjava/lang/Object;)Lcom/facebook/react/ReactHost;
1872
1836
  public static synthetic fun getDefaultReactHost$default (Landroid/content/Context;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/facebook/react/runtime/JSRuntimeFactory;ZLjava/util/List;Lkotlin/jvm/functions/Function1;Lcom/facebook/react/runtime/BindingsInstaller;ILjava/lang/Object;)Lcom/facebook/react/ReactHost;
1873
- public static synthetic fun getDefaultReactHost$default (Landroid/content/Context;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLjava/util/List;ILjava/lang/Object;)Lcom/facebook/react/ReactHost;
1874
- public static synthetic fun getDefaultReactHost$default (Landroid/content/Context;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZLjava/util/List;Lkotlin/jvm/functions/Function1;Lcom/facebook/react/runtime/BindingsInstaller;ILjava/lang/Object;)Lcom/facebook/react/ReactHost;
1875
1837
  }
1876
1838
 
1877
1839
  public abstract class com/facebook/react/defaults/DefaultReactNativeHost : com/facebook/react/ReactNativeHost {
@@ -1973,7 +1935,7 @@ public abstract interface class com/facebook/react/devsupport/DevServerHelper$Pa
1973
1935
  public abstract fun onPackagerReloadCommand ()V
1974
1936
  }
1975
1937
 
1976
- public abstract class com/facebook/react/devsupport/DevSupportManagerBase : com/facebook/react/devsupport/interfaces/DevSupportManager, com/facebook/react/devsupport/interfaces/PerfMonitorV2Handler {
1938
+ public abstract class com/facebook/react/devsupport/DevSupportManagerBase : com/facebook/react/devsupport/interfaces/DevSupportManager {
1977
1939
  public static final field Companion Lcom/facebook/react/devsupport/DevSupportManagerBase$Companion;
1978
1940
  public fun <init> (Landroid/content/Context;Lcom/facebook/react/devsupport/ReactInstanceDevHelper;Ljava/lang/String;ZLcom/facebook/react/devsupport/interfaces/RedBoxHandler;Lcom/facebook/react/devsupport/interfaces/DevBundleDownloadListener;ILjava/util/Map;Lcom/facebook/react/common/SurfaceDelegateFactory;Lcom/facebook/react/devsupport/interfaces/DevLoadingViewManager;Lcom/facebook/react/devsupport/interfaces/PausedInDebuggerOverlayManager;)V
1979
1941
  public fun addCustomDevOption (Ljava/lang/String;Lcom/facebook/react/devsupport/interfaces/DevOptionHandler;)V
@@ -2031,7 +1993,6 @@ public abstract class com/facebook/react/devsupport/DevSupportManagerBase : com/
2031
1993
  public fun startInspector ()V
2032
1994
  public fun stopInspector ()V
2033
1995
  public fun toggleElementInspector ()V
2034
- public fun unstable_updatePerfMonitor (Ljava/lang/String;III)V
2035
1996
  }
2036
1997
 
2037
1998
  public abstract interface class com/facebook/react/devsupport/DevSupportManagerBase$CallbackWithBundleLoader {
@@ -4369,7 +4330,6 @@ public class com/facebook/react/uimanager/UIManagerModule : com/facebook/react/b
4369
4330
  public fun addRootView (Landroid/view/View;Lcom/facebook/react/bridge/WritableMap;)I
4370
4331
  public fun addUIBlock (Lcom/facebook/react/uimanager/UIBlock;)V
4371
4332
  public fun addUIManagerEventListener (Lcom/facebook/react/bridge/UIManagerListener;)V
4372
- public fun addUIManagerListener (Lcom/facebook/react/uimanager/UIManagerModuleListener;)V
4373
4333
  public fun clearJSResponder ()V
4374
4334
  public fun configureNextLayoutAnimation (Lcom/facebook/react/bridge/ReadableMap;Lcom/facebook/react/bridge/Callback;Lcom/facebook/react/bridge/Callback;)V
4375
4335
  public static fun createConstants (Ljava/util/List;Ljava/util/Map;Ljava/util/Map;)Ljava/util/Map;
@@ -4406,7 +4366,6 @@ public class com/facebook/react/uimanager/UIManagerModule : com/facebook/react/b
4406
4366
  public fun receiveEvent (ILjava/lang/String;Lcom/facebook/react/bridge/WritableMap;)V
4407
4367
  public fun removeRootView (I)V
4408
4368
  public fun removeUIManagerEventListener (Lcom/facebook/react/bridge/UIManagerListener;)V
4409
- public fun removeUIManagerListener (Lcom/facebook/react/uimanager/UIManagerModuleListener;)V
4410
4369
  public fun resolveCustomDirectEventName (Ljava/lang/String;)Ljava/lang/String;
4411
4370
  public fun resolveRootTagFromReactTag (I)I
4412
4371
  public fun resolveView (I)Landroid/view/View;
@@ -74,7 +74,14 @@ val GLOG_VERSION = libs.versions.glog.get()
74
74
 
75
75
  val preparePrefab by
76
76
  tasks.registering(PreparePrefabHeadersTask::class) {
77
- dependsOn(prepareBoost, prepareDoubleConversion, prepareFolly, prepareGlog)
77
+ dependsOn(
78
+ prepareBoost,
79
+ prepareDoubleConversion,
80
+ prepareFastFloat,
81
+ prepareFmt,
82
+ prepareFolly,
83
+ prepareGlog,
84
+ )
78
85
  dependsOn("generateCodegenArtifactsFromSchema")
79
86
  // To export to a ReactNativePrefabProcessingEntities.kt once all
80
87
  // libraries have been moved. We keep it here for now as it make easier to
@@ -616,7 +623,7 @@ android {
616
623
  // we produce. The reason behind this is that we want to allow users to pick the
617
624
  // JS engine by specifying a dependency on either `hermes-engine` or other engines
618
625
  // that will include the necessary .so files to load.
619
- jniLibs.excludes.add("**/libhermes.so")
626
+ jniLibs.excludes.add("**/libhermesvm.so")
620
627
  }
621
628
 
622
629
  buildFeatures {
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.82.0-nightly-20250821-0ef21bf8a
1
+ VERSION_NAME=0.82.0-nightly-20250823-cf528526c
2
2
  react.internal.publishingGroup=com.facebook.react
3
3
 
4
4
  android.useAndroidX=true
@@ -122,7 +122,8 @@ val unzipHermes by
122
122
  // NOTE: ideally, we would like CMake to be installed automatically by the `externalNativeBuild`
123
123
  // below. To do that, we would need the various `ConfigureCMake*` tasks to run *before*
124
124
  // `configureBuildForHermes` and `buildHermesC` so that CMake is available for their run. But the
125
- // `ConfigureCMake*` tasks depend upon the `ImportHermesc.cmake` file which is actually generated by
125
+ // `ConfigureCMake*` tasks depend upon the `ImportHostCompilers.cmake` file which is actually
126
+ // generated by
126
127
  // the two tasks mentioned before, so we install CMake manually to break the circular dependency.
127
128
 
128
129
  val installCMake by
@@ -197,7 +198,7 @@ val buildHermesLib by
197
198
  "--build",
198
199
  hermesBuildDir.toString(),
199
200
  "--target",
200
- "libhermes",
201
+ "hermesvm",
201
202
  "-j",
202
203
  ndkBuildJobs,
203
204
  )
@@ -258,7 +259,7 @@ android {
258
259
  "-DANDROID_STL=c++_shared",
259
260
  "-DANDROID_PIE=True",
260
261
  "-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON",
261
- "-DIMPORT_HERMESC=${File(hermesBuildDir, "ImportHermesc.cmake").toString()}",
262
+ "-DIMPORT_HOST_COMPILERS=${File(hermesBuildDir, "ImportHostCompilers.cmake").toString()}",
262
263
  "-DJSI_DIR=${jsiDir}",
263
264
  "-DHERMES_BUILD_SHARED_JSI=True",
264
265
  "-DHERMES_RELEASE_VERSION=for RN ${version}",
@@ -268,7 +269,7 @@ android {
268
269
  "-DHERMES_ENABLE_INTL=True",
269
270
  )
270
271
 
271
- targets("libhermes")
272
+ targets("hermesvm")
272
273
  }
273
274
  }
274
275
  ndk { abiFilters.addAll(reactNativeArchitectures()) }
@@ -346,12 +347,7 @@ android {
346
347
  }
347
348
  }
348
349
 
349
- prefab {
350
- create("libhermes") {
351
- headers = prefabHeadersDir.absolutePath
352
- libraryName = "libhermes"
353
- }
354
- }
350
+ prefab { create("hermesvm") { headers = prefabHeadersDir.absolutePath } }
355
351
  }
356
352
 
357
353
  afterEvaluate {
@@ -29,8 +29,8 @@ public class HermesExecutor internal constructor(enableDebugger: Boolean, debugg
29
29
  @Throws(UnsatisfiedLinkError::class)
30
30
  public fun loadLibrary() {
31
31
  if (mode == null) {
32
- // libhermes must be loaded explicitly to invoke its JNI_OnLoad.
33
- SoLoader.loadLibrary("hermes")
32
+ // libhermesvm must be loaded explicitly to invoke its JNI_OnLoad.
33
+ SoLoader.loadLibrary("hermesvm")
34
34
  SoLoader.loadLibrary("hermes_executor")
35
35
  // libhermes_executor is built differently for Debug & Release so we load the proper mode.
36
36
  mode = if (ReactBuildConfig.DEBUG) "Debug" else "Release"
@@ -66,7 +66,7 @@ internal class CoreModulesPackage(
66
66
  private val hardwareBackBtnHandler: DefaultHardwareBackBtnHandler,
67
67
  private val lazyViewManagersEnabled: Boolean,
68
68
  private val minTimeLeftInFrameForNonBatchedOperationMs: Int,
69
- ) : BaseReactPackage(), ReactPackageLogger {
69
+ ) : BaseReactPackage() {
70
70
  /**
71
71
  * This method is overridden, since OSS does not run the annotation processor to generate
72
72
  * [CoreModulesPackage.ReactModuleInfoProvider] class. Here we check if it exists with the method
@@ -196,14 +196,6 @@ internal class CoreModulesPackage(
196
196
  }
197
197
  }
198
198
 
199
- override fun startProcessPackage() {
200
- ReactMarker.logMarker(ReactMarkerConstants.PROCESS_CORE_REACT_PACKAGE_START)
201
- }
202
-
203
- override fun endProcessPackage() {
204
- ReactMarker.logMarker(ReactMarkerConstants.PROCESS_CORE_REACT_PACKAGE_END)
205
- }
206
-
207
199
  private companion object {
208
200
  init {
209
201
  LegacyArchitectureLogger.assertLegacyArchitecture(
@@ -1570,14 +1570,7 @@ public class ReactInstanceManager {
1570
1570
  SystraceMessage.beginSection(TRACE_TAG_REACT, "processPackage")
1571
1571
  .arg("className", reactPackage.getClass().getSimpleName())
1572
1572
  .flush();
1573
- if (reactPackage instanceof ReactPackageLogger) {
1574
- ((ReactPackageLogger) reactPackage).startProcessPackage();
1575
- }
1576
1573
  nativeModuleRegistryBuilder.processPackage(reactPackage);
1577
-
1578
- if (reactPackage instanceof ReactPackageLogger) {
1579
- ((ReactPackageLogger) reactPackage).endProcessPackage();
1580
- }
1581
1574
  SystraceMessage.endSection(TRACE_TAG_REACT).flush();
1582
1575
  }
1583
1576
 
@@ -189,7 +189,7 @@ internal class JavaMethodWrapper(
189
189
  }
190
190
 
191
191
  if (jsArgumentsNeeded != parameters.size()) {
192
- throw NativeArgumentsParseException(
192
+ throw JSApplicationCausedNativeException(
193
193
  "$traceName got ${parameters.size()} arguments, expected $jsArgumentsNeeded"
194
194
  )
195
195
  }
@@ -208,7 +208,7 @@ internal class JavaMethodWrapper(
208
208
  i++
209
209
  }
210
210
  } catch (e: UnexpectedNativeTypeException) {
211
- throw NativeArgumentsParseException(
211
+ throw JSApplicationCausedNativeException(
212
212
  "${e.message} (constructing arguments for $traceName at argument index ${
213
213
  getAffectedRange(
214
214
  jsArgumentsConsumed,
@@ -218,7 +218,7 @@ internal class JavaMethodWrapper(
218
218
  e,
219
219
  )
220
220
  } catch (e: NullPointerException) {
221
- throw NativeArgumentsParseException(
221
+ throw JSApplicationCausedNativeException(
222
222
  "${e.message} (constructing arguments for $traceName at argument index ${
223
223
  getAffectedRange(
224
224
  jsArgumentsConsumed,
@@ -16,6 +16,6 @@ import com.facebook.react.common.annotations.internal.LegacyArchitectureLogLevel
16
16
  message = "This class is part of Legacy Architecture and will be removed in a future release",
17
17
  level = DeprecationLevel.WARNING,
18
18
  )
19
- public fun interface OnBatchCompleteListener {
20
- public fun onBatchComplete()
19
+ internal fun interface OnBatchCompleteListener {
20
+ fun onBatchComplete()
21
21
  }
@@ -7,8 +7,10 @@
7
7
 
8
8
  package com.facebook.react.bridge
9
9
 
10
+ import com.facebook.react.common.annotations.internal.InteropLegacyArchitecture
10
11
  import com.facebook.soloader.SoLoader
11
12
 
13
+ @InteropLegacyArchitecture
12
14
  internal object ReactNativeJNISoLoader {
13
15
 
14
16
  @JvmStatic