react-native 0.82.0-rc.1 → 0.82.0-rc.4

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 (67) hide show
  1. package/Libraries/Components/Switch/Switch.js +1 -1
  2. package/Libraries/Core/ReactNativeVersion.js +1 -1
  3. package/React/Base/RCTVersion.m +1 -1
  4. package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +12 -0
  5. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +18 -0
  6. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.cpp +0 -1
  7. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.h +0 -1
  8. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.cpp +0 -1
  9. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.h +0 -11
  10. package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/States.h +0 -2
  11. package/ReactAndroid/gradle.properties +1 -2
  12. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +10 -0
  13. package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +18 -8
  14. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +7 -1
  15. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +11 -1
  16. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +3 -1
  17. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +3 -1
  18. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +12 -1
  19. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +3 -1
  20. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +3 -1
  21. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  22. package/ReactAndroid/src/main/jni/CMakeLists.txt +3 -0
  23. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +15 -1
  24. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +4 -1
  25. package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +1 -1
  26. package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +1 -1
  27. package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +1 -1
  28. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  29. package/ReactCommon/hermes/executor/CMakeLists.txt +1 -1
  30. package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +1 -1
  31. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +5 -1
  32. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +6 -1
  33. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +44 -26
  34. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +4 -2
  35. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +5 -1
  36. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +10 -1
  37. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +5 -1
  38. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +2 -1
  39. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  40. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +8 -0
  41. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
  42. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +6 -1
  43. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +3 -1
  44. package/ReactCommon/react/nativemodule/webperformance/CMakeLists.txt +1 -1
  45. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +9 -9
  46. package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +3 -0
  47. package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +58 -0
  48. package/ReactCommon/react/runtime/CMakeLists.txt +1 -1
  49. package/ReactCommon/react/runtime/hermes/CMakeLists.txt +1 -1
  50. package/ReactCommon/react/timing/primitives.h +12 -0
  51. package/flow/bom.js.flow +4 -4
  52. package/package.json +9 -8
  53. package/scripts/codegen/generate-artifacts-executor/index.js +0 -5
  54. package/scripts/react_native_pods.rb +1 -0
  55. package/sdks/hermes-engine/hermes-engine.podspec +7 -2
  56. package/sdks/hermes-engine/hermes-utils.rb +2 -2
  57. package/sdks/hermes-engine/version.properties +1 -0
  58. package/sdks/hermesc/osx-bin/hermes +0 -0
  59. package/sdks/hermesc/osx-bin/hermesc +0 -0
  60. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  61. package/settings.gradle.kts +23 -0
  62. package/src/private/featureflags/ReactNativeFeatureFlags.js +6 -1
  63. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +2 -1
  64. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +1 -0
  65. package/src/private/webapis/performance/Performance.js +26 -7
  66. package/src/private/webapis/performance/ReactNativeStartupTiming.js +3 -24
  67. package/src/private/webapis/performance/specs/NativePerformance.js +2 -0
@@ -264,7 +264,7 @@ const Switch: component(
264
264
  disabled,
265
265
  onTintColor: trackColorForTrue,
266
266
  style: StyleSheet.compose(
267
- {height: 31, width: 51},
267
+ {alignSelf: 'flex-start' as const},
268
268
  StyleSheet.compose(
269
269
  style,
270
270
  ios_backgroundColor == null
@@ -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 = 'rc.1';
32
+ static prerelease: string | null = 'rc.4';
33
33
 
34
34
  static getVersionString(): string {
35
35
  return `${this.major}.${this.minor}.${this.patch}${this.prerelease != null ? `-${this.prerelease}` : ''}`;
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(82),
26
26
  RCTVersionPatch: @(0),
27
- RCTVersionPrerelease: @"rc.1",
27
+ RCTVersionPrerelease: @"rc.4",
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -307,6 +307,11 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableV
307
307
  rt
308
308
  );
309
309
  }
310
+ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableWebPerformanceAPIsByDefault(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
311
+ return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->enableWebPerformanceAPIsByDefault(
312
+ rt
313
+ );
314
+ }
310
315
  static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fixMappingOfEventPrioritiesBetweenFabricAndReact(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
311
316
  return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->fixMappingOfEventPrioritiesBetweenFabricAndReact(
312
317
  rt
@@ -480,6 +485,7 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI
480
485
  methodMap_["enableVirtualViewDebugFeatures"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableVirtualViewDebugFeatures};
481
486
  methodMap_["enableVirtualViewRenderState"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableVirtualViewRenderState};
482
487
  methodMap_["enableVirtualViewWindowFocusDetection"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableVirtualViewWindowFocusDetection};
488
+ methodMap_["enableWebPerformanceAPIsByDefault"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_enableWebPerformanceAPIsByDefault};
483
489
  methodMap_["fixMappingOfEventPrioritiesBetweenFabricAndReact"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fixMappingOfEventPrioritiesBetweenFabricAndReact};
484
490
  methodMap_["fuseboxEnabledRelease"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fuseboxEnabledRelease};
485
491
  methodMap_["fuseboxNetworkInspectionEnabled"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_fuseboxNetworkInspectionEnabled};
@@ -3151,6 +3157,11 @@ static jsi::Value __hostFunction_NativePerformanceCxxSpecJSI_now(jsi::Runtime &r
3151
3157
  rt
3152
3158
  );
3153
3159
  }
3160
+ static jsi::Value __hostFunction_NativePerformanceCxxSpecJSI_timeOrigin(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
3161
+ return static_cast<NativePerformanceCxxSpecJSI *>(&turboModule)->timeOrigin(
3162
+ rt
3163
+ );
3164
+ }
3154
3165
  static jsi::Value __hostFunction_NativePerformanceCxxSpecJSI_reportMark(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
3155
3166
  static_cast<NativePerformanceCxxSpecJSI *>(&turboModule)->reportMark(
3156
3167
  rt,
@@ -3273,6 +3284,7 @@ static jsi::Value __hostFunction_NativePerformanceCxxSpecJSI_clearEventCountsFor
3273
3284
  NativePerformanceCxxSpecJSI::NativePerformanceCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker)
3274
3285
  : TurboModule("NativePerformanceCxx", jsInvoker) {
3275
3286
  methodMap_["now"] = MethodMetadata {0, __hostFunction_NativePerformanceCxxSpecJSI_now};
3287
+ methodMap_["timeOrigin"] = MethodMetadata {0, __hostFunction_NativePerformanceCxxSpecJSI_timeOrigin};
3276
3288
  methodMap_["reportMark"] = MethodMetadata {3, __hostFunction_NativePerformanceCxxSpecJSI_reportMark};
3277
3289
  methodMap_["reportMeasure"] = MethodMetadata {4, __hostFunction_NativePerformanceCxxSpecJSI_reportMeasure};
3278
3290
  methodMap_["getMarkTime"] = MethodMetadata {1, __hostFunction_NativePerformanceCxxSpecJSI_getMarkTime};
@@ -371,6 +371,7 @@ public:
371
371
  virtual bool enableVirtualViewDebugFeatures(jsi::Runtime &rt) = 0;
372
372
  virtual bool enableVirtualViewRenderState(jsi::Runtime &rt) = 0;
373
373
  virtual bool enableVirtualViewWindowFocusDetection(jsi::Runtime &rt) = 0;
374
+ virtual bool enableWebPerformanceAPIsByDefault(jsi::Runtime &rt) = 0;
374
375
  virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact(jsi::Runtime &rt) = 0;
375
376
  virtual bool fuseboxEnabledRelease(jsi::Runtime &rt) = 0;
376
377
  virtual bool fuseboxNetworkInspectionEnabled(jsi::Runtime &rt) = 0;
@@ -786,6 +787,14 @@ private:
786
787
  return bridging::callFromJs<bool>(
787
788
  rt, &T::enableVirtualViewWindowFocusDetection, jsInvoker_, instance_);
788
789
  }
790
+ bool enableWebPerformanceAPIsByDefault(jsi::Runtime &rt) override {
791
+ static_assert(
792
+ bridging::getParameterCount(&T::enableWebPerformanceAPIsByDefault) == 1,
793
+ "Expected enableWebPerformanceAPIsByDefault(...) to have 1 parameters");
794
+
795
+ return bridging::callFromJs<bool>(
796
+ rt, &T::enableWebPerformanceAPIsByDefault, jsInvoker_, instance_);
797
+ }
789
798
  bool fixMappingOfEventPrioritiesBetweenFabricAndReact(jsi::Runtime &rt) override {
790
799
  static_assert(
791
800
  bridging::getParameterCount(&T::fixMappingOfEventPrioritiesBetweenFabricAndReact) == 1,
@@ -8724,6 +8733,7 @@ protected:
8724
8733
 
8725
8734
  public:
8726
8735
  virtual double now(jsi::Runtime &rt) = 0;
8736
+ virtual double timeOrigin(jsi::Runtime &rt) = 0;
8727
8737
  virtual void reportMark(jsi::Runtime &rt, jsi::String name, double startTime, jsi::Value entry) = 0;
8728
8738
  virtual void reportMeasure(jsi::Runtime &rt, jsi::String name, double startTime, double duration, jsi::Value entry) = 0;
8729
8739
  virtual std::optional<double> getMarkTime(jsi::Runtime &rt, jsi::String name) = 0;
@@ -8780,6 +8790,14 @@ private:
8780
8790
  return bridging::callFromJs<double>(
8781
8791
  rt, &T::now, jsInvoker_, instance_);
8782
8792
  }
8793
+ double timeOrigin(jsi::Runtime &rt) override {
8794
+ static_assert(
8795
+ bridging::getParameterCount(&T::timeOrigin) == 1,
8796
+ "Expected timeOrigin(...) to have 1 parameters");
8797
+
8798
+ return bridging::callFromJs<double>(
8799
+ rt, &T::timeOrigin, jsInvoker_, instance_);
8800
+ }
8783
8801
  void reportMark(jsi::Runtime &rt, jsi::String name, double startTime, jsi::Value entry) override {
8784
8802
  static_assert(
8785
8803
  bridging::getParameterCount(&T::reportMark) == 4,
@@ -21,7 +21,6 @@ registry->add(concreteComponentDescriptorProvider<AndroidDrawerLayoutComponentDe
21
21
  registry->add(concreteComponentDescriptorProvider<AndroidSwipeRefreshLayoutComponentDescriptor>());
22
22
  registry->add(concreteComponentDescriptorProvider<DebuggingOverlayComponentDescriptor>());
23
23
  registry->add(concreteComponentDescriptorProvider<PullToRefreshViewComponentDescriptor>());
24
- registry->add(concreteComponentDescriptorProvider<SwitchComponentDescriptor>());
25
24
  registry->add(concreteComponentDescriptorProvider<UnimplementedNativeViewComponentDescriptor>());
26
25
  }
27
26
 
@@ -21,7 +21,6 @@ using AndroidDrawerLayoutComponentDescriptor = ConcreteComponentDescriptor<Andro
21
21
  using AndroidSwipeRefreshLayoutComponentDescriptor = ConcreteComponentDescriptor<AndroidSwipeRefreshLayoutShadowNode>;
22
22
  using DebuggingOverlayComponentDescriptor = ConcreteComponentDescriptor<DebuggingOverlayShadowNode>;
23
23
  using PullToRefreshViewComponentDescriptor = ConcreteComponentDescriptor<PullToRefreshViewShadowNode>;
24
- using SwitchComponentDescriptor = ConcreteComponentDescriptor<SwitchShadowNode>;
25
24
  using UnimplementedNativeViewComponentDescriptor = ConcreteComponentDescriptor<UnimplementedNativeViewShadowNode>;
26
25
 
27
26
  void FBReactNativeSpec_registerComponentDescriptorsFromCodegen(
@@ -17,7 +17,6 @@ extern const char AndroidDrawerLayoutComponentName[] = "AndroidDrawerLayout";
17
17
  extern const char AndroidSwipeRefreshLayoutComponentName[] = "AndroidSwipeRefreshLayout";
18
18
  extern const char DebuggingOverlayComponentName[] = "DebuggingOverlay";
19
19
  extern const char PullToRefreshViewComponentName[] = "PullToRefreshView";
20
- extern const char SwitchComponentName[] = "Switch";
21
20
  extern const char UnimplementedNativeViewComponentName[] = "UnimplementedNativeView";
22
21
 
23
22
  } // namespace facebook::react
@@ -73,17 +73,6 @@ using PullToRefreshViewShadowNode = ConcreteViewShadowNode<
73
73
  PullToRefreshViewEventEmitter,
74
74
  PullToRefreshViewState>;
75
75
 
76
- JSI_EXPORT extern const char SwitchComponentName[];
77
-
78
- /*
79
- * `ShadowNode` for <Switch> component.
80
- */
81
- using SwitchShadowNode = ConcreteViewShadowNode<
82
- SwitchComponentName,
83
- SwitchProps,
84
- SwitchEventEmitter,
85
- SwitchState>;
86
-
87
76
  JSI_EXPORT extern const char UnimplementedNativeViewComponentName[];
88
77
 
89
78
  /*
@@ -25,8 +25,6 @@ using DebuggingOverlayState = StateData;
25
25
 
26
26
  using PullToRefreshViewState = StateData;
27
27
 
28
- using SwitchState = StateData;
29
-
30
28
  using UnimplementedNativeViewState = StateData;
31
29
 
32
30
  } // namespace facebook::react
@@ -1,5 +1,4 @@
1
- VERSION_NAME=0.82.0-rc.1
2
- HERMES_VERSION_NAME=1000.0.0
1
+ VERSION_NAME=0.82.0-rc.4
3
2
  react.internal.publishingGroup=com.facebook.react
4
3
  react.internal.hermesPublishingGroup=com.facebook.hermes
5
4
 
@@ -328,6 +328,15 @@ public class ReactInstanceManager {
328
328
  }
329
329
 
330
330
  registerCxxErrorHandlerFunc();
331
+
332
+ // Using `if (true)` just to prevent tests / lint errors.
333
+ if (true) {
334
+ // Legacy architecture of React Native is deprecated and can't be initialized anymore.
335
+ // More details on:
336
+ // https://github.com/react-native-community/discussions-and-proposals/blob/nc/legacy-arch-removal/proposals/0929-legacy-architecture-removal.md
337
+ throw new UnsupportedOperationException(
338
+ "ReactInstanceManager.createReactContext is unsupported.");
339
+ }
331
340
  }
332
341
 
333
342
  private ReactInstanceDevHelper createDevHelperInterface() {
@@ -1446,6 +1455,7 @@ public class ReactInstanceManager {
1446
1455
  */
1447
1456
  private ReactApplicationContext createReactContext(
1448
1457
  JavaScriptExecutor jsExecutor, JSBundleLoader jsBundleLoader) {
1458
+
1449
1459
  FLog.d(ReactConstants.TAG, "ReactInstanceManager.createReactContext()");
1450
1460
  ReactMarker.logMarker(CREATE_REACT_CONTEXT_START, jsExecutor.getName());
1451
1461
 
@@ -125,6 +125,16 @@ public object DefaultNewArchitectureEntryPoint {
125
125
  privateConcurrentReactEnabled = featureFlags.enableFabricRenderer()
126
126
  privateBridgelessEnabled = featureFlags.enableBridgelessArchitecture()
127
127
 
128
+ val (isValid, errorMessage) =
129
+ isConfigurationValid(
130
+ privateTurboModulesEnabled,
131
+ privateFabricEnabled,
132
+ privateBridgelessEnabled,
133
+ )
134
+ if (!isValid) {
135
+ error(errorMessage)
136
+ }
137
+
128
138
  DefaultSoLoader.maybeLoadSoLibrary()
129
139
  }
130
140
 
@@ -158,13 +168,13 @@ public object DefaultNewArchitectureEntryPoint {
158
168
  fabricEnabled: Boolean,
159
169
  bridgelessEnabled: Boolean,
160
170
  ): Pair<Boolean, String> =
161
- when {
162
- fabricEnabled && !turboModulesEnabled ->
163
- false to
164
- "fabricEnabled=true requires turboModulesEnabled=true (is now false) - Please update your DefaultNewArchitectureEntryPoint.load() parameters."
165
- bridgelessEnabled && (!turboModulesEnabled || !fabricEnabled) ->
166
- false to
167
- "bridgelessEnabled=true requires (turboModulesEnabled=true AND fabricEnabled=true) - Please update your DefaultNewArchitectureEntryPoint.load() parameters."
168
- else -> true to ""
171
+ if (!turboModulesEnabled || !fabricEnabled || !bridgelessEnabled) {
172
+ false to
173
+ "You cannot load React Native with the New Architecture disabled. " +
174
+ "Please use DefaultNewArchitectureEntryPoint.load() instead of " +
175
+ "DefaultNewArchitectureEntryPoint.load(turboModulesEnabled=$turboModulesEnabled, " +
176
+ "fabricEnabled=$fabricEnabled, bridgelessEnabled=$bridgelessEnabled)"
177
+ } else {
178
+ true to ""
169
179
  }
170
180
  }
@@ -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<<34c12f5a31aab5bfb874953f1beefef1>>
7
+ * @generated SignedSource<<2ecd46fdcab0202d62304dd9cdff76e0>>
8
8
  */
9
9
 
10
10
  /**
@@ -294,6 +294,12 @@ public object ReactNativeFeatureFlags {
294
294
  @JvmStatic
295
295
  public fun enableVirtualViewWindowFocusDetection(): Boolean = accessor.enableVirtualViewWindowFocusDetection()
296
296
 
297
+ /**
298
+ * Enable Web Performance APIs (Performance Timeline, User Timings, etc.) by default.
299
+ */
300
+ @JvmStatic
301
+ public fun enableWebPerformanceAPIsByDefault(): Boolean = accessor.enableWebPerformanceAPIsByDefault()
302
+
297
303
  /**
298
304
  * Uses the default event priority instead of the discreet event priority by default when dispatching events from Fabric to React.
299
305
  */
@@ -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<<392da016e0bf4193b72c44a508811e10>>
7
+ * @generated SignedSource<<3cbd83777e0840419fee9d582b4da692>>
8
8
  */
9
9
 
10
10
  /**
@@ -64,6 +64,7 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
64
64
  private var enableVirtualViewDebugFeaturesCache: Boolean? = null
65
65
  private var enableVirtualViewRenderStateCache: Boolean? = null
66
66
  private var enableVirtualViewWindowFocusDetectionCache: Boolean? = null
67
+ private var enableWebPerformanceAPIsByDefaultCache: Boolean? = null
67
68
  private var fixMappingOfEventPrioritiesBetweenFabricAndReactCache: Boolean? = null
68
69
  private var fuseboxEnabledReleaseCache: Boolean? = null
69
70
  private var fuseboxNetworkInspectionEnabledCache: Boolean? = null
@@ -486,6 +487,15 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
486
487
  return cached
487
488
  }
488
489
 
490
+ override fun enableWebPerformanceAPIsByDefault(): Boolean {
491
+ var cached = enableWebPerformanceAPIsByDefaultCache
492
+ if (cached == null) {
493
+ cached = ReactNativeFeatureFlagsCxxInterop.enableWebPerformanceAPIsByDefault()
494
+ enableWebPerformanceAPIsByDefaultCache = cached
495
+ }
496
+ return cached
497
+ }
498
+
489
499
  override fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean {
490
500
  var cached = fixMappingOfEventPrioritiesBetweenFabricAndReactCache
491
501
  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<<a0453230524ebca2bfb8fad656a6f54a>>
7
+ * @generated SignedSource<<b92c1fc5d527033d0f7988d88533eb03>>
8
8
  */
9
9
 
10
10
  /**
@@ -116,6 +116,8 @@ public object ReactNativeFeatureFlagsCxxInterop {
116
116
 
117
117
  @DoNotStrip @JvmStatic public external fun enableVirtualViewWindowFocusDetection(): Boolean
118
118
 
119
+ @DoNotStrip @JvmStatic public external fun enableWebPerformanceAPIsByDefault(): Boolean
120
+
119
121
  @DoNotStrip @JvmStatic public external fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean
120
122
 
121
123
  @DoNotStrip @JvmStatic public external fun fuseboxEnabledRelease(): 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<<719706a983a073b6c286c49d993f7f80>>
7
+ * @generated SignedSource<<71354bd41b222239b80129659f5f5d21>>
8
8
  */
9
9
 
10
10
  /**
@@ -111,6 +111,8 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
111
111
 
112
112
  override fun enableVirtualViewWindowFocusDetection(): Boolean = false
113
113
 
114
+ override fun enableWebPerformanceAPIsByDefault(): Boolean = false
115
+
114
116
  override fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean = false
115
117
 
116
118
  override fun fuseboxEnabledRelease(): 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<<594815ba6a984c460ab8bddd91c5cae2>>
7
+ * @generated SignedSource<<4ad6fc15663277c2c8b4843f42a078f8>>
8
8
  */
9
9
 
10
10
  /**
@@ -68,6 +68,7 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
68
68
  private var enableVirtualViewDebugFeaturesCache: Boolean? = null
69
69
  private var enableVirtualViewRenderStateCache: Boolean? = null
70
70
  private var enableVirtualViewWindowFocusDetectionCache: Boolean? = null
71
+ private var enableWebPerformanceAPIsByDefaultCache: Boolean? = null
71
72
  private var fixMappingOfEventPrioritiesBetweenFabricAndReactCache: Boolean? = null
72
73
  private var fuseboxEnabledReleaseCache: Boolean? = null
73
74
  private var fuseboxNetworkInspectionEnabledCache: Boolean? = null
@@ -534,6 +535,16 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
534
535
  return cached
535
536
  }
536
537
 
538
+ override fun enableWebPerformanceAPIsByDefault(): Boolean {
539
+ var cached = enableWebPerformanceAPIsByDefaultCache
540
+ if (cached == null) {
541
+ cached = currentProvider.enableWebPerformanceAPIsByDefault()
542
+ accessedFeatureFlags.add("enableWebPerformanceAPIsByDefault")
543
+ enableWebPerformanceAPIsByDefaultCache = cached
544
+ }
545
+ return cached
546
+ }
547
+
537
548
  override fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean {
538
549
  var cached = fixMappingOfEventPrioritiesBetweenFabricAndReactCache
539
550
  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<<f82b5905d822f8009c054a9443f86e39>>
7
+ * @generated SignedSource<<4464982256b8ce543d9235fccbf67054>>
8
8
  */
9
9
 
10
10
  /**
@@ -27,6 +27,8 @@ public open class ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android : ReactN
27
27
 
28
28
  override fun enableFabricRenderer(): Boolean = true
29
29
 
30
+ override fun enableWebPerformanceAPIsByDefault(): Boolean = true
31
+
30
32
  override fun useNativeViewConfigsInBridgelessMode(): Boolean = true
31
33
 
32
34
  override fun useTurboModuleInterop(): Boolean = true
@@ -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<<dfbd5e84392f1fda0e68324582c328b2>>
7
+ * @generated SignedSource<<51e9b65c32aa4a990f21afd4f0244223>>
8
8
  */
9
9
 
10
10
  /**
@@ -111,6 +111,8 @@ public interface ReactNativeFeatureFlagsProvider {
111
111
 
112
112
  @DoNotStrip public fun enableVirtualViewWindowFocusDetection(): Boolean
113
113
 
114
+ @DoNotStrip public fun enableWebPerformanceAPIsByDefault(): Boolean
115
+
114
116
  @DoNotStrip public fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean
115
117
 
116
118
  @DoNotStrip public fun fuseboxEnabledRelease(): Boolean
@@ -15,6 +15,6 @@ public object ReactNativeVersion {
15
15
  "major" to 0,
16
16
  "minor" to 82,
17
17
  "patch" to 0,
18
- "prerelease" to "rc.1"
18
+ "prerelease" to "rc.4"
19
19
  )
20
20
  }
@@ -124,6 +124,7 @@ add_react_common_subdir(react/nativemodule/dom)
124
124
  add_react_common_subdir(react/nativemodule/featureflags)
125
125
  add_react_common_subdir(react/nativemodule/microtasks)
126
126
  add_react_common_subdir(react/nativemodule/idlecallbacks)
127
+ add_react_common_subdir(react/nativemodule/webperformance)
127
128
  add_react_common_subdir(jserrorhandler)
128
129
  add_react_common_subdir(react/runtime)
129
130
  add_react_common_subdir(react/runtime/hermes)
@@ -190,6 +191,7 @@ add_library(reactnative
190
191
  $<TARGET_OBJECTS:react_nativemodule_featureflags>
191
192
  $<TARGET_OBJECTS:react_nativemodule_idlecallbacks>
192
193
  $<TARGET_OBJECTS:react_nativemodule_microtasks>
194
+ $<TARGET_OBJECTS:react_nativemodule_webperformance>
193
195
  $<TARGET_OBJECTS:react_newarchdefaults>
194
196
  $<TARGET_OBJECTS:react_performance_cdpmetrics>
195
197
  $<TARGET_OBJECTS:react_performance_timeline>
@@ -279,6 +281,7 @@ target_include_directories(reactnative
279
281
  $<TARGET_PROPERTY:react_nativemodule_featureflags,INTERFACE_INCLUDE_DIRECTORIES>
280
282
  $<TARGET_PROPERTY:react_nativemodule_idlecallbacks,INTERFACE_INCLUDE_DIRECTORIES>
281
283
  $<TARGET_PROPERTY:react_nativemodule_microtasks,INTERFACE_INCLUDE_DIRECTORIES>
284
+ $<TARGET_PROPERTY:react_nativemodule_webperformance,INTERFACE_INCLUDE_DIRECTORIES>
282
285
  $<TARGET_PROPERTY:react_newarchdefaults,INTERFACE_INCLUDE_DIRECTORIES>
283
286
  $<TARGET_PROPERTY:react_performance_cdpmetrics,INTERFACE_INCLUDE_DIRECTORIES>
284
287
  $<TARGET_PROPERTY:react_performance_timeline,INTERFACE_INCLUDE_DIRECTORIES>
@@ -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<<16b12024bb363358ef09b9a42cb2fc97>>
7
+ * @generated SignedSource<<f4ec3b7b6f99dd3409d872470872ece6>>
8
8
  */
9
9
 
10
10
  /**
@@ -303,6 +303,12 @@ class ReactNativeFeatureFlagsJavaProvider
303
303
  return method(javaProvider_);
304
304
  }
305
305
 
306
+ bool enableWebPerformanceAPIsByDefault() override {
307
+ static const auto method =
308
+ getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("enableWebPerformanceAPIsByDefault");
309
+ return method(javaProvider_);
310
+ }
311
+
306
312
  bool fixMappingOfEventPrioritiesBetweenFabricAndReact() override {
307
313
  static const auto method =
308
314
  getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("fixMappingOfEventPrioritiesBetweenFabricAndReact");
@@ -677,6 +683,11 @@ bool JReactNativeFeatureFlagsCxxInterop::enableVirtualViewWindowFocusDetection(
677
683
  return ReactNativeFeatureFlags::enableVirtualViewWindowFocusDetection();
678
684
  }
679
685
 
686
+ bool JReactNativeFeatureFlagsCxxInterop::enableWebPerformanceAPIsByDefault(
687
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
688
+ return ReactNativeFeatureFlags::enableWebPerformanceAPIsByDefault();
689
+ }
690
+
680
691
  bool JReactNativeFeatureFlagsCxxInterop::fixMappingOfEventPrioritiesBetweenFabricAndReact(
681
692
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
682
693
  return ReactNativeFeatureFlags::fixMappingOfEventPrioritiesBetweenFabricAndReact();
@@ -965,6 +976,9 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
965
976
  makeNativeMethod(
966
977
  "enableVirtualViewWindowFocusDetection",
967
978
  JReactNativeFeatureFlagsCxxInterop::enableVirtualViewWindowFocusDetection),
979
+ makeNativeMethod(
980
+ "enableWebPerformanceAPIsByDefault",
981
+ JReactNativeFeatureFlagsCxxInterop::enableWebPerformanceAPIsByDefault),
968
982
  makeNativeMethod(
969
983
  "fixMappingOfEventPrioritiesBetweenFabricAndReact",
970
984
  JReactNativeFeatureFlagsCxxInterop::fixMappingOfEventPrioritiesBetweenFabricAndReact),
@@ -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<<54118ccd475a8bf1d7db83304b1f17d0>>
7
+ * @generated SignedSource<<d34119ad2e9a068463e8a31ecced59d9>>
8
8
  */
9
9
 
10
10
  /**
@@ -162,6 +162,9 @@ class JReactNativeFeatureFlagsCxxInterop
162
162
  static bool enableVirtualViewWindowFocusDetection(
163
163
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
164
164
 
165
+ static bool enableWebPerformanceAPIsByDefault(
166
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
167
+
165
168
  static bool fixMappingOfEventPrioritiesBetweenFabricAndReact(
166
169
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
167
170
 
@@ -28,7 +28,7 @@ target_compile_reactnative_options(hermes_executor PRIVATE)
28
28
  if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
29
29
  target_compile_options(hermes_executor PRIVATE -DHERMES_ENABLE_DEBUGGER=1)
30
30
 
31
- if (DEFINED HERMES_V1_ENABLED)
31
+ if (HERMES_V1_ENABLED)
32
32
  target_compile_options(hermes_executor PRIVATE -DHERMES_V1_ENABLED=1)
33
33
  endif()
34
34
  endif()
@@ -30,7 +30,7 @@ target_compile_reactnative_options(hermesinstancejni PRIVATE)
30
30
  if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
31
31
  target_compile_options(hermesinstancejni PRIVATE -DHERMES_ENABLE_DEBUGGER=1)
32
32
 
33
- if (DEFINED HERMES_V1_ENABLED)
33
+ if (HERMES_V1_ENABLED)
34
34
  target_compile_options(hermesinstancejni PRIVATE -DHERMES_V1_ENABLED=1)
35
35
  endif()
36
36
  endif ()
@@ -20,7 +20,7 @@ target_compile_reactnative_options(rninstance PRIVATE)
20
20
  if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
21
21
  target_compile_options(rninstance PRIVATE -DHERMES_ENABLE_DEBUGGER=1)
22
22
 
23
- if (DEFINED HERMES_V1_ENABLED)
23
+ if (HERMES_V1_ENABLED)
24
24
  target_compile_options(rninstance PRIVATE -DHERMES_V1_ENABLED=1)
25
25
  endif()
26
26
  endif ()
@@ -22,7 +22,7 @@ constexpr struct {
22
22
  int32_t Major = 0;
23
23
  int32_t Minor = 82;
24
24
  int32_t Patch = 0;
25
- std::string_view Prerelease = "rc.1";
25
+ std::string_view Prerelease = "rc.4";
26
26
  } ReactNativeVersion;
27
27
 
28
28
  } // namespace facebook::react
@@ -33,7 +33,7 @@ if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
33
33
  -DHERMES_ENABLE_DEBUGGER=1
34
34
  )
35
35
 
36
- if (DEFINED HERMES_V1_ENABLED)
36
+ if (HERMES_V1_ENABLED)
37
37
  target_compile_options(hermes_executor_common PRIVATE -DHERMES_V1_ENABLED=1)
38
38
  endif()
39
39
  else()
@@ -24,7 +24,7 @@ if(${CMAKE_BUILD_TYPE} MATCHES Debug OR REACT_NATIVE_DEBUG_OPTIMIZED)
24
24
  -DHERMES_ENABLE_DEBUGGER=1
25
25
  )
26
26
 
27
- if (DEFINED HERMES_V1_ENABLED)
27
+ if (HERMES_V1_ENABLED)
28
28
  target_compile_options(hermes_inspector_modern PRIVATE -DHERMES_V1_ENABLED=1)
29
29
  endif()
30
30
  endif()
@@ -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<<12a06ea04fc09c34f1fbdcbdf6046d81>>
7
+ * @generated SignedSource<<ce235bb558df2f110e0446e68cf6bc6a>>
8
8
  */
9
9
 
10
10
  /**
@@ -202,6 +202,10 @@ bool ReactNativeFeatureFlags::enableVirtualViewWindowFocusDetection() {
202
202
  return getAccessor().enableVirtualViewWindowFocusDetection();
203
203
  }
204
204
 
205
+ bool ReactNativeFeatureFlags::enableWebPerformanceAPIsByDefault() {
206
+ return getAccessor().enableWebPerformanceAPIsByDefault();
207
+ }
208
+
205
209
  bool ReactNativeFeatureFlags::fixMappingOfEventPrioritiesBetweenFabricAndReact() {
206
210
  return getAccessor().fixMappingOfEventPrioritiesBetweenFabricAndReact();
207
211
  }
@@ -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<<eee81e4e9bb13ef5134d4e2d79876b38>>
7
+ * @generated SignedSource<<55cd4ef6cd8902af5c0959077336b0bb>>
8
8
  */
9
9
 
10
10
  /**
@@ -259,6 +259,11 @@ class ReactNativeFeatureFlags {
259
259
  */
260
260
  RN_EXPORT static bool enableVirtualViewWindowFocusDetection();
261
261
 
262
+ /**
263
+ * Enable Web Performance APIs (Performance Timeline, User Timings, etc.) by default.
264
+ */
265
+ RN_EXPORT static bool enableWebPerformanceAPIsByDefault();
266
+
262
267
  /**
263
268
  * Uses the default event priority instead of the discreet event priority by default when dispatching events from Fabric to React.
264
269
  */