react-native 0.83.0-rc.0 → 0.83.0-rc.2
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/Core/ReactNativeVersion.js +1 -1
- package/React/Base/RCTVersion.m +1 -1
- package/React/CoreModules/React-CoreModules.podspec +1 -0
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +16 -0
- package/React/Runtime/React-RCTRuntime.podspec +1 -0
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +13 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +21 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +8 -4
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +23 -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 +5 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
- package/ReactAndroid/src/main/jni/CMakeLists.txt +5 -0
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +29 -1
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +7 -1
- package/ReactCommon/React-Fabric.podspec +8 -2
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -0
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -0
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +33 -0
- package/ReactCommon/jsinspector-modern/HostAgent.h +6 -0
- package/ReactCommon/jsinspector-modern/HostTarget.h +5 -0
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +6 -0
- package/ReactCommon/jsinspector-modern/InspectorFlags.h +7 -0
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +37 -0
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.h +12 -1
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +11 -1
- package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +4 -0
- package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -0
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +9 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +11 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +90 -54
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +6 -2
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +12 -4
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +19 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +5 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +3 -1
- package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
- package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +7 -0
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +5 -1
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +11 -1
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +5 -1
- package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.h +4 -0
- package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +66 -0
- package/ReactCommon/react/utils/React-utils.podspec +3 -1
- package/package.json +9 -8
- package/scripts/cocoapods/rncore.rb +3 -2
- package/scripts/react_native_pods.rb +1 -0
- package/sdks/.hermesv1version +1 -0
- package/sdks/hermes-engine/version.properties +1 -1
- package/src/private/featureflags/ReactNativeFeatureFlags.js +14 -4
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +3 -1
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
|
@@ -29,7 +29,7 @@ export default class ReactNativeVersion {
|
|
|
29
29
|
static major: number = 0;
|
|
30
30
|
static minor: number = 83;
|
|
31
31
|
static patch: number = 0;
|
|
32
|
-
static prerelease: string | null = 'rc.
|
|
32
|
+
static prerelease: string | null = 'rc.2';
|
|
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
|
@@ -61,6 +61,7 @@ Pod::Spec.new do |s|
|
|
|
61
61
|
add_dependency(s, "React-RCTFBReactNativeSpec")
|
|
62
62
|
add_dependency(s, "ReactCommon", :subspec => "turbomodule/core", :additional_framework_paths => ["react/nativemodule/core"])
|
|
63
63
|
add_dependency(s, "React-NativeModulesApple")
|
|
64
|
+
add_dependency(s, "React-utils", :additional_framework_paths => ["react/utils/platform/ios"])
|
|
64
65
|
|
|
65
66
|
add_rn_third_party_dependencies(s)
|
|
66
67
|
add_rncore_dependency(s)
|
|
@@ -254,6 +254,7 @@ protected:
|
|
|
254
254
|
methodMap_["enableImmediateUpdateModeForContentOffsetChanges"] = MethodMetadata {.argCount = 0, .invoker = __enableImmediateUpdateModeForContentOffsetChanges};
|
|
255
255
|
methodMap_["enableImperativeFocus"] = MethodMetadata {.argCount = 0, .invoker = __enableImperativeFocus};
|
|
256
256
|
methodMap_["enableInteropViewManagerClassLookUpOptimizationIOS"] = MethodMetadata {.argCount = 0, .invoker = __enableInteropViewManagerClassLookUpOptimizationIOS};
|
|
257
|
+
methodMap_["enableIntersectionObserverByDefault"] = MethodMetadata {.argCount = 0, .invoker = __enableIntersectionObserverByDefault};
|
|
257
258
|
methodMap_["enableKeyEvents"] = MethodMetadata {.argCount = 0, .invoker = __enableKeyEvents};
|
|
258
259
|
methodMap_["enableLayoutAnimationsOnAndroid"] = MethodMetadata {.argCount = 0, .invoker = __enableLayoutAnimationsOnAndroid};
|
|
259
260
|
methodMap_["enableLayoutAnimationsOnIOS"] = MethodMetadata {.argCount = 0, .invoker = __enableLayoutAnimationsOnIOS};
|
|
@@ -278,6 +279,7 @@ protected:
|
|
|
278
279
|
methodMap_["enableVirtualViewWindowFocusDetection"] = MethodMetadata {.argCount = 0, .invoker = __enableVirtualViewWindowFocusDetection};
|
|
279
280
|
methodMap_["enableWebPerformanceAPIsByDefault"] = MethodMetadata {.argCount = 0, .invoker = __enableWebPerformanceAPIsByDefault};
|
|
280
281
|
methodMap_["fixMappingOfEventPrioritiesBetweenFabricAndReact"] = MethodMetadata {.argCount = 0, .invoker = __fixMappingOfEventPrioritiesBetweenFabricAndReact};
|
|
282
|
+
methodMap_["fuseboxAssertSingleHostState"] = MethodMetadata {.argCount = 0, .invoker = __fuseboxAssertSingleHostState};
|
|
281
283
|
methodMap_["fuseboxEnabledRelease"] = MethodMetadata {.argCount = 0, .invoker = __fuseboxEnabledRelease};
|
|
282
284
|
methodMap_["fuseboxNetworkInspectionEnabled"] = MethodMetadata {.argCount = 0, .invoker = __fuseboxNetworkInspectionEnabled};
|
|
283
285
|
methodMap_["hideOffscreenVirtualViewsOnIOS"] = MethodMetadata {.argCount = 0, .invoker = __hideOffscreenVirtualViewsOnIOS};
|
|
@@ -527,6 +529,13 @@ private:
|
|
|
527
529
|
return bridging::callFromJs<bool>(rt, &T::enableInteropViewManagerClassLookUpOptimizationIOS, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
|
|
528
530
|
}
|
|
529
531
|
|
|
532
|
+
static jsi::Value __enableIntersectionObserverByDefault(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
533
|
+
static_assert(
|
|
534
|
+
bridging::getParameterCount(&T::enableIntersectionObserverByDefault) == 1,
|
|
535
|
+
"Expected enableIntersectionObserverByDefault(...) to have 1 parameters");
|
|
536
|
+
return bridging::callFromJs<bool>(rt, &T::enableIntersectionObserverByDefault, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
|
|
537
|
+
}
|
|
538
|
+
|
|
530
539
|
static jsi::Value __enableKeyEvents(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
531
540
|
static_assert(
|
|
532
541
|
bridging::getParameterCount(&T::enableKeyEvents) == 1,
|
|
@@ -695,6 +704,13 @@ private:
|
|
|
695
704
|
return bridging::callFromJs<bool>(rt, &T::fixMappingOfEventPrioritiesBetweenFabricAndReact, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
|
|
696
705
|
}
|
|
697
706
|
|
|
707
|
+
static jsi::Value __fuseboxAssertSingleHostState(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
708
|
+
static_assert(
|
|
709
|
+
bridging::getParameterCount(&T::fuseboxAssertSingleHostState) == 1,
|
|
710
|
+
"Expected fuseboxAssertSingleHostState(...) to have 1 parameters");
|
|
711
|
+
return bridging::callFromJs<bool>(rt, &T::fuseboxAssertSingleHostState, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
|
|
712
|
+
}
|
|
713
|
+
|
|
698
714
|
static jsi::Value __fuseboxEnabledRelease(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
|
|
699
715
|
static_assert(
|
|
700
716
|
bridging::getParameterCount(&T::fuseboxEnabledRelease) == 1,
|
|
@@ -56,6 +56,7 @@ Pod::Spec.new do |s|
|
|
|
56
56
|
|
|
57
57
|
add_dependency(s, "React-RuntimeCore")
|
|
58
58
|
add_dependency(s, "React-RuntimeApple")
|
|
59
|
+
add_dependency(s, "React-utils", :additional_framework_paths => ["react/utils/platform/ios"])
|
|
59
60
|
|
|
60
61
|
if use_third_party_jsc()
|
|
61
62
|
s.exclude_files = ["RCTHermesInstanceFactory.{mm,h}", "RCTJscInstanceFactory.{mm,h}"]
|
|
@@ -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<<f350f756268554418a046d0793ee0146>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -210,6 +210,12 @@ public object ReactNativeFeatureFlags {
|
|
|
210
210
|
@JvmStatic
|
|
211
211
|
public fun enableInteropViewManagerClassLookUpOptimizationIOS(): Boolean = accessor.enableInteropViewManagerClassLookUpOptimizationIOS()
|
|
212
212
|
|
|
213
|
+
/**
|
|
214
|
+
* Enables the IntersectionObserver Web API in React Native.
|
|
215
|
+
*/
|
|
216
|
+
@JvmStatic
|
|
217
|
+
public fun enableIntersectionObserverByDefault(): Boolean = accessor.enableIntersectionObserverByDefault()
|
|
218
|
+
|
|
213
219
|
/**
|
|
214
220
|
* Enables key up/down/press events to be sent to JS from components
|
|
215
221
|
*/
|
|
@@ -354,6 +360,12 @@ public object ReactNativeFeatureFlags {
|
|
|
354
360
|
@JvmStatic
|
|
355
361
|
public fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean = accessor.fixMappingOfEventPrioritiesBetweenFabricAndReact()
|
|
356
362
|
|
|
363
|
+
/**
|
|
364
|
+
* Enable system assertion validating that Fusebox is configured with a single host. When set, the CDP backend will dynamically disable features (Perf and Network) in the event that multiple hosts are registered (undefined behaviour), and broadcast this over `ReactNativeApplication.systemStateChanged`.
|
|
365
|
+
*/
|
|
366
|
+
@JvmStatic
|
|
367
|
+
public fun fuseboxAssertSingleHostState(): Boolean = accessor.fuseboxAssertSingleHostState()
|
|
368
|
+
|
|
357
369
|
/**
|
|
358
370
|
* Flag determining if the React Native DevTools (Fusebox) CDP backend should be enabled in release builds. This flag is global and should not be changed across React Host lifetimes.
|
|
359
371
|
*/
|
|
@@ -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<<c9a6711220ca600dacaed5754df5caab>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -50,6 +50,7 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
|
|
50
50
|
private var enableImmediateUpdateModeForContentOffsetChangesCache: Boolean? = null
|
|
51
51
|
private var enableImperativeFocusCache: Boolean? = null
|
|
52
52
|
private var enableInteropViewManagerClassLookUpOptimizationIOSCache: Boolean? = null
|
|
53
|
+
private var enableIntersectionObserverByDefaultCache: Boolean? = null
|
|
53
54
|
private var enableKeyEventsCache: Boolean? = null
|
|
54
55
|
private var enableLayoutAnimationsOnAndroidCache: Boolean? = null
|
|
55
56
|
private var enableLayoutAnimationsOnIOSCache: Boolean? = null
|
|
@@ -74,6 +75,7 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
|
|
74
75
|
private var enableVirtualViewWindowFocusDetectionCache: Boolean? = null
|
|
75
76
|
private var enableWebPerformanceAPIsByDefaultCache: Boolean? = null
|
|
76
77
|
private var fixMappingOfEventPrioritiesBetweenFabricAndReactCache: Boolean? = null
|
|
78
|
+
private var fuseboxAssertSingleHostStateCache: Boolean? = null
|
|
77
79
|
private var fuseboxEnabledReleaseCache: Boolean? = null
|
|
78
80
|
private var fuseboxNetworkInspectionEnabledCache: Boolean? = null
|
|
79
81
|
private var hideOffscreenVirtualViewsOnIOSCache: Boolean? = null
|
|
@@ -374,6 +376,15 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
|
|
374
376
|
return cached
|
|
375
377
|
}
|
|
376
378
|
|
|
379
|
+
override fun enableIntersectionObserverByDefault(): Boolean {
|
|
380
|
+
var cached = enableIntersectionObserverByDefaultCache
|
|
381
|
+
if (cached == null) {
|
|
382
|
+
cached = ReactNativeFeatureFlagsCxxInterop.enableIntersectionObserverByDefault()
|
|
383
|
+
enableIntersectionObserverByDefaultCache = cached
|
|
384
|
+
}
|
|
385
|
+
return cached
|
|
386
|
+
}
|
|
387
|
+
|
|
377
388
|
override fun enableKeyEvents(): Boolean {
|
|
378
389
|
var cached = enableKeyEventsCache
|
|
379
390
|
if (cached == null) {
|
|
@@ -590,6 +601,15 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
|
|
590
601
|
return cached
|
|
591
602
|
}
|
|
592
603
|
|
|
604
|
+
override fun fuseboxAssertSingleHostState(): Boolean {
|
|
605
|
+
var cached = fuseboxAssertSingleHostStateCache
|
|
606
|
+
if (cached == null) {
|
|
607
|
+
cached = ReactNativeFeatureFlagsCxxInterop.fuseboxAssertSingleHostState()
|
|
608
|
+
fuseboxAssertSingleHostStateCache = cached
|
|
609
|
+
}
|
|
610
|
+
return cached
|
|
611
|
+
}
|
|
612
|
+
|
|
593
613
|
override fun fuseboxEnabledRelease(): Boolean {
|
|
594
614
|
var cached = fuseboxEnabledReleaseCache
|
|
595
615
|
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<<d936abca211ad153f40c44187a1f8867>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -88,6 +88,8 @@ public object ReactNativeFeatureFlagsCxxInterop {
|
|
|
88
88
|
|
|
89
89
|
@DoNotStrip @JvmStatic public external fun enableInteropViewManagerClassLookUpOptimizationIOS(): Boolean
|
|
90
90
|
|
|
91
|
+
@DoNotStrip @JvmStatic public external fun enableIntersectionObserverByDefault(): Boolean
|
|
92
|
+
|
|
91
93
|
@DoNotStrip @JvmStatic public external fun enableKeyEvents(): Boolean
|
|
92
94
|
|
|
93
95
|
@DoNotStrip @JvmStatic public external fun enableLayoutAnimationsOnAndroid(): Boolean
|
|
@@ -136,6 +138,8 @@ public object ReactNativeFeatureFlagsCxxInterop {
|
|
|
136
138
|
|
|
137
139
|
@DoNotStrip @JvmStatic public external fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean
|
|
138
140
|
|
|
141
|
+
@DoNotStrip @JvmStatic public external fun fuseboxAssertSingleHostState(): Boolean
|
|
142
|
+
|
|
139
143
|
@DoNotStrip @JvmStatic public external fun fuseboxEnabledRelease(): Boolean
|
|
140
144
|
|
|
141
145
|
@DoNotStrip @JvmStatic public external fun fuseboxNetworkInspectionEnabled(): 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<<303c55a883b4798288716d168ce82d06>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -83,6 +83,8 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
|
|
|
83
83
|
|
|
84
84
|
override fun enableInteropViewManagerClassLookUpOptimizationIOS(): Boolean = false
|
|
85
85
|
|
|
86
|
+
override fun enableIntersectionObserverByDefault(): Boolean = false
|
|
87
|
+
|
|
86
88
|
override fun enableKeyEvents(): Boolean = false
|
|
87
89
|
|
|
88
90
|
override fun enableLayoutAnimationsOnAndroid(): Boolean = false
|
|
@@ -95,13 +97,13 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
|
|
|
95
97
|
|
|
96
98
|
override fun enableNativeCSSParsing(): Boolean = false
|
|
97
99
|
|
|
98
|
-
override fun enableNetworkEventReporting(): Boolean =
|
|
100
|
+
override fun enableNetworkEventReporting(): Boolean = true
|
|
99
101
|
|
|
100
102
|
override fun enablePreparedTextLayout(): Boolean = false
|
|
101
103
|
|
|
102
104
|
override fun enablePropsUpdateReconciliationAndroid(): Boolean = false
|
|
103
105
|
|
|
104
|
-
override fun enableResourceTimingAPI(): Boolean =
|
|
106
|
+
override fun enableResourceTimingAPI(): Boolean = true
|
|
105
107
|
|
|
106
108
|
override fun enableSwiftUIBasedFilters(): Boolean = false
|
|
107
109
|
|
|
@@ -131,9 +133,11 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
|
|
|
131
133
|
|
|
132
134
|
override fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean = false
|
|
133
135
|
|
|
136
|
+
override fun fuseboxAssertSingleHostState(): Boolean = true
|
|
137
|
+
|
|
134
138
|
override fun fuseboxEnabledRelease(): Boolean = false
|
|
135
139
|
|
|
136
|
-
override fun fuseboxNetworkInspectionEnabled(): Boolean =
|
|
140
|
+
override fun fuseboxNetworkInspectionEnabled(): Boolean = true
|
|
137
141
|
|
|
138
142
|
override fun hideOffscreenVirtualViewsOnIOS(): Boolean = false
|
|
139
143
|
|
|
@@ -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<<98eb8f2d7036cf8a3023a8c560375f6a>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -54,6 +54,7 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
|
|
54
54
|
private var enableImmediateUpdateModeForContentOffsetChangesCache: Boolean? = null
|
|
55
55
|
private var enableImperativeFocusCache: Boolean? = null
|
|
56
56
|
private var enableInteropViewManagerClassLookUpOptimizationIOSCache: Boolean? = null
|
|
57
|
+
private var enableIntersectionObserverByDefaultCache: Boolean? = null
|
|
57
58
|
private var enableKeyEventsCache: Boolean? = null
|
|
58
59
|
private var enableLayoutAnimationsOnAndroidCache: Boolean? = null
|
|
59
60
|
private var enableLayoutAnimationsOnIOSCache: Boolean? = null
|
|
@@ -78,6 +79,7 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
|
|
78
79
|
private var enableVirtualViewWindowFocusDetectionCache: Boolean? = null
|
|
79
80
|
private var enableWebPerformanceAPIsByDefaultCache: Boolean? = null
|
|
80
81
|
private var fixMappingOfEventPrioritiesBetweenFabricAndReactCache: Boolean? = null
|
|
82
|
+
private var fuseboxAssertSingleHostStateCache: Boolean? = null
|
|
81
83
|
private var fuseboxEnabledReleaseCache: Boolean? = null
|
|
82
84
|
private var fuseboxNetworkInspectionEnabledCache: Boolean? = null
|
|
83
85
|
private var hideOffscreenVirtualViewsOnIOSCache: Boolean? = null
|
|
@@ -408,6 +410,16 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
|
|
408
410
|
return cached
|
|
409
411
|
}
|
|
410
412
|
|
|
413
|
+
override fun enableIntersectionObserverByDefault(): Boolean {
|
|
414
|
+
var cached = enableIntersectionObserverByDefaultCache
|
|
415
|
+
if (cached == null) {
|
|
416
|
+
cached = currentProvider.enableIntersectionObserverByDefault()
|
|
417
|
+
accessedFeatureFlags.add("enableIntersectionObserverByDefault")
|
|
418
|
+
enableIntersectionObserverByDefaultCache = cached
|
|
419
|
+
}
|
|
420
|
+
return cached
|
|
421
|
+
}
|
|
422
|
+
|
|
411
423
|
override fun enableKeyEvents(): Boolean {
|
|
412
424
|
var cached = enableKeyEventsCache
|
|
413
425
|
if (cached == null) {
|
|
@@ -648,6 +660,16 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
|
|
648
660
|
return cached
|
|
649
661
|
}
|
|
650
662
|
|
|
663
|
+
override fun fuseboxAssertSingleHostState(): Boolean {
|
|
664
|
+
var cached = fuseboxAssertSingleHostStateCache
|
|
665
|
+
if (cached == null) {
|
|
666
|
+
cached = currentProvider.fuseboxAssertSingleHostState()
|
|
667
|
+
accessedFeatureFlags.add("fuseboxAssertSingleHostState")
|
|
668
|
+
fuseboxAssertSingleHostStateCache = cached
|
|
669
|
+
}
|
|
670
|
+
return cached
|
|
671
|
+
}
|
|
672
|
+
|
|
651
673
|
override fun fuseboxEnabledRelease(): Boolean {
|
|
652
674
|
var cached = fuseboxEnabledReleaseCache
|
|
653
675
|
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<<2912fe4c90e3b493770bf14e70264656>>
|
|
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 enableIntersectionObserverByDefault(): 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<<18744192baedc0d5fa0fc7873adf0422>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -83,6 +83,8 @@ public interface ReactNativeFeatureFlagsProvider {
|
|
|
83
83
|
|
|
84
84
|
@DoNotStrip public fun enableInteropViewManagerClassLookUpOptimizationIOS(): Boolean
|
|
85
85
|
|
|
86
|
+
@DoNotStrip public fun enableIntersectionObserverByDefault(): Boolean
|
|
87
|
+
|
|
86
88
|
@DoNotStrip public fun enableKeyEvents(): Boolean
|
|
87
89
|
|
|
88
90
|
@DoNotStrip public fun enableLayoutAnimationsOnAndroid(): Boolean
|
|
@@ -131,6 +133,8 @@ public interface ReactNativeFeatureFlagsProvider {
|
|
|
131
133
|
|
|
132
134
|
@DoNotStrip public fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean
|
|
133
135
|
|
|
136
|
+
@DoNotStrip public fun fuseboxAssertSingleHostState(): Boolean
|
|
137
|
+
|
|
134
138
|
@DoNotStrip public fun fuseboxEnabledRelease(): Boolean
|
|
135
139
|
|
|
136
140
|
@DoNotStrip public fun fuseboxNetworkInspectionEnabled(): Boolean
|
|
@@ -114,6 +114,7 @@ add_react_common_subdir(react/renderer/components/scrollview)
|
|
|
114
114
|
add_react_common_subdir(react/renderer/components/safeareaview)
|
|
115
115
|
add_react_common_subdir(react/renderer/leakchecker)
|
|
116
116
|
add_react_common_subdir(react/renderer/observers/events)
|
|
117
|
+
add_react_common_subdir(react/renderer/observers/intersection)
|
|
117
118
|
add_react_common_subdir(react/renderer/textlayoutmanager)
|
|
118
119
|
add_react_common_subdir(react/utils)
|
|
119
120
|
add_react_common_subdir(react/bridging)
|
|
@@ -124,6 +125,7 @@ add_react_common_subdir(react/nativemodule/dom)
|
|
|
124
125
|
add_react_common_subdir(react/nativemodule/featureflags)
|
|
125
126
|
add_react_common_subdir(react/nativemodule/microtasks)
|
|
126
127
|
add_react_common_subdir(react/nativemodule/idlecallbacks)
|
|
128
|
+
add_react_common_subdir(react/nativemodule/intersectionobserver)
|
|
127
129
|
add_react_common_subdir(react/nativemodule/webperformance)
|
|
128
130
|
add_react_common_subdir(react/networking)
|
|
129
131
|
add_react_common_subdir(jserrorhandler)
|
|
@@ -191,6 +193,7 @@ add_library(reactnative
|
|
|
191
193
|
$<TARGET_OBJECTS:react_nativemodule_dom>
|
|
192
194
|
$<TARGET_OBJECTS:react_nativemodule_featureflags>
|
|
193
195
|
$<TARGET_OBJECTS:react_nativemodule_idlecallbacks>
|
|
196
|
+
$<TARGET_OBJECTS:react_nativemodule_intersectionobserver>
|
|
194
197
|
$<TARGET_OBJECTS:react_nativemodule_microtasks>
|
|
195
198
|
$<TARGET_OBJECTS:react_nativemodule_webperformance>
|
|
196
199
|
$<TARGET_OBJECTS:react_networking>
|
|
@@ -211,6 +214,7 @@ add_library(reactnative
|
|
|
211
214
|
$<TARGET_OBJECTS:react_renderer_mapbuffer>
|
|
212
215
|
$<TARGET_OBJECTS:react_renderer_mounting>
|
|
213
216
|
$<TARGET_OBJECTS:react_renderer_observers_events>
|
|
217
|
+
$<TARGET_OBJECTS:react_renderer_observers_intersection>
|
|
214
218
|
$<TARGET_OBJECTS:react_renderer_runtimescheduler>
|
|
215
219
|
$<TARGET_OBJECTS:react_renderer_scheduler>
|
|
216
220
|
$<TARGET_OBJECTS:react_renderer_telemetry>
|
|
@@ -282,6 +286,7 @@ target_include_directories(reactnative
|
|
|
282
286
|
$<TARGET_PROPERTY:react_nativemodule_dom,INTERFACE_INCLUDE_DIRECTORIES>
|
|
283
287
|
$<TARGET_PROPERTY:react_nativemodule_featureflags,INTERFACE_INCLUDE_DIRECTORIES>
|
|
284
288
|
$<TARGET_PROPERTY:react_nativemodule_idlecallbacks,INTERFACE_INCLUDE_DIRECTORIES>
|
|
289
|
+
$<TARGET_PROPERTY:react_nativemodule_intersectionobserver,INTERFACE_INCLUDE_DIRECTORIES>
|
|
285
290
|
$<TARGET_PROPERTY:react_nativemodule_microtasks,INTERFACE_INCLUDE_DIRECTORIES>
|
|
286
291
|
$<TARGET_PROPERTY:react_nativemodule_webperformance,INTERFACE_INCLUDE_DIRECTORIES>
|
|
287
292
|
$<TARGET_PROPERTY:react_networking,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<<adc73df33ed2112584feaf83fb8d5e17>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -219,6 +219,12 @@ class ReactNativeFeatureFlagsJavaProvider
|
|
|
219
219
|
return method(javaProvider_);
|
|
220
220
|
}
|
|
221
221
|
|
|
222
|
+
bool enableIntersectionObserverByDefault() override {
|
|
223
|
+
static const auto method =
|
|
224
|
+
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("enableIntersectionObserverByDefault");
|
|
225
|
+
return method(javaProvider_);
|
|
226
|
+
}
|
|
227
|
+
|
|
222
228
|
bool enableKeyEvents() override {
|
|
223
229
|
static const auto method =
|
|
224
230
|
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("enableKeyEvents");
|
|
@@ -363,6 +369,12 @@ class ReactNativeFeatureFlagsJavaProvider
|
|
|
363
369
|
return method(javaProvider_);
|
|
364
370
|
}
|
|
365
371
|
|
|
372
|
+
bool fuseboxAssertSingleHostState() override {
|
|
373
|
+
static const auto method =
|
|
374
|
+
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("fuseboxAssertSingleHostState");
|
|
375
|
+
return method(javaProvider_);
|
|
376
|
+
}
|
|
377
|
+
|
|
366
378
|
bool fuseboxEnabledRelease() override {
|
|
367
379
|
static const auto method =
|
|
368
380
|
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("fuseboxEnabledRelease");
|
|
@@ -691,6 +703,11 @@ bool JReactNativeFeatureFlagsCxxInterop::enableInteropViewManagerClassLookUpOpti
|
|
|
691
703
|
return ReactNativeFeatureFlags::enableInteropViewManagerClassLookUpOptimizationIOS();
|
|
692
704
|
}
|
|
693
705
|
|
|
706
|
+
bool JReactNativeFeatureFlagsCxxInterop::enableIntersectionObserverByDefault(
|
|
707
|
+
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
|
708
|
+
return ReactNativeFeatureFlags::enableIntersectionObserverByDefault();
|
|
709
|
+
}
|
|
710
|
+
|
|
694
711
|
bool JReactNativeFeatureFlagsCxxInterop::enableKeyEvents(
|
|
695
712
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
|
696
713
|
return ReactNativeFeatureFlags::enableKeyEvents();
|
|
@@ -811,6 +828,11 @@ bool JReactNativeFeatureFlagsCxxInterop::fixMappingOfEventPrioritiesBetweenFabri
|
|
|
811
828
|
return ReactNativeFeatureFlags::fixMappingOfEventPrioritiesBetweenFabricAndReact();
|
|
812
829
|
}
|
|
813
830
|
|
|
831
|
+
bool JReactNativeFeatureFlagsCxxInterop::fuseboxAssertSingleHostState(
|
|
832
|
+
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
|
833
|
+
return ReactNativeFeatureFlags::fuseboxAssertSingleHostState();
|
|
834
|
+
}
|
|
835
|
+
|
|
814
836
|
bool JReactNativeFeatureFlagsCxxInterop::fuseboxEnabledRelease(
|
|
815
837
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
|
816
838
|
return ReactNativeFeatureFlags::fuseboxEnabledRelease();
|
|
@@ -1077,6 +1099,9 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
|
|
|
1077
1099
|
makeNativeMethod(
|
|
1078
1100
|
"enableInteropViewManagerClassLookUpOptimizationIOS",
|
|
1079
1101
|
JReactNativeFeatureFlagsCxxInterop::enableInteropViewManagerClassLookUpOptimizationIOS),
|
|
1102
|
+
makeNativeMethod(
|
|
1103
|
+
"enableIntersectionObserverByDefault",
|
|
1104
|
+
JReactNativeFeatureFlagsCxxInterop::enableIntersectionObserverByDefault),
|
|
1080
1105
|
makeNativeMethod(
|
|
1081
1106
|
"enableKeyEvents",
|
|
1082
1107
|
JReactNativeFeatureFlagsCxxInterop::enableKeyEvents),
|
|
@@ -1149,6 +1174,9 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
|
|
|
1149
1174
|
makeNativeMethod(
|
|
1150
1175
|
"fixMappingOfEventPrioritiesBetweenFabricAndReact",
|
|
1151
1176
|
JReactNativeFeatureFlagsCxxInterop::fixMappingOfEventPrioritiesBetweenFabricAndReact),
|
|
1177
|
+
makeNativeMethod(
|
|
1178
|
+
"fuseboxAssertSingleHostState",
|
|
1179
|
+
JReactNativeFeatureFlagsCxxInterop::fuseboxAssertSingleHostState),
|
|
1152
1180
|
makeNativeMethod(
|
|
1153
1181
|
"fuseboxEnabledRelease",
|
|
1154
1182
|
JReactNativeFeatureFlagsCxxInterop::fuseboxEnabledRelease),
|
|
@@ -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<<9853cf162b179249b2c6af120a662cf3>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -120,6 +120,9 @@ class JReactNativeFeatureFlagsCxxInterop
|
|
|
120
120
|
static bool enableInteropViewManagerClassLookUpOptimizationIOS(
|
|
121
121
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
122
122
|
|
|
123
|
+
static bool enableIntersectionObserverByDefault(
|
|
124
|
+
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
125
|
+
|
|
123
126
|
static bool enableKeyEvents(
|
|
124
127
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
125
128
|
|
|
@@ -192,6 +195,9 @@ class JReactNativeFeatureFlagsCxxInterop
|
|
|
192
195
|
static bool fixMappingOfEventPrioritiesBetweenFabricAndReact(
|
|
193
196
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
194
197
|
|
|
198
|
+
static bool fuseboxAssertSingleHostState(
|
|
199
|
+
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
200
|
+
|
|
195
201
|
static bool fuseboxEnabledRelease(
|
|
196
202
|
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
|
197
203
|
|
|
@@ -54,7 +54,7 @@ Pod::Spec.new do |s|
|
|
|
54
54
|
depend_on_js_engine(s)
|
|
55
55
|
add_rn_third_party_dependencies(s)
|
|
56
56
|
add_rncore_dependency(s)
|
|
57
|
-
|
|
57
|
+
|
|
58
58
|
s.subspec "animated" do |ss|
|
|
59
59
|
ss.source_files = podspec_sources("react/renderer/animated/**/*.{m,mm,cpp,h}", "react/renderer/animated/**/*.{h}")
|
|
60
60
|
ss.exclude_files = "react/renderer/animated/tests"
|
|
@@ -66,7 +66,7 @@ Pod::Spec.new do |s|
|
|
|
66
66
|
ss.exclude_files = "react/renderer/animations/tests"
|
|
67
67
|
ss.header_dir = "react/renderer/animations"
|
|
68
68
|
end
|
|
69
|
-
|
|
69
|
+
|
|
70
70
|
s.subspec "animationbackend" do |ss|
|
|
71
71
|
ss.source_files = podspec_sources("react/renderer/animationbackend/**/*.{m,mm,cpp,h}", "react/renderer/animationbackend/**/*.{h}")
|
|
72
72
|
ss.header_dir = "react/renderer/animationbackend"
|
|
@@ -179,6 +179,12 @@ Pod::Spec.new do |s|
|
|
|
179
179
|
sss.exclude_files = "react/renderer/observers/events/tests"
|
|
180
180
|
sss.header_dir = "react/renderer/observers/events"
|
|
181
181
|
end
|
|
182
|
+
|
|
183
|
+
ss.subspec "intersection" do |sss|
|
|
184
|
+
sss.source_files = podspec_sources("react/renderer/observers/intersection/**/*.{m,mm,cpp,h}", "react/renderer/observers/intersection/**/*.h")
|
|
185
|
+
sss.exclude_files = "react/renderer/observers/intersection/tests"
|
|
186
|
+
sss.header_dir = "react/renderer/observers/intersection"
|
|
187
|
+
end
|
|
182
188
|
end
|
|
183
189
|
|
|
184
190
|
s.subspec "templateprocessor" do |ss|
|
|
@@ -44,6 +44,7 @@ Pod::Spec.new do |s|
|
|
|
44
44
|
s.dependency "React-logger", version
|
|
45
45
|
s.dependency "React-debug", version
|
|
46
46
|
s.dependency "React-timing", version
|
|
47
|
+
add_dependency(s, "React-utils", :additional_framework_paths => ["react/utils/platform/ios"])
|
|
47
48
|
|
|
48
49
|
s.resource_bundles = {'React-cxxreact_privacy' => 'PrivacyInfo.xcprivacy'}
|
|
49
50
|
|
|
@@ -37,6 +37,7 @@ Pod::Spec.new do |s|
|
|
|
37
37
|
add_dependency(s, "React-jsinspector", :framework_name => 'jsinspector_modern')
|
|
38
38
|
add_dependency(s, "React-jsinspectorcdp", :framework_name => 'jsinspector_moderncdp')
|
|
39
39
|
add_dependency(s, "React-jsinspectortracing", :framework_name => 'jsinspector_moderntracing')
|
|
40
|
+
add_dependency(s, "React-utils", :additional_framework_paths => ["react/utils/platform/ios"])
|
|
40
41
|
if use_hermes()
|
|
41
42
|
s.dependency 'hermes-engine'
|
|
42
43
|
end
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
#ifdef REACT_NATIVE_DEBUGGER_ENABLED
|
|
12
12
|
#include "InspectorFlags.h"
|
|
13
|
+
#include "InspectorInterfaces.h"
|
|
13
14
|
#include "NetworkIOAgent.h"
|
|
14
15
|
#include "SessionState.h"
|
|
15
16
|
#include "TracingAgent.h"
|
|
@@ -145,6 +146,19 @@ class HostAgent::Impl final {
|
|
|
145
146
|
}
|
|
146
147
|
if (InspectorFlags::getInstance().getNetworkInspectionEnabled()) {
|
|
147
148
|
if (req.method == "Network.enable") {
|
|
149
|
+
auto& inspector = getInspectorInstance();
|
|
150
|
+
if (inspector.getSystemState().registeredPagesCount > 1) {
|
|
151
|
+
frontendChannel_(
|
|
152
|
+
cdp::jsonError(
|
|
153
|
+
req.id,
|
|
154
|
+
cdp::ErrorCode::InternalError,
|
|
155
|
+
"The Network domain is unavailable when multiple React Native hosts are registered."));
|
|
156
|
+
return {
|
|
157
|
+
.isFinishedHandlingRequest = true,
|
|
158
|
+
.shouldSendOKResponse = false,
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
|
|
148
162
|
sessionState_.isNetworkDomainEnabled = true;
|
|
149
163
|
|
|
150
164
|
return {
|
|
@@ -216,6 +230,11 @@ class HostAgent::Impl final {
|
|
|
216
230
|
cdp::jsonNotification(
|
|
217
231
|
"ReactNativeApplication.metadataUpdated",
|
|
218
232
|
createHostMetadataPayload(hostMetadata_)));
|
|
233
|
+
auto& inspector = getInspectorInstance();
|
|
234
|
+
bool isSingleHost = inspector.getSystemState().registeredPagesCount <= 1;
|
|
235
|
+
if (!isSingleHost) {
|
|
236
|
+
emitSystemStateChanged(isSingleHost);
|
|
237
|
+
}
|
|
219
238
|
|
|
220
239
|
auto stashedTraceRecording =
|
|
221
240
|
targetController_.getDelegate()
|
|
@@ -374,6 +393,15 @@ class HostAgent::Impl final {
|
|
|
374
393
|
tracingAgent_.emitExternalTraceRecording(std::move(traceRecording));
|
|
375
394
|
}
|
|
376
395
|
|
|
396
|
+
void emitSystemStateChanged(bool isSingleHost) {
|
|
397
|
+
frontendChannel_(
|
|
398
|
+
cdp::jsonNotification(
|
|
399
|
+
"ReactNativeApplication.systemStateChanged",
|
|
400
|
+
folly::dynamic::object("isSingleHost", isSingleHost)));
|
|
401
|
+
|
|
402
|
+
frontendChannel_(cdp::jsonNotification("Network.disable"));
|
|
403
|
+
}
|
|
404
|
+
|
|
377
405
|
private:
|
|
378
406
|
enum class FuseboxClientType { Unknown, Fusebox, NonFusebox };
|
|
379
407
|
|
|
@@ -480,6 +508,7 @@ class HostAgent::Impl final {
|
|
|
480
508
|
}
|
|
481
509
|
void emitExternalTraceRecording(tracing::TraceRecordingState traceRecording) {
|
|
482
510
|
}
|
|
511
|
+
void emitSystemStateChanged(bool isSingleHost) {}
|
|
483
512
|
};
|
|
484
513
|
|
|
485
514
|
#endif // REACT_NATIVE_DEBUGGER_ENABLED
|
|
@@ -519,6 +548,10 @@ void HostAgent::emitExternalTraceRecording(
|
|
|
519
548
|
impl_->emitExternalTraceRecording(std::move(traceRecording));
|
|
520
549
|
}
|
|
521
550
|
|
|
551
|
+
void HostAgent::emitSystemStateChanged(bool isSingleHost) const {
|
|
552
|
+
impl_->emitSystemStateChanged(isSingleHost);
|
|
553
|
+
}
|
|
554
|
+
|
|
522
555
|
#pragma mark - Tracing
|
|
523
556
|
|
|
524
557
|
HostTracingAgent::HostTracingAgent(tracing::TraceRecordingState& state)
|