react-native-tvos 0.82.0-0rc1 → 0.82.0-0rc4
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.
- package/Libraries/Components/Button.js +0 -1
- package/Libraries/Components/Switch/Switch.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.js +0 -3
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +0 -1
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +0 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +0 -1
- package/Libraries/Components/View/ViewPropTypes.d.ts +1 -5
- package/Libraries/Components/View/ViewPropTypes.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/React/Base/RCTVersion.m +1 -1
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +12 -0
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +18 -0
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.cpp +0 -1
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.h +0 -1
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.cpp +0 -1
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ShadowNodes.h +0 -11
- package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/States.h +0 -2
- package/ReactAndroid/gradle.properties +1 -2
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +10 -0
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt +18 -8
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +7 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +12 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +3 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
- package/ReactAndroid/src/main/jni/CMakeLists.txt +3 -0
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +15 -1
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +4 -1
- package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/CMakeLists.txt +1 -1
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/CMakeLists.txt +1 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/hermes/executor/CMakeLists.txt +1 -1
- package/ReactCommon/hermes/inspector-modern/CMakeLists.txt +1 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +5 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +6 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +44 -26
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +4 -2
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +5 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +10 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +5 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +2 -1
- package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
- package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +8 -0
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +6 -1
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +3 -1
- package/ReactCommon/react/nativemodule/webperformance/CMakeLists.txt +1 -1
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +9 -9
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +3 -0
- package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +58 -0
- package/ReactCommon/react/runtime/CMakeLists.txt +1 -1
- package/ReactCommon/react/runtime/hermes/CMakeLists.txt +1 -1
- package/ReactCommon/react/timing/primitives.h +12 -0
- package/flow/bom.js.flow +4 -4
- package/package.json +9 -8
- package/scripts/codegen/generate-artifacts-executor/index.js +0 -5
- package/scripts/react_native_pods.rb +1 -0
- package/sdks/hermes-engine/hermes-engine.podspec +7 -2
- package/sdks/hermes-engine/hermes-utils.rb +2 -2
- package/sdks/hermes-engine/version.properties +1 -0
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/settings.gradle.kts +23 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +6 -1
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +2 -1
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +1 -0
- package/src/private/webapis/performance/Performance.js +26 -7
- package/src/private/webapis/performance/ReactNativeStartupTiming.js +3 -24
- package/src/private/webapis/performance/specs/NativePerformance.js +2 -0
|
@@ -28,7 +28,6 @@ export type TouchableOpacityTVProps = $ReadOnly<{
|
|
|
28
28
|
* *(Apple TV only)* TV preferred focus (see documentation for the View component).
|
|
29
29
|
*
|
|
30
30
|
* @platform ios
|
|
31
|
-
* @deprecated Use `focusable` instead
|
|
32
31
|
*/
|
|
33
32
|
hasTVPreferredFocus?: ?boolean,
|
|
34
33
|
isTVSelectable?: ?boolean,
|
|
@@ -26,9 +26,6 @@ import {Touchable} from '../Touchable/Touchable';
|
|
|
26
26
|
import {AccessibilityProps} from './ViewAccessibility';
|
|
27
27
|
import type {BubblingEventHandler} from 'react-native/Libraries/Types/CodegenTypes';
|
|
28
28
|
|
|
29
|
-
/**
|
|
30
|
-
* @deprecated These properties are not implemented natively.
|
|
31
|
-
*/
|
|
32
29
|
export interface TVViewPropsIOS {
|
|
33
30
|
/**
|
|
34
31
|
* *(Apple TV only)* When set to true, this view will be focusable
|
|
@@ -39,10 +36,9 @@ export interface TVViewPropsIOS {
|
|
|
39
36
|
isTVSelectable?: boolean | undefined;
|
|
40
37
|
|
|
41
38
|
/**
|
|
42
|
-
* *(Apple TV
|
|
39
|
+
* *(Apple TV and Android TV)* May be set to true to force the Apple TV focus engine to move focus to this view.
|
|
43
40
|
*
|
|
44
41
|
* @platform ios
|
|
45
|
-
* @deprecated Use `focusable` instead
|
|
46
42
|
*/
|
|
47
43
|
hasTVPreferredFocus?: boolean | undefined;
|
|
48
44
|
|
|
@@ -328,7 +328,7 @@ export type TVViewPropsIOS = $ReadOnly<{
|
|
|
328
328
|
isTVSelectable?: boolean,
|
|
329
329
|
|
|
330
330
|
/**
|
|
331
|
-
* *(Apple TV
|
|
331
|
+
* *(Apple TV and Android TV)* May be set to true to force the Apple TV focus engine to move focus to this view.
|
|
332
332
|
*
|
|
333
333
|
* @platform ios
|
|
334
334
|
*/
|
|
@@ -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 = '
|
|
32
|
+
static prerelease: string | null = '0rc4';
|
|
33
33
|
|
|
34
34
|
static getVersionString(): string {
|
|
35
35
|
return `${this.major}.${this.minor}.${this.patch}${this.prerelease != null ? `-${this.prerelease}` : ''}`;
|
package/React/Base/RCTVersion.m
CHANGED
|
@@ -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};
|
|
@@ -3213,6 +3219,11 @@ static jsi::Value __hostFunction_NativePerformanceCxxSpecJSI_now(jsi::Runtime &r
|
|
|
3213
3219
|
rt
|
|
3214
3220
|
);
|
|
3215
3221
|
}
|
|
3222
|
+
static jsi::Value __hostFunction_NativePerformanceCxxSpecJSI_timeOrigin(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
3223
|
+
return static_cast<NativePerformanceCxxSpecJSI *>(&turboModule)->timeOrigin(
|
|
3224
|
+
rt
|
|
3225
|
+
);
|
|
3226
|
+
}
|
|
3216
3227
|
static jsi::Value __hostFunction_NativePerformanceCxxSpecJSI_reportMark(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
3217
3228
|
static_cast<NativePerformanceCxxSpecJSI *>(&turboModule)->reportMark(
|
|
3218
3229
|
rt,
|
|
@@ -3335,6 +3346,7 @@ static jsi::Value __hostFunction_NativePerformanceCxxSpecJSI_clearEventCountsFor
|
|
|
3335
3346
|
NativePerformanceCxxSpecJSI::NativePerformanceCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker)
|
|
3336
3347
|
: TurboModule("NativePerformanceCxx", jsInvoker) {
|
|
3337
3348
|
methodMap_["now"] = MethodMetadata {0, __hostFunction_NativePerformanceCxxSpecJSI_now};
|
|
3349
|
+
methodMap_["timeOrigin"] = MethodMetadata {0, __hostFunction_NativePerformanceCxxSpecJSI_timeOrigin};
|
|
3338
3350
|
methodMap_["reportMark"] = MethodMetadata {3, __hostFunction_NativePerformanceCxxSpecJSI_reportMark};
|
|
3339
3351
|
methodMap_["reportMeasure"] = MethodMetadata {4, __hostFunction_NativePerformanceCxxSpecJSI_reportMeasure};
|
|
3340
3352
|
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,
|
|
@@ -8841,6 +8850,7 @@ protected:
|
|
|
8841
8850
|
|
|
8842
8851
|
public:
|
|
8843
8852
|
virtual double now(jsi::Runtime &rt) = 0;
|
|
8853
|
+
virtual double timeOrigin(jsi::Runtime &rt) = 0;
|
|
8844
8854
|
virtual void reportMark(jsi::Runtime &rt, jsi::String name, double startTime, jsi::Value entry) = 0;
|
|
8845
8855
|
virtual void reportMeasure(jsi::Runtime &rt, jsi::String name, double startTime, double duration, jsi::Value entry) = 0;
|
|
8846
8856
|
virtual std::optional<double> getMarkTime(jsi::Runtime &rt, jsi::String name) = 0;
|
|
@@ -8897,6 +8907,14 @@ private:
|
|
|
8897
8907
|
return bridging::callFromJs<double>(
|
|
8898
8908
|
rt, &T::now, jsInvoker_, instance_);
|
|
8899
8909
|
}
|
|
8910
|
+
double timeOrigin(jsi::Runtime &rt) override {
|
|
8911
|
+
static_assert(
|
|
8912
|
+
bridging::getParameterCount(&T::timeOrigin) == 1,
|
|
8913
|
+
"Expected timeOrigin(...) to have 1 parameters");
|
|
8914
|
+
|
|
8915
|
+
return bridging::callFromJs<double>(
|
|
8916
|
+
rt, &T::timeOrigin, jsInvoker_, instance_);
|
|
8917
|
+
}
|
|
8900
8918
|
void reportMark(jsi::Runtime &rt, jsi::String name, double startTime, jsi::Value entry) override {
|
|
8901
8919
|
static_assert(
|
|
8902
8920
|
bridging::getParameterCount(&T::reportMark) == 4,
|
package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.cpp
CHANGED
|
@@ -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
|
|
package/React/FBReactNativeSpec/react/renderer/components/FBReactNativeSpec/ComponentDescriptors.h
CHANGED
|
@@ -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
|
/*
|
|
@@ -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
|
|
package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultNewArchitectureEntryPoint.kt
CHANGED
|
@@ -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
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
"
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
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<<
|
|
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<<
|
|
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<<
|
|
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<<
|
|
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<<
|
|
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<<
|
|
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<<
|
|
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
|
|
@@ -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<<
|
|
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<<
|
|
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 (
|
|
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 (
|
|
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 (
|
|
23
|
+
if (HERMES_V1_ENABLED)
|
|
24
24
|
target_compile_options(rninstance PRIVATE -DHERMES_V1_ENABLED=1)
|
|
25
25
|
endif()
|
|
26
26
|
endif ()
|
|
@@ -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 (
|
|
36
|
+
if (HERMES_V1_ENABLED)
|
|
37
37
|
target_compile_options(hermes_executor_common PRIVATE -DHERMES_V1_ENABLED=1)
|
|
38
38
|
endif()
|
|
39
39
|
else()
|