react-native-tvos 0.83.4-2 → 0.83.9-0
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 +2 -2
- package/Libraries/Utilities/Appearance.js +6 -1
- package/Libraries/Utilities/HMRClient.js +28 -1
- package/React/Base/RCTVersion.m +2 -2
- package/React/CoreModules/RCTDevLoadingView.mm +17 -0
- package/React/CoreModules/RCTJscSafeUrl+Internal.h +23 -0
- package/React/CoreModules/RCTJscSafeUrl.mm +38 -0
- package/React/CoreModules/RCTRedBox+Internal.h +42 -0
- package/React/CoreModules/RCTRedBox.mm +30 -471
- package/React/CoreModules/RCTRedBox2AnsiParser+Internal.h +22 -0
- package/React/CoreModules/RCTRedBox2AnsiParser.mm +55 -0
- package/React/CoreModules/RCTRedBox2Controller+Internal.h +34 -0
- package/React/CoreModules/RCTRedBox2Controller.mm +764 -0
- package/React/CoreModules/RCTRedBox2ErrorParser+Internal.h +46 -0
- package/React/CoreModules/RCTRedBox2ErrorParser.mm +57 -0
- package/React/CoreModules/RCTRedBoxController+Internal.h +31 -0
- package/React/CoreModules/RCTRedBoxController.mm +447 -0
- package/React/CoreModules/RCTRedBoxHMRClient+Internal.h +26 -0
- package/React/CoreModules/RCTRedBoxHMRClient.mm +125 -0
- package/React/CoreModules/React-CoreModules.podspec +1 -0
- package/React/DevSupport/RCTFrameTimingsObserver.h +24 -0
- package/React/DevSupport/RCTFrameTimingsObserver.mm +298 -0
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +40 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +1 -2
- package/ReactAndroid/api/ReactAndroid.api +0 -9
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/publish.gradle +20 -46
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/BridgelessDevSupportManager.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.kt +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +275 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingState.kt +17 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/TracingStateListener.kt +15 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/{interfaces → inspector}/TracingStateProvider.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorInspectorTargetBinding.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayManager.kt +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorOverlayView.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/perfmonitor/PerfMonitorUpdateListener.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +31 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +51 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +56 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +11 -1
- package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +39 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkEventUtil.kt +20 -19
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +6 -12
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +86 -4
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImplDevHelper.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostInspectorTarget.kt +10 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +7 -6
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollView.java +21 -3
- package/ReactAndroid/src/main/jni/CMakeLists.txt +7 -0
- package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +22 -0
- package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +2 -0
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +71 -1
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +16 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +196 -17
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +168 -18
- package/ReactAndroid/src/main/jni/third-party/folly/CMakeLists.txt +1 -0
- package/ReactCommon/React-Fabric.podspec +6 -0
- package/ReactCommon/cxxreact/ReactNativeVersion.h +3 -3
- package/ReactCommon/hermes/inspector-modern/chrome/Registration.cpp +44 -2
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +45 -10
- package/ReactCommon/jsinspector-modern/HostAgent.h +2 -2
- package/ReactCommon/jsinspector-modern/HostTarget.cpp +14 -7
- package/ReactCommon/jsinspector-modern/HostTarget.h +101 -14
- package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.cpp +39 -8
- package/ReactCommon/jsinspector-modern/HostTargetTraceRecording.h +42 -5
- package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +54 -21
- package/ReactCommon/jsinspector-modern/HostTargetTracing.h +89 -0
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +12 -0
- package/ReactCommon/jsinspector-modern/InspectorFlags.h +12 -0
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +3 -7
- package/ReactCommon/jsinspector-modern/InstanceAgent.cpp +2 -11
- package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +1 -1
- package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +19 -0
- package/ReactCommon/jsinspector-modern/RuntimeAgent.h +7 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +33 -0
- package/ReactCommon/jsinspector-modern/RuntimeTarget.h +6 -0
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +29 -13
- package/ReactCommon/jsinspector-modern/TracingAgent.h +5 -4
- package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +65 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +23 -2
- package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +1 -0
- package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +1 -0
- package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +335 -0
- package/ReactCommon/jsinspector-modern/tests/TracingTest.h +95 -0
- package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +10 -0
- package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +3 -1
- package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +1 -0
- package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +61 -0
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfile.h +43 -0
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +165 -0
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.h +50 -0
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +16 -14
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracerSection.h +113 -0
- package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -0
- package/ReactCommon/jsinspector-modern/tracing/TimeWindowedBuffer.h +158 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEvent.h +2 -1
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +100 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +60 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +44 -1
- package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +7 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceRecordingState.h +18 -7
- package/ReactCommon/jsinspector-modern/tracing/TracingCategory.h +136 -0
- package/ReactCommon/jsinspector-modern/tracing/tests/TimeWindowedBufferTest.cpp +352 -0
- package/ReactCommon/react/debug/CMakeLists.txt +2 -1
- package/ReactCommon/react/debug/React-debug.podspec +7 -1
- package/ReactCommon/react/debug/redbox/AnsiParser.cpp +139 -0
- package/ReactCommon/react/debug/redbox/AnsiParser.h +35 -0
- package/ReactCommon/react/debug/redbox/JscSafeUrl.cpp +179 -0
- package/ReactCommon/react/debug/redbox/JscSafeUrl.h +27 -0
- package/ReactCommon/react/debug/redbox/RedBoxErrorParser.cpp +171 -0
- package/ReactCommon/react/debug/redbox/RedBoxErrorParser.h +40 -0
- package/ReactCommon/react/debug/redbox/tests/AnsiParserTest.cpp +97 -0
- package/ReactCommon/react/debug/redbox/tests/JscSafeUrlTest.cpp +173 -0
- package/ReactCommon/react/debug/redbox/tests/RedBoxErrorParserTest.cpp +107 -0
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +21 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +26 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +140 -50
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +12 -2
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +21 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +46 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +6 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +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 +1 -0
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +26 -1
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +11 -1
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +4 -0
- package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +66 -0
- package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +18 -6
- package/ReactCommon/react/performance/timeline/PerformanceObserver.h +2 -0
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +115 -0
- package/ReactCommon/{jsinspector-modern → react/utils}/Base64.h +2 -2
- package/gradle/libs.versions.toml +1 -1
- package/package.json +10 -10
- package/scripts/cocoapods/utils.rb +1 -0
- package/scripts/react_native_pods.rb +1 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +26 -1
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +6 -1
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
- package/third-party-podspecs/RCT-Folly.podspec +1 -1
- package/third-party-podspecs/fmt.podspec +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/interfaces/TracingState.kt +0 -19
- package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.cpp +0 -68
- package/ReactCommon/jsinspector-modern/tracing/TraceRecordingStateSerializer.h +0 -42
- package/ReactCommon/jsinspector-modern/tracing/TracingState.h +0 -24
|
@@ -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<<bb24ce8764d7c7049e3fd211dcd70510>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -369,6 +369,15 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
|
|
|
369
369
|
return ReactNativeFeatureFlagsDefaults::enableModuleArgumentNSNullConversionIOS();
|
|
370
370
|
}
|
|
371
371
|
|
|
372
|
+
bool enableMutationObserverByDefault() override {
|
|
373
|
+
auto value = values_["enableMutationObserverByDefault"];
|
|
374
|
+
if (!value.isNull()) {
|
|
375
|
+
return value.getBool();
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
return ReactNativeFeatureFlagsDefaults::enableMutationObserverByDefault();
|
|
379
|
+
}
|
|
380
|
+
|
|
372
381
|
bool enableNativeCSSParsing() override {
|
|
373
382
|
auto value = values_["enableNativeCSSParsing"];
|
|
374
383
|
if (!value.isNull()) {
|
|
@@ -558,6 +567,15 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
|
|
|
558
567
|
return ReactNativeFeatureFlagsDefaults::fuseboxEnabledRelease();
|
|
559
568
|
}
|
|
560
569
|
|
|
570
|
+
bool fuseboxFrameRecordingEnabled() override {
|
|
571
|
+
auto value = values_["fuseboxFrameRecordingEnabled"];
|
|
572
|
+
if (!value.isNull()) {
|
|
573
|
+
return value.getBool();
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
return ReactNativeFeatureFlagsDefaults::fuseboxFrameRecordingEnabled();
|
|
577
|
+
}
|
|
578
|
+
|
|
561
579
|
bool fuseboxNetworkInspectionEnabled() override {
|
|
562
580
|
auto value = values_["fuseboxNetworkInspectionEnabled"];
|
|
563
581
|
if (!value.isNull()) {
|
|
@@ -567,6 +585,15 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
|
|
|
567
585
|
return ReactNativeFeatureFlagsDefaults::fuseboxNetworkInspectionEnabled();
|
|
568
586
|
}
|
|
569
587
|
|
|
588
|
+
bool fuseboxScreenshotCaptureEnabled() override {
|
|
589
|
+
auto value = values_["fuseboxScreenshotCaptureEnabled"];
|
|
590
|
+
if (!value.isNull()) {
|
|
591
|
+
return value.getBool();
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
return ReactNativeFeatureFlagsDefaults::fuseboxScreenshotCaptureEnabled();
|
|
595
|
+
}
|
|
596
|
+
|
|
570
597
|
bool hideOffscreenVirtualViewsOnIOS() override {
|
|
571
598
|
auto value = values_["hideOffscreenVirtualViewsOnIOS"];
|
|
572
599
|
if (!value.isNull()) {
|
|
@@ -621,6 +648,24 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
|
|
|
621
648
|
return ReactNativeFeatureFlagsDefaults::preventShadowTreeCommitExhaustion();
|
|
622
649
|
}
|
|
623
650
|
|
|
651
|
+
bool redBoxV2Android() override {
|
|
652
|
+
auto value = values_["redBoxV2Android"];
|
|
653
|
+
if (!value.isNull()) {
|
|
654
|
+
return value.getBool();
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
return ReactNativeFeatureFlagsDefaults::redBoxV2Android();
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
bool redBoxV2IOS() override {
|
|
661
|
+
auto value = values_["redBoxV2IOS"];
|
|
662
|
+
if (!value.isNull()) {
|
|
663
|
+
return value.getBool();
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
return ReactNativeFeatureFlagsDefaults::redBoxV2IOS();
|
|
667
|
+
}
|
|
668
|
+
|
|
624
669
|
bool shouldPressibilityUseW3CPointerEventsForHover() override {
|
|
625
670
|
auto value = values_["shouldPressibilityUseW3CPointerEventsForHover"];
|
|
626
671
|
if (!value.isNull()) {
|
|
@@ -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<<75595b7640dd5849fcd3c40a965582fe>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -61,6 +61,7 @@ class ReactNativeFeatureFlagsProvider {
|
|
|
61
61
|
virtual bool enableLayoutAnimationsOnIOS() = 0;
|
|
62
62
|
virtual bool enableMainQueueCoordinatorOnIOS() = 0;
|
|
63
63
|
virtual bool enableModuleArgumentNSNullConversionIOS() = 0;
|
|
64
|
+
virtual bool enableMutationObserverByDefault() = 0;
|
|
64
65
|
virtual bool enableNativeCSSParsing() = 0;
|
|
65
66
|
virtual bool enableNetworkEventReporting() = 0;
|
|
66
67
|
virtual bool enablePreparedTextLayout() = 0;
|
|
@@ -82,13 +83,17 @@ class ReactNativeFeatureFlagsProvider {
|
|
|
82
83
|
virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() = 0;
|
|
83
84
|
virtual bool fuseboxAssertSingleHostState() = 0;
|
|
84
85
|
virtual bool fuseboxEnabledRelease() = 0;
|
|
86
|
+
virtual bool fuseboxFrameRecordingEnabled() = 0;
|
|
85
87
|
virtual bool fuseboxNetworkInspectionEnabled() = 0;
|
|
88
|
+
virtual bool fuseboxScreenshotCaptureEnabled() = 0;
|
|
86
89
|
virtual bool hideOffscreenVirtualViewsOnIOS() = 0;
|
|
87
90
|
virtual bool overrideBySynchronousMountPropsAtMountingAndroid() = 0;
|
|
88
91
|
virtual bool perfIssuesEnabled() = 0;
|
|
89
92
|
virtual bool perfMonitorV2Enabled() = 0;
|
|
90
93
|
virtual double preparedTextCacheSize() = 0;
|
|
91
94
|
virtual bool preventShadowTreeCommitExhaustion() = 0;
|
|
95
|
+
virtual bool redBoxV2Android() = 0;
|
|
96
|
+
virtual bool redBoxV2IOS() = 0;
|
|
92
97
|
virtual bool shouldPressibilityUseW3CPointerEventsForHover() = 0;
|
|
93
98
|
virtual bool shouldTriggerResponderTransferOnScrollAndroid() = 0;
|
|
94
99
|
virtual bool skipActivityIdentityAssertionOnHostPause() = 0;
|
|
@@ -470,7 +470,9 @@ void ObjCTurboModule::performVoidMethodInvocation(
|
|
|
470
470
|
@try {
|
|
471
471
|
[inv invokeWithTarget:strongModule];
|
|
472
472
|
} @catch (NSException *exception) {
|
|
473
|
-
|
|
473
|
+
// Void methods are always async, re-throw instead of converting to
|
|
474
|
+
// JSError, same as the async branch in performMethodInvocation.
|
|
475
|
+
@throw exception;
|
|
474
476
|
} @finally {
|
|
475
477
|
[retainedObjectsForInvocation removeAllObjects];
|
|
476
478
|
}
|
|
@@ -22,6 +22,7 @@ target_link_libraries(react_nativemodule_defaults
|
|
|
22
22
|
react_nativemodule_microtasks
|
|
23
23
|
react_nativemodule_idlecallbacks
|
|
24
24
|
react_nativemodule_intersectionobserver
|
|
25
|
+
react_nativemodule_mutationobserver
|
|
25
26
|
react_nativemodule_webperformance
|
|
26
27
|
)
|
|
27
28
|
target_compile_reactnative_options(react_nativemodule_defaults PRIVATE)
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
#include <react/nativemodule/idlecallbacks/NativeIdleCallbacks.h>
|
|
13
13
|
#include <react/nativemodule/intersectionobserver/NativeIntersectionObserver.h>
|
|
14
14
|
#include <react/nativemodule/microtasks/NativeMicrotasks.h>
|
|
15
|
+
#include <react/nativemodule/mutationobserver/NativeMutationObserver.h>
|
|
15
16
|
#include <react/nativemodule/webperformance/NativePerformance.h>
|
|
16
17
|
|
|
17
18
|
#ifdef REACT_NATIVE_DEBUGGER_ENABLED_DEVONLY
|
|
@@ -51,6 +52,12 @@ namespace facebook::react {
|
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
54
|
|
|
55
|
+
if (ReactNativeFeatureFlags::enableMutationObserverByDefault()) {
|
|
56
|
+
if (name == NativeMutationObserver::kModuleName) {
|
|
57
|
+
return std::make_shared<NativeMutationObserver>(jsInvoker);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
54
61
|
#ifdef REACT_NATIVE_DEBUGGER_ENABLED_DEVONLY
|
|
55
62
|
if (name == DevToolsRuntimeSettingsModule::kModuleName) {
|
|
56
63
|
return std::make_shared<DevToolsRuntimeSettingsModule>(jsInvoker);
|
|
@@ -53,6 +53,7 @@ Pod::Spec.new do |s|
|
|
|
53
53
|
s.dependency "React-microtasksnativemodule"
|
|
54
54
|
s.dependency "React-idlecallbacksnativemodule"
|
|
55
55
|
s.dependency "React-intersectionobservernativemodule"
|
|
56
|
+
s.dependency "React-mutationobservernativemodule"
|
|
56
57
|
s.dependency "React-webperformancenativemodule"
|
|
57
58
|
add_dependency(s, "React-RCTFBReactNativeSpec")
|
|
58
59
|
add_dependency(s, "React-featureflags")
|
|
@@ -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<<d4e9743710d91c1287986f2dab260e10>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -224,6 +224,11 @@ bool NativeReactNativeFeatureFlags::enableModuleArgumentNSNullConversionIOS(
|
|
|
224
224
|
return ReactNativeFeatureFlags::enableModuleArgumentNSNullConversionIOS();
|
|
225
225
|
}
|
|
226
226
|
|
|
227
|
+
bool NativeReactNativeFeatureFlags::enableMutationObserverByDefault(
|
|
228
|
+
jsi::Runtime& /*runtime*/) {
|
|
229
|
+
return ReactNativeFeatureFlags::enableMutationObserverByDefault();
|
|
230
|
+
}
|
|
231
|
+
|
|
227
232
|
bool NativeReactNativeFeatureFlags::enableNativeCSSParsing(
|
|
228
233
|
jsi::Runtime& /*runtime*/) {
|
|
229
234
|
return ReactNativeFeatureFlags::enableNativeCSSParsing();
|
|
@@ -329,11 +334,21 @@ bool NativeReactNativeFeatureFlags::fuseboxEnabledRelease(
|
|
|
329
334
|
return ReactNativeFeatureFlags::fuseboxEnabledRelease();
|
|
330
335
|
}
|
|
331
336
|
|
|
337
|
+
bool NativeReactNativeFeatureFlags::fuseboxFrameRecordingEnabled(
|
|
338
|
+
jsi::Runtime& /*runtime*/) {
|
|
339
|
+
return ReactNativeFeatureFlags::fuseboxFrameRecordingEnabled();
|
|
340
|
+
}
|
|
341
|
+
|
|
332
342
|
bool NativeReactNativeFeatureFlags::fuseboxNetworkInspectionEnabled(
|
|
333
343
|
jsi::Runtime& /*runtime*/) {
|
|
334
344
|
return ReactNativeFeatureFlags::fuseboxNetworkInspectionEnabled();
|
|
335
345
|
}
|
|
336
346
|
|
|
347
|
+
bool NativeReactNativeFeatureFlags::fuseboxScreenshotCaptureEnabled(
|
|
348
|
+
jsi::Runtime& /*runtime*/) {
|
|
349
|
+
return ReactNativeFeatureFlags::fuseboxScreenshotCaptureEnabled();
|
|
350
|
+
}
|
|
351
|
+
|
|
337
352
|
bool NativeReactNativeFeatureFlags::hideOffscreenVirtualViewsOnIOS(
|
|
338
353
|
jsi::Runtime& /*runtime*/) {
|
|
339
354
|
return ReactNativeFeatureFlags::hideOffscreenVirtualViewsOnIOS();
|
|
@@ -364,6 +379,16 @@ bool NativeReactNativeFeatureFlags::preventShadowTreeCommitExhaustion(
|
|
|
364
379
|
return ReactNativeFeatureFlags::preventShadowTreeCommitExhaustion();
|
|
365
380
|
}
|
|
366
381
|
|
|
382
|
+
bool NativeReactNativeFeatureFlags::redBoxV2Android(
|
|
383
|
+
jsi::Runtime& /*runtime*/) {
|
|
384
|
+
return ReactNativeFeatureFlags::redBoxV2Android();
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
bool NativeReactNativeFeatureFlags::redBoxV2IOS(
|
|
388
|
+
jsi::Runtime& /*runtime*/) {
|
|
389
|
+
return ReactNativeFeatureFlags::redBoxV2IOS();
|
|
390
|
+
}
|
|
391
|
+
|
|
367
392
|
bool NativeReactNativeFeatureFlags::shouldPressibilityUseW3CPointerEventsForHover(
|
|
368
393
|
jsi::Runtime& /*runtime*/) {
|
|
369
394
|
return ReactNativeFeatureFlags::shouldPressibilityUseW3CPointerEventsForHover();
|
|
@@ -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<<1b5ca84f5d82d6861379191ed93d8b63>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -108,6 +108,8 @@ class NativeReactNativeFeatureFlags
|
|
|
108
108
|
|
|
109
109
|
bool enableModuleArgumentNSNullConversionIOS(jsi::Runtime& runtime);
|
|
110
110
|
|
|
111
|
+
bool enableMutationObserverByDefault(jsi::Runtime& runtime);
|
|
112
|
+
|
|
111
113
|
bool enableNativeCSSParsing(jsi::Runtime& runtime);
|
|
112
114
|
|
|
113
115
|
bool enableNetworkEventReporting(jsi::Runtime& runtime);
|
|
@@ -150,8 +152,12 @@ class NativeReactNativeFeatureFlags
|
|
|
150
152
|
|
|
151
153
|
bool fuseboxEnabledRelease(jsi::Runtime& runtime);
|
|
152
154
|
|
|
155
|
+
bool fuseboxFrameRecordingEnabled(jsi::Runtime& runtime);
|
|
156
|
+
|
|
153
157
|
bool fuseboxNetworkInspectionEnabled(jsi::Runtime& runtime);
|
|
154
158
|
|
|
159
|
+
bool fuseboxScreenshotCaptureEnabled(jsi::Runtime& runtime);
|
|
160
|
+
|
|
155
161
|
bool hideOffscreenVirtualViewsOnIOS(jsi::Runtime& runtime);
|
|
156
162
|
|
|
157
163
|
bool overrideBySynchronousMountPropsAtMountingAndroid(jsi::Runtime& runtime);
|
|
@@ -164,6 +170,10 @@ class NativeReactNativeFeatureFlags
|
|
|
164
170
|
|
|
165
171
|
bool preventShadowTreeCommitExhaustion(jsi::Runtime& runtime);
|
|
166
172
|
|
|
173
|
+
bool redBoxV2Android(jsi::Runtime& runtime);
|
|
174
|
+
|
|
175
|
+
bool redBoxV2IOS(jsi::Runtime& runtime);
|
|
176
|
+
|
|
167
177
|
bool shouldPressibilityUseW3CPointerEventsForHover(jsi::Runtime& runtime);
|
|
168
178
|
|
|
169
179
|
bool shouldTriggerResponderTransferOnScrollAndroid(jsi::Runtime& runtime);
|
|
@@ -7,7 +7,11 @@
|
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
9
9
|
|
|
10
|
+
#if __has_include("FBReactNativeSpecJSI.h") // CocoaPod headers on Apple
|
|
11
|
+
#include "FBReactNativeSpecJSI.h"
|
|
12
|
+
#else
|
|
10
13
|
#include <FBReactNativeSpec/FBReactNativeSpecJSI.h>
|
|
14
|
+
#endif
|
|
11
15
|
#include <react/renderer/bridging/bridging.h>
|
|
12
16
|
#include <react/renderer/observers/mutation/MutationObserverManager.h>
|
|
13
17
|
#include <react/renderer/uimanager/UIManager.h>
|
package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
#
|
|
3
|
+
# This source code is licensed under the MIT license found in the
|
|
4
|
+
# LICENSE file in the root directory of this source tree.
|
|
5
|
+
|
|
6
|
+
require "json"
|
|
7
|
+
|
|
8
|
+
package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "..", "package.json")))
|
|
9
|
+
version = package['version']
|
|
10
|
+
|
|
11
|
+
source = { :git => 'https://github.com/facebook/react-native.git' }
|
|
12
|
+
if version == '1000.0.0'
|
|
13
|
+
# This is an unpublished version, use the latest commit hash of the react-native repo, which we're presumably in.
|
|
14
|
+
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
15
|
+
else
|
|
16
|
+
source[:tag] = "v#{version}"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
header_search_paths = [
|
|
20
|
+
"\"$(PODS_ROOT)/Headers/Private/Yoga\"",
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
if ENV['USE_FRAMEWORKS']
|
|
24
|
+
header_search_paths << "\"$(PODS_TARGET_SRCROOT)/../../..\"" # this is needed to allow the module access its own files
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
Pod::Spec.new do |s|
|
|
28
|
+
s.name = "React-mutationobservernativemodule"
|
|
29
|
+
s.version = version
|
|
30
|
+
s.summary = "React Native mutation observer native module"
|
|
31
|
+
s.homepage = "https://reactnative.dev/"
|
|
32
|
+
s.license = package["license"]
|
|
33
|
+
s.author = "Meta Platforms, Inc. and its affiliates"
|
|
34
|
+
s.platforms = min_supported_versions
|
|
35
|
+
s.source = source
|
|
36
|
+
s.source_files = podspec_sources("*.{cpp,h}", "*.h")
|
|
37
|
+
s.header_dir = "react/nativemodule/mutationobserver"
|
|
38
|
+
s.pod_target_xcconfig = { "CLANG_CXX_LANGUAGE_STANDARD" => rct_cxx_language_standard(),
|
|
39
|
+
"HEADER_SEARCH_PATHS" => header_search_paths.join(' '),
|
|
40
|
+
"OTHER_CFLAGS" => "$(inherited)",
|
|
41
|
+
"DEFINES_MODULE" => "YES" }
|
|
42
|
+
|
|
43
|
+
if ENV['USE_FRAMEWORKS']
|
|
44
|
+
s.module_name = "mutationobservernativemodule"
|
|
45
|
+
s.header_mappings_dir = "../.."
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
s.dependency "Yoga"
|
|
49
|
+
s.dependency "React-jsi"
|
|
50
|
+
s.dependency "React-jsiexecutor"
|
|
51
|
+
s.dependency "React-cxxreact"
|
|
52
|
+
|
|
53
|
+
depend_on_js_engine(s)
|
|
54
|
+
add_rn_third_party_dependencies(s)
|
|
55
|
+
add_rncore_dependency(s)
|
|
56
|
+
|
|
57
|
+
s.dependency "ReactCommon/turbomodule/core"
|
|
58
|
+
|
|
59
|
+
s.dependency "React-Fabric"
|
|
60
|
+
s.dependency "React-Fabric/bridging"
|
|
61
|
+
s.dependency "React-Fabric/observers/mutation"
|
|
62
|
+
s.dependency "React-featureflags"
|
|
63
|
+
add_dependency(s, "React-RCTFBReactNativeSpec")
|
|
64
|
+
add_dependency(s, "React-runtimeexecutor", :additional_framework_paths => ["platform/ios"])
|
|
65
|
+
|
|
66
|
+
end
|
|
@@ -25,16 +25,21 @@ void PerformanceObserver::handleEntry(const PerformanceEntry& entry) {
|
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
{
|
|
29
|
+
std::lock_guard lock(bufferMutex_);
|
|
30
|
+
buffer_.push_back(entry);
|
|
31
|
+
}
|
|
29
32
|
scheduleFlushBuffer();
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
35
|
|
|
33
36
|
std::vector<PerformanceEntry> PerformanceObserver::takeRecords() {
|
|
34
37
|
std::vector<PerformanceEntry> result;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
{
|
|
39
|
+
std::lock_guard lock(bufferMutex_);
|
|
40
|
+
buffer_.swap(result);
|
|
41
|
+
didScheduleFlushBuffer_ = false;
|
|
42
|
+
}
|
|
38
43
|
|
|
39
44
|
return result;
|
|
40
45
|
}
|
|
@@ -87,9 +92,16 @@ void PerformanceObserver::disconnect() noexcept {
|
|
|
87
92
|
}
|
|
88
93
|
|
|
89
94
|
void PerformanceObserver::scheduleFlushBuffer() {
|
|
90
|
-
|
|
91
|
-
|
|
95
|
+
bool shouldSchedule = false;
|
|
96
|
+
{
|
|
97
|
+
std::lock_guard lock(bufferMutex_);
|
|
98
|
+
if (!didScheduleFlushBuffer_) {
|
|
99
|
+
didScheduleFlushBuffer_ = true;
|
|
100
|
+
shouldSchedule = true;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
92
103
|
|
|
104
|
+
if (shouldSchedule) {
|
|
93
105
|
callback_();
|
|
94
106
|
}
|
|
95
107
|
}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
#include <functional>
|
|
16
16
|
#include <memory>
|
|
17
|
+
#include <mutex>
|
|
17
18
|
#include <unordered_set>
|
|
18
19
|
#include <vector>
|
|
19
20
|
|
|
@@ -126,6 +127,7 @@ class PerformanceObserver : public std::enable_shared_from_this<PerformanceObser
|
|
|
126
127
|
|
|
127
128
|
/// https://www.w3.org/TR/event-timing/#sec-modifications-perf-timeline
|
|
128
129
|
HighResDuration durationThreshold_ = DEFAULT_DURATION_THRESHOLD;
|
|
130
|
+
std::mutex bufferMutex_;
|
|
129
131
|
std::vector<PerformanceEntry> buffer_;
|
|
130
132
|
bool didScheduleFlushBuffer_ = false;
|
|
131
133
|
bool requiresDroppedEntries_ = false;
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
#import <React/RCTConvert.h>
|
|
14
14
|
#import <React/RCTDevMenu.h>
|
|
15
15
|
#import <React/RCTFabricSurface.h>
|
|
16
|
+
#import <React/RCTFrameTimingsObserver.h>
|
|
16
17
|
#import <React/RCTInspectorDevServerHelper.h>
|
|
17
18
|
#import <React/RCTInspectorNetworkHelper.h>
|
|
18
19
|
#import <React/RCTInspectorUtils.h>
|
|
@@ -37,12 +38,52 @@ using namespace facebook::react;
|
|
|
37
38
|
@property (nonatomic, readonly) jsinspector_modern::HostTarget *inspectorTarget;
|
|
38
39
|
@end
|
|
39
40
|
|
|
41
|
+
#if TARGET_OS_IPHONE && defined(REACT_NATIVE_DEBUGGER_ENABLED)
|
|
42
|
+
class RCTHostTracingDelegate : public jsinspector_modern::HostTargetTracingDelegate {
|
|
43
|
+
public:
|
|
44
|
+
explicit RCTHostTracingDelegate(RCTHost *host) : host_(host) {}
|
|
45
|
+
|
|
46
|
+
void onTracingStarted(jsinspector_modern::tracing::Mode /*tracingMode*/, bool screenshotsCategoryEnabled) override
|
|
47
|
+
{
|
|
48
|
+
RCTHost *host = host_;
|
|
49
|
+
if (host == nil || host.inspectorTarget == nullptr) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
__weak RCTHost *weakHost = host;
|
|
53
|
+
|
|
54
|
+
observer_ = [[RCTFrameTimingsObserver alloc]
|
|
55
|
+
initWithScreenshotsEnabled:screenshotsCategoryEnabled
|
|
56
|
+
callback:^(jsinspector_modern::tracing::FrameTimingSequence sequence) {
|
|
57
|
+
RCTHost *strongHost = weakHost;
|
|
58
|
+
if (strongHost != nil && strongHost.inspectorTarget != nullptr) {
|
|
59
|
+
strongHost.inspectorTarget->recordFrameTimings(std::move(sequence));
|
|
60
|
+
}
|
|
61
|
+
}];
|
|
62
|
+
[observer_ start];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
void onTracingStopped() override
|
|
66
|
+
{
|
|
67
|
+
[observer_ stop];
|
|
68
|
+
observer_ = nil;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
private:
|
|
72
|
+
__weak RCTHost *host_;
|
|
73
|
+
RCTFrameTimingsObserver *observer_{nil};
|
|
74
|
+
};
|
|
75
|
+
#endif
|
|
76
|
+
|
|
40
77
|
class RCTHostHostTargetDelegate : public facebook::react::jsinspector_modern::HostTargetDelegate {
|
|
41
78
|
public:
|
|
42
79
|
RCTHostHostTargetDelegate(RCTHost *host)
|
|
43
80
|
: host_(host),
|
|
44
81
|
pauseOverlayController_([[RCTPausedInDebuggerOverlayController alloc] init]),
|
|
45
82
|
networkHelper_([[RCTInspectorNetworkHelper alloc] init])
|
|
83
|
+
#if TARGET_OS_IPHONE && defined(REACT_NATIVE_DEBUGGER_ENABLED)
|
|
84
|
+
,
|
|
85
|
+
tracingDelegate_(host)
|
|
86
|
+
#endif
|
|
46
87
|
{
|
|
47
88
|
}
|
|
48
89
|
|
|
@@ -100,10 +141,84 @@ class RCTHostHostTargetDelegate : public facebook::react::jsinspector_modern::Ho
|
|
|
100
141
|
[networkHelper_ loadNetworkResourceWithParams:params executor:executor];
|
|
101
142
|
}
|
|
102
143
|
|
|
144
|
+
#if TARGET_OS_IPHONE && defined(REACT_NATIVE_DEBUGGER_ENABLED)
|
|
145
|
+
std::optional<std::string> captureScreenshot(const PageCaptureScreenshotRequest &request) override
|
|
146
|
+
{
|
|
147
|
+
UIWindow *keyWindow = nil;
|
|
148
|
+
for (UIScene *scene in UIApplication.sharedApplication.connectedScenes) {
|
|
149
|
+
if (scene.activationState == UISceneActivationStateForegroundActive &&
|
|
150
|
+
[scene isKindOfClass:[UIWindowScene class]]) {
|
|
151
|
+
auto *windowScene = (UIWindowScene *)scene;
|
|
152
|
+
for (UIWindow *win in windowScene.windows) {
|
|
153
|
+
if (win.isKeyWindow) {
|
|
154
|
+
keyWindow = win;
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (keyWindow != nil) {
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
if (keyWindow == nil) {
|
|
165
|
+
return std::nullopt;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
UIView *rootView = keyWindow.rootViewController.view != nil ? keyWindow.rootViewController.view : keyWindow;
|
|
169
|
+
CGSize viewSize = rootView.bounds.size;
|
|
170
|
+
|
|
171
|
+
UIGraphicsImageRendererFormat *format = [UIGraphicsImageRendererFormat defaultFormat];
|
|
172
|
+
format.scale = 1.0;
|
|
173
|
+
UIGraphicsImageRenderer *renderer = [[UIGraphicsImageRenderer alloc] initWithSize:viewSize format:format];
|
|
174
|
+
|
|
175
|
+
UIImage *image = [renderer imageWithActions:^(UIGraphicsImageRendererContext *context) {
|
|
176
|
+
[rootView drawViewHierarchyInRect:CGRectMake(0, 0, viewSize.width, viewSize.height) afterScreenUpdates:NO];
|
|
177
|
+
}];
|
|
178
|
+
|
|
179
|
+
if (image == nil) {
|
|
180
|
+
return std::nullopt;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
NSData *encodedData = nil;
|
|
184
|
+
std::string formatStr = request.format.value_or("png");
|
|
185
|
+
|
|
186
|
+
if (formatStr == "jpeg") {
|
|
187
|
+
CGFloat quality = request.quality.has_value() ? (*request.quality / 100.0) : 0.8;
|
|
188
|
+
encodedData = UIImageJPEGRepresentation(image, quality);
|
|
189
|
+
} else {
|
|
190
|
+
// Default to PNG for "png" and "webp" (WebP encoding not available via UIKit)
|
|
191
|
+
encodedData = UIImagePNGRepresentation(image);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
if (encodedData == nil) {
|
|
195
|
+
return std::nullopt;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
NSString *base64String = [encodedData base64EncodedStringWithOptions:0];
|
|
199
|
+
return std::string([base64String UTF8String]);
|
|
200
|
+
}
|
|
201
|
+
#endif
|
|
202
|
+
|
|
203
|
+
#if TARGET_OS_IPHONE && defined(REACT_NATIVE_DEBUGGER_ENABLED)
|
|
204
|
+
jsinspector_modern::HostTargetTracingDelegate *getTracingDelegate() override
|
|
205
|
+
{
|
|
206
|
+
auto &inspectorFlags = jsinspector_modern::InspectorFlags::getInstance();
|
|
207
|
+
if (!inspectorFlags.getFrameRecordingEnabled()) {
|
|
208
|
+
return nullptr;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
return &tracingDelegate_;
|
|
212
|
+
}
|
|
213
|
+
#endif
|
|
214
|
+
|
|
103
215
|
private:
|
|
104
216
|
__weak RCTHost *host_;
|
|
105
217
|
RCTPausedInDebuggerOverlayController *pauseOverlayController_;
|
|
106
218
|
RCTInspectorNetworkHelper *networkHelper_;
|
|
219
|
+
#if TARGET_OS_IPHONE && defined(REACT_NATIVE_DEBUGGER_ENABLED)
|
|
220
|
+
RCTHostTracingDelegate tracingDelegate_;
|
|
221
|
+
#endif
|
|
107
222
|
};
|
|
108
223
|
|
|
109
224
|
@implementation RCTHost {
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
#include <string>
|
|
11
11
|
#include <string_view>
|
|
12
12
|
|
|
13
|
-
namespace facebook::react
|
|
13
|
+
namespace facebook::react {
|
|
14
14
|
|
|
15
15
|
namespace {
|
|
16
16
|
// Vendored from Folly
|
|
@@ -96,4 +96,4 @@ inline std::string base64Encode(const std::string_view s)
|
|
|
96
96
|
return res;
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
} // namespace facebook::react
|
|
99
|
+
} // namespace facebook::react
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-tvos",
|
|
3
|
-
"version": "0.83.
|
|
3
|
+
"version": "0.83.9-0",
|
|
4
4
|
"description": "A framework for building native apps using React",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -165,12 +165,12 @@
|
|
|
165
165
|
},
|
|
166
166
|
"dependencies": {
|
|
167
167
|
"@jest/create-cache-key-function": "^29.7.0",
|
|
168
|
-
"@react-native/assets-registry": "0.83.
|
|
169
|
-
"@react-native/codegen": "0.83.
|
|
170
|
-
"@react-native/community-cli-plugin": "0.83.
|
|
171
|
-
"@react-native/gradle-plugin": "0.83.
|
|
172
|
-
"@react-native/js-polyfills": "0.83.
|
|
173
|
-
"@react-native/normalize-colors": "0.83.
|
|
168
|
+
"@react-native/assets-registry": "0.83.9",
|
|
169
|
+
"@react-native/codegen": "0.83.9",
|
|
170
|
+
"@react-native/community-cli-plugin": "0.83.9",
|
|
171
|
+
"@react-native/gradle-plugin": "0.83.9",
|
|
172
|
+
"@react-native/js-polyfills": "0.83.9",
|
|
173
|
+
"@react-native/normalize-colors": "0.83.9",
|
|
174
174
|
"abort-controller": "^3.0.0",
|
|
175
175
|
"anser": "^1.4.9",
|
|
176
176
|
"ansi-regex": "^5.0.0",
|
|
@@ -184,8 +184,8 @@
|
|
|
184
184
|
"invariant": "^2.2.4",
|
|
185
185
|
"jest-environment-node": "^29.7.0",
|
|
186
186
|
"memoize-one": "^5.0.0",
|
|
187
|
-
"metro-runtime": "^0.83.
|
|
188
|
-
"metro-source-map": "^0.83.
|
|
187
|
+
"metro-runtime": "^0.83.6",
|
|
188
|
+
"metro-source-map": "^0.83.6",
|
|
189
189
|
"nullthrows": "^1.1.1",
|
|
190
190
|
"pretty-format": "^29.7.0",
|
|
191
191
|
"promise": "^8.3.0",
|
|
@@ -198,7 +198,7 @@
|
|
|
198
198
|
"whatwg-fetch": "^3.0.0",
|
|
199
199
|
"ws": "^7.5.10",
|
|
200
200
|
"yargs": "^17.6.2",
|
|
201
|
-
"@react-native-tvos/virtualized-lists": "0.83.
|
|
201
|
+
"@react-native-tvos/virtualized-lists": "0.83.9-0"
|
|
202
202
|
},
|
|
203
203
|
"codegenConfig": {
|
|
204
204
|
"libraries": [
|
|
@@ -61,6 +61,7 @@ class ReactNativePodsUtils
|
|
|
61
61
|
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "REACT_NATIVE_DEBUGGER_ENABLED=1", "React-jsinspectornetwork", :debug)
|
|
62
62
|
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "REACT_NATIVE_DEBUGGER_ENABLED=1", "React-RCTNetwork", :debug)
|
|
63
63
|
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "REACT_NATIVE_DEBUGGER_ENABLED=1", "React-networking", :debug)
|
|
64
|
+
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "REACT_NATIVE_DEBUGGER_ENABLED=1", "React-RuntimeApple", :debug)
|
|
64
65
|
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "REACT_NATIVE_DEBUGGER_ENABLED_DEVONLY=1", "React-jsinspector", :debug)
|
|
65
66
|
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "REACT_NATIVE_DEBUGGER_ENABLED_DEVONLY=1", "React-jsinspectornetwork", :debug)
|
|
66
67
|
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "REACT_NATIVE_DEBUGGER_ENABLED_DEVONLY=1", "React-RCTNetwork", :debug)
|
|
@@ -145,6 +145,7 @@ def use_react_native! (
|
|
|
145
145
|
pod 'React-microtasksnativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/microtasks"
|
|
146
146
|
pod 'React-idlecallbacksnativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/idlecallbacks"
|
|
147
147
|
pod 'React-intersectionobservernativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/intersectionobserver"
|
|
148
|
+
pod 'React-mutationobservernativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/mutationobserver"
|
|
148
149
|
pod 'React-webperformancenativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/webperformance"
|
|
149
150
|
pod 'React-domnativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/dom"
|
|
150
151
|
pod 'React-defaultsnativemodule', :path => "#{prefix}/ReactCommon/react/nativemodule/defaults"
|