react-native 0.85.2 → 0.85.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/Libraries/Core/ReactNativeVersion.js +1 -1
  2. package/Libraries/Utilities/HMRClient.js +28 -1
  3. package/React/Base/RCTVersion.m +1 -1
  4. package/React/CoreModules/RCTJscSafeUrl+Internal.h +23 -0
  5. package/React/CoreModules/RCTJscSafeUrl.mm +38 -0
  6. package/React/CoreModules/RCTRedBox+Internal.h +42 -0
  7. package/React/CoreModules/RCTRedBox.mm +30 -454
  8. package/React/CoreModules/RCTRedBox2AnsiParser+Internal.h +22 -0
  9. package/React/CoreModules/RCTRedBox2AnsiParser.mm +55 -0
  10. package/React/CoreModules/RCTRedBox2Controller+Internal.h +34 -0
  11. package/React/CoreModules/RCTRedBox2Controller.mm +764 -0
  12. package/React/CoreModules/RCTRedBox2ErrorParser+Internal.h +46 -0
  13. package/React/CoreModules/RCTRedBox2ErrorParser.mm +57 -0
  14. package/React/CoreModules/RCTRedBoxController+Internal.h +31 -0
  15. package/React/CoreModules/RCTRedBoxController.mm +447 -0
  16. package/React/CoreModules/RCTRedBoxHMRClient+Internal.h +26 -0
  17. package/React/CoreModules/RCTRedBoxHMRClient.mm +125 -0
  18. package/React/CoreModules/React-CoreModules.podspec +1 -0
  19. package/React/DevSupport/RCTFrameTimingsObserver.h +24 -0
  20. package/React/DevSupport/RCTFrameTimingsObserver.mm +298 -0
  21. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +40 -0
  22. package/ReactAndroid/gradle.properties +1 -1
  23. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +4 -0
  24. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingSequence.kt +1 -1
  25. package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +127 -26
  26. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +31 -1
  27. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +51 -1
  28. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +11 -1
  29. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +11 -1
  30. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +56 -1
  31. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +11 -1
  32. package/ReactAndroid/src/main/java/com/facebook/react/internal/tracing/PerformanceTracer.kt +39 -0
  33. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  34. package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +50 -10
  35. package/ReactAndroid/src/main/jni/CMakeLists.txt +7 -0
  36. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +22 -0
  37. package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +2 -0
  38. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +71 -1
  39. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +16 -1
  40. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.cpp +14 -0
  41. package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +18 -4
  42. package/ReactCommon/React-Fabric.podspec +6 -0
  43. package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
  44. package/ReactCommon/jsinspector-modern/HostAgent.cpp +36 -0
  45. package/ReactCommon/jsinspector-modern/HostTarget.cpp +7 -1
  46. package/ReactCommon/jsinspector-modern/HostTarget.h +25 -0
  47. package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +1 -1
  48. package/ReactCommon/jsinspector-modern/HostTargetTracing.h +4 -4
  49. package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +12 -0
  50. package/ReactCommon/jsinspector-modern/InspectorFlags.h +12 -0
  51. package/ReactCommon/jsinspector-modern/NetworkIOAgent.cpp +1 -1
  52. package/ReactCommon/jsinspector-modern/RuntimeAgent.cpp +19 -0
  53. package/ReactCommon/jsinspector-modern/RuntimeAgent.h +7 -0
  54. package/ReactCommon/jsinspector-modern/RuntimeTarget.cpp +33 -0
  55. package/ReactCommon/jsinspector-modern/RuntimeTarget.h +6 -0
  56. package/ReactCommon/jsinspector-modern/tests/HostTargetTest.cpp +12 -0
  57. package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +3 -2
  58. package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +1 -0
  59. package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +1 -1
  60. package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +1 -1
  61. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +10 -0
  62. package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +3 -1
  63. package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +1 -0
  64. package/ReactCommon/jsinspector-modern/tracing/FrameTimingSequence.h +7 -3
  65. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +52 -29
  66. package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.h +6 -6
  67. package/ReactCommon/jsinspector-modern/tracing/PerformanceTracerSection.h +113 -0
  68. package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -0
  69. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +12 -5
  70. package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +3 -1
  71. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +42 -0
  72. package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +7 -0
  73. package/ReactCommon/react/debug/CMakeLists.txt +2 -1
  74. package/ReactCommon/react/debug/React-debug.podspec +7 -1
  75. package/ReactCommon/react/debug/redbox/AnsiParser.cpp +139 -0
  76. package/ReactCommon/react/debug/redbox/AnsiParser.h +35 -0
  77. package/ReactCommon/react/debug/redbox/JscSafeUrl.cpp +179 -0
  78. package/ReactCommon/react/debug/redbox/JscSafeUrl.h +27 -0
  79. package/ReactCommon/react/debug/redbox/RedBoxErrorParser.cpp +171 -0
  80. package/ReactCommon/react/debug/redbox/RedBoxErrorParser.h +40 -0
  81. package/ReactCommon/react/debug/redbox/tests/AnsiParserTest.cpp +97 -0
  82. package/ReactCommon/react/debug/redbox/tests/JscSafeUrlTest.cpp +173 -0
  83. package/ReactCommon/react/debug/redbox/tests/RedBoxErrorParserTest.cpp +107 -0
  84. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +21 -1
  85. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +26 -1
  86. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +135 -45
  87. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +12 -2
  88. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +21 -1
  89. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +46 -1
  90. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +6 -1
  91. package/ReactCommon/react/nativemodule/defaults/CMakeLists.txt +1 -0
  92. package/ReactCommon/react/nativemodule/defaults/DefaultTurboModules.cpp +7 -0
  93. package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -0
  94. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +26 -1
  95. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +11 -1
  96. package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.h +4 -0
  97. package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +66 -0
  98. package/ReactCommon/react/performance/timeline/PerformanceObserver.cpp +18 -6
  99. package/ReactCommon/react/performance/timeline/PerformanceObserver.h +2 -0
  100. package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +115 -0
  101. package/ReactCommon/{jsinspector-modern → react/utils}/Base64.h +2 -2
  102. package/package.json +11 -11
  103. package/scripts/cocoapods/utils.rb +1 -0
  104. package/scripts/react_native_pods.rb +1 -0
  105. package/scripts/replace-rncore-version.js +72 -15
  106. package/src/private/featureflags/ReactNativeFeatureFlags.js +26 -1
  107. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +6 -1
  108. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
@@ -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<<3dd9492ca660ad6350ce6ee4a9b5e310>>
7
+ * @generated SignedSource<<61daa410919263fa5be9b9801ccbd218>>
8
8
  */
9
9
 
10
10
  /**
@@ -767,6 +767,24 @@ bool ReactNativeFeatureFlagsAccessor::enableModuleArgumentNSNullConversionIOS()
767
767
  return flagValue.value();
768
768
  }
769
769
 
770
+ bool ReactNativeFeatureFlagsAccessor::enableMutationObserverByDefault() {
771
+ auto flagValue = enableMutationObserverByDefault_.load();
772
+
773
+ if (!flagValue.has_value()) {
774
+ // This block is not exclusive but it is not necessary.
775
+ // If multiple threads try to initialize the feature flag, we would only
776
+ // be accessing the provider multiple times but the end state of this
777
+ // instance and the returned flag value would be the same.
778
+
779
+ markFlagAsAccessed(41, "enableMutationObserverByDefault");
780
+
781
+ flagValue = currentProvider_->enableMutationObserverByDefault();
782
+ enableMutationObserverByDefault_ = flagValue;
783
+ }
784
+
785
+ return flagValue.value();
786
+ }
787
+
770
788
  bool ReactNativeFeatureFlagsAccessor::enableNativeCSSParsing() {
771
789
  auto flagValue = enableNativeCSSParsing_.load();
772
790
 
@@ -776,7 +794,7 @@ bool ReactNativeFeatureFlagsAccessor::enableNativeCSSParsing() {
776
794
  // be accessing the provider multiple times but the end state of this
777
795
  // instance and the returned flag value would be the same.
778
796
 
779
- markFlagAsAccessed(41, "enableNativeCSSParsing");
797
+ markFlagAsAccessed(42, "enableNativeCSSParsing");
780
798
 
781
799
  flagValue = currentProvider_->enableNativeCSSParsing();
782
800
  enableNativeCSSParsing_ = flagValue;
@@ -794,7 +812,7 @@ bool ReactNativeFeatureFlagsAccessor::enableNetworkEventReporting() {
794
812
  // be accessing the provider multiple times but the end state of this
795
813
  // instance and the returned flag value would be the same.
796
814
 
797
- markFlagAsAccessed(42, "enableNetworkEventReporting");
815
+ markFlagAsAccessed(43, "enableNetworkEventReporting");
798
816
 
799
817
  flagValue = currentProvider_->enableNetworkEventReporting();
800
818
  enableNetworkEventReporting_ = flagValue;
@@ -812,7 +830,7 @@ bool ReactNativeFeatureFlagsAccessor::enablePreparedTextLayout() {
812
830
  // be accessing the provider multiple times but the end state of this
813
831
  // instance and the returned flag value would be the same.
814
832
 
815
- markFlagAsAccessed(43, "enablePreparedTextLayout");
833
+ markFlagAsAccessed(44, "enablePreparedTextLayout");
816
834
 
817
835
  flagValue = currentProvider_->enablePreparedTextLayout();
818
836
  enablePreparedTextLayout_ = flagValue;
@@ -830,7 +848,7 @@ bool ReactNativeFeatureFlagsAccessor::enablePropsUpdateReconciliationAndroid() {
830
848
  // be accessing the provider multiple times but the end state of this
831
849
  // instance and the returned flag value would be the same.
832
850
 
833
- markFlagAsAccessed(44, "enablePropsUpdateReconciliationAndroid");
851
+ markFlagAsAccessed(45, "enablePropsUpdateReconciliationAndroid");
834
852
 
835
853
  flagValue = currentProvider_->enablePropsUpdateReconciliationAndroid();
836
854
  enablePropsUpdateReconciliationAndroid_ = flagValue;
@@ -848,7 +866,7 @@ bool ReactNativeFeatureFlagsAccessor::enableSwiftUIBasedFilters() {
848
866
  // be accessing the provider multiple times but the end state of this
849
867
  // instance and the returned flag value would be the same.
850
868
 
851
- markFlagAsAccessed(45, "enableSwiftUIBasedFilters");
869
+ markFlagAsAccessed(46, "enableSwiftUIBasedFilters");
852
870
 
853
871
  flagValue = currentProvider_->enableSwiftUIBasedFilters();
854
872
  enableSwiftUIBasedFilters_ = flagValue;
@@ -866,7 +884,7 @@ bool ReactNativeFeatureFlagsAccessor::enableViewCulling() {
866
884
  // be accessing the provider multiple times but the end state of this
867
885
  // instance and the returned flag value would be the same.
868
886
 
869
- markFlagAsAccessed(46, "enableViewCulling");
887
+ markFlagAsAccessed(47, "enableViewCulling");
870
888
 
871
889
  flagValue = currentProvider_->enableViewCulling();
872
890
  enableViewCulling_ = flagValue;
@@ -884,7 +902,7 @@ bool ReactNativeFeatureFlagsAccessor::enableViewRecycling() {
884
902
  // be accessing the provider multiple times but the end state of this
885
903
  // instance and the returned flag value would be the same.
886
904
 
887
- markFlagAsAccessed(47, "enableViewRecycling");
905
+ markFlagAsAccessed(48, "enableViewRecycling");
888
906
 
889
907
  flagValue = currentProvider_->enableViewRecycling();
890
908
  enableViewRecycling_ = flagValue;
@@ -902,7 +920,7 @@ bool ReactNativeFeatureFlagsAccessor::enableViewRecyclingForImage() {
902
920
  // be accessing the provider multiple times but the end state of this
903
921
  // instance and the returned flag value would be the same.
904
922
 
905
- markFlagAsAccessed(48, "enableViewRecyclingForImage");
923
+ markFlagAsAccessed(49, "enableViewRecyclingForImage");
906
924
 
907
925
  flagValue = currentProvider_->enableViewRecyclingForImage();
908
926
  enableViewRecyclingForImage_ = flagValue;
@@ -920,7 +938,7 @@ bool ReactNativeFeatureFlagsAccessor::enableViewRecyclingForScrollView() {
920
938
  // be accessing the provider multiple times but the end state of this
921
939
  // instance and the returned flag value would be the same.
922
940
 
923
- markFlagAsAccessed(49, "enableViewRecyclingForScrollView");
941
+ markFlagAsAccessed(50, "enableViewRecyclingForScrollView");
924
942
 
925
943
  flagValue = currentProvider_->enableViewRecyclingForScrollView();
926
944
  enableViewRecyclingForScrollView_ = flagValue;
@@ -938,7 +956,7 @@ bool ReactNativeFeatureFlagsAccessor::enableViewRecyclingForText() {
938
956
  // be accessing the provider multiple times but the end state of this
939
957
  // instance and the returned flag value would be the same.
940
958
 
941
- markFlagAsAccessed(50, "enableViewRecyclingForText");
959
+ markFlagAsAccessed(51, "enableViewRecyclingForText");
942
960
 
943
961
  flagValue = currentProvider_->enableViewRecyclingForText();
944
962
  enableViewRecyclingForText_ = flagValue;
@@ -956,7 +974,7 @@ bool ReactNativeFeatureFlagsAccessor::enableViewRecyclingForView() {
956
974
  // be accessing the provider multiple times but the end state of this
957
975
  // instance and the returned flag value would be the same.
958
976
 
959
- markFlagAsAccessed(51, "enableViewRecyclingForView");
977
+ markFlagAsAccessed(52, "enableViewRecyclingForView");
960
978
 
961
979
  flagValue = currentProvider_->enableViewRecyclingForView();
962
980
  enableViewRecyclingForView_ = flagValue;
@@ -974,7 +992,7 @@ bool ReactNativeFeatureFlagsAccessor::enableVirtualViewContainerStateExperimenta
974
992
  // be accessing the provider multiple times but the end state of this
975
993
  // instance and the returned flag value would be the same.
976
994
 
977
- markFlagAsAccessed(52, "enableVirtualViewContainerStateExperimental");
995
+ markFlagAsAccessed(53, "enableVirtualViewContainerStateExperimental");
978
996
 
979
997
  flagValue = currentProvider_->enableVirtualViewContainerStateExperimental();
980
998
  enableVirtualViewContainerStateExperimental_ = flagValue;
@@ -992,7 +1010,7 @@ bool ReactNativeFeatureFlagsAccessor::enableVirtualViewDebugFeatures() {
992
1010
  // be accessing the provider multiple times but the end state of this
993
1011
  // instance and the returned flag value would be the same.
994
1012
 
995
- markFlagAsAccessed(53, "enableVirtualViewDebugFeatures");
1013
+ markFlagAsAccessed(54, "enableVirtualViewDebugFeatures");
996
1014
 
997
1015
  flagValue = currentProvider_->enableVirtualViewDebugFeatures();
998
1016
  enableVirtualViewDebugFeatures_ = flagValue;
@@ -1010,7 +1028,7 @@ bool ReactNativeFeatureFlagsAccessor::fixFindShadowNodeByTagRaceCondition() {
1010
1028
  // be accessing the provider multiple times but the end state of this
1011
1029
  // instance and the returned flag value would be the same.
1012
1030
 
1013
- markFlagAsAccessed(54, "fixFindShadowNodeByTagRaceCondition");
1031
+ markFlagAsAccessed(55, "fixFindShadowNodeByTagRaceCondition");
1014
1032
 
1015
1033
  flagValue = currentProvider_->fixFindShadowNodeByTagRaceCondition();
1016
1034
  fixFindShadowNodeByTagRaceCondition_ = flagValue;
@@ -1028,7 +1046,7 @@ bool ReactNativeFeatureFlagsAccessor::fixMappingOfEventPrioritiesBetweenFabricAn
1028
1046
  // be accessing the provider multiple times but the end state of this
1029
1047
  // instance and the returned flag value would be the same.
1030
1048
 
1031
- markFlagAsAccessed(55, "fixMappingOfEventPrioritiesBetweenFabricAndReact");
1049
+ markFlagAsAccessed(56, "fixMappingOfEventPrioritiesBetweenFabricAndReact");
1032
1050
 
1033
1051
  flagValue = currentProvider_->fixMappingOfEventPrioritiesBetweenFabricAndReact();
1034
1052
  fixMappingOfEventPrioritiesBetweenFabricAndReact_ = flagValue;
@@ -1046,7 +1064,7 @@ bool ReactNativeFeatureFlagsAccessor::fixTextClippingAndroid15useBoundsForWidth(
1046
1064
  // be accessing the provider multiple times but the end state of this
1047
1065
  // instance and the returned flag value would be the same.
1048
1066
 
1049
- markFlagAsAccessed(56, "fixTextClippingAndroid15useBoundsForWidth");
1067
+ markFlagAsAccessed(57, "fixTextClippingAndroid15useBoundsForWidth");
1050
1068
 
1051
1069
  flagValue = currentProvider_->fixTextClippingAndroid15useBoundsForWidth();
1052
1070
  fixTextClippingAndroid15useBoundsForWidth_ = flagValue;
@@ -1064,7 +1082,7 @@ bool ReactNativeFeatureFlagsAccessor::fuseboxAssertSingleHostState() {
1064
1082
  // be accessing the provider multiple times but the end state of this
1065
1083
  // instance and the returned flag value would be the same.
1066
1084
 
1067
- markFlagAsAccessed(57, "fuseboxAssertSingleHostState");
1085
+ markFlagAsAccessed(58, "fuseboxAssertSingleHostState");
1068
1086
 
1069
1087
  flagValue = currentProvider_->fuseboxAssertSingleHostState();
1070
1088
  fuseboxAssertSingleHostState_ = flagValue;
@@ -1082,7 +1100,7 @@ bool ReactNativeFeatureFlagsAccessor::fuseboxEnabledRelease() {
1082
1100
  // be accessing the provider multiple times but the end state of this
1083
1101
  // instance and the returned flag value would be the same.
1084
1102
 
1085
- markFlagAsAccessed(58, "fuseboxEnabledRelease");
1103
+ markFlagAsAccessed(59, "fuseboxEnabledRelease");
1086
1104
 
1087
1105
  flagValue = currentProvider_->fuseboxEnabledRelease();
1088
1106
  fuseboxEnabledRelease_ = flagValue;
@@ -1091,6 +1109,24 @@ bool ReactNativeFeatureFlagsAccessor::fuseboxEnabledRelease() {
1091
1109
  return flagValue.value();
1092
1110
  }
1093
1111
 
1112
+ bool ReactNativeFeatureFlagsAccessor::fuseboxFrameRecordingEnabled() {
1113
+ auto flagValue = fuseboxFrameRecordingEnabled_.load();
1114
+
1115
+ if (!flagValue.has_value()) {
1116
+ // This block is not exclusive but it is not necessary.
1117
+ // If multiple threads try to initialize the feature flag, we would only
1118
+ // be accessing the provider multiple times but the end state of this
1119
+ // instance and the returned flag value would be the same.
1120
+
1121
+ markFlagAsAccessed(60, "fuseboxFrameRecordingEnabled");
1122
+
1123
+ flagValue = currentProvider_->fuseboxFrameRecordingEnabled();
1124
+ fuseboxFrameRecordingEnabled_ = flagValue;
1125
+ }
1126
+
1127
+ return flagValue.value();
1128
+ }
1129
+
1094
1130
  bool ReactNativeFeatureFlagsAccessor::fuseboxNetworkInspectionEnabled() {
1095
1131
  auto flagValue = fuseboxNetworkInspectionEnabled_.load();
1096
1132
 
@@ -1100,7 +1136,7 @@ bool ReactNativeFeatureFlagsAccessor::fuseboxNetworkInspectionEnabled() {
1100
1136
  // be accessing the provider multiple times but the end state of this
1101
1137
  // instance and the returned flag value would be the same.
1102
1138
 
1103
- markFlagAsAccessed(59, "fuseboxNetworkInspectionEnabled");
1139
+ markFlagAsAccessed(61, "fuseboxNetworkInspectionEnabled");
1104
1140
 
1105
1141
  flagValue = currentProvider_->fuseboxNetworkInspectionEnabled();
1106
1142
  fuseboxNetworkInspectionEnabled_ = flagValue;
@@ -1109,6 +1145,24 @@ bool ReactNativeFeatureFlagsAccessor::fuseboxNetworkInspectionEnabled() {
1109
1145
  return flagValue.value();
1110
1146
  }
1111
1147
 
1148
+ bool ReactNativeFeatureFlagsAccessor::fuseboxScreenshotCaptureEnabled() {
1149
+ auto flagValue = fuseboxScreenshotCaptureEnabled_.load();
1150
+
1151
+ if (!flagValue.has_value()) {
1152
+ // This block is not exclusive but it is not necessary.
1153
+ // If multiple threads try to initialize the feature flag, we would only
1154
+ // be accessing the provider multiple times but the end state of this
1155
+ // instance and the returned flag value would be the same.
1156
+
1157
+ markFlagAsAccessed(62, "fuseboxScreenshotCaptureEnabled");
1158
+
1159
+ flagValue = currentProvider_->fuseboxScreenshotCaptureEnabled();
1160
+ fuseboxScreenshotCaptureEnabled_ = flagValue;
1161
+ }
1162
+
1163
+ return flagValue.value();
1164
+ }
1165
+
1112
1166
  bool ReactNativeFeatureFlagsAccessor::hideOffscreenVirtualViewsOnIOS() {
1113
1167
  auto flagValue = hideOffscreenVirtualViewsOnIOS_.load();
1114
1168
 
@@ -1118,7 +1172,7 @@ bool ReactNativeFeatureFlagsAccessor::hideOffscreenVirtualViewsOnIOS() {
1118
1172
  // be accessing the provider multiple times but the end state of this
1119
1173
  // instance and the returned flag value would be the same.
1120
1174
 
1121
- markFlagAsAccessed(60, "hideOffscreenVirtualViewsOnIOS");
1175
+ markFlagAsAccessed(63, "hideOffscreenVirtualViewsOnIOS");
1122
1176
 
1123
1177
  flagValue = currentProvider_->hideOffscreenVirtualViewsOnIOS();
1124
1178
  hideOffscreenVirtualViewsOnIOS_ = flagValue;
@@ -1136,7 +1190,7 @@ bool ReactNativeFeatureFlagsAccessor::overrideBySynchronousMountPropsAtMountingA
1136
1190
  // be accessing the provider multiple times but the end state of this
1137
1191
  // instance and the returned flag value would be the same.
1138
1192
 
1139
- markFlagAsAccessed(61, "overrideBySynchronousMountPropsAtMountingAndroid");
1193
+ markFlagAsAccessed(64, "overrideBySynchronousMountPropsAtMountingAndroid");
1140
1194
 
1141
1195
  flagValue = currentProvider_->overrideBySynchronousMountPropsAtMountingAndroid();
1142
1196
  overrideBySynchronousMountPropsAtMountingAndroid_ = flagValue;
@@ -1154,7 +1208,7 @@ bool ReactNativeFeatureFlagsAccessor::perfIssuesEnabled() {
1154
1208
  // be accessing the provider multiple times but the end state of this
1155
1209
  // instance and the returned flag value would be the same.
1156
1210
 
1157
- markFlagAsAccessed(62, "perfIssuesEnabled");
1211
+ markFlagAsAccessed(65, "perfIssuesEnabled");
1158
1212
 
1159
1213
  flagValue = currentProvider_->perfIssuesEnabled();
1160
1214
  perfIssuesEnabled_ = flagValue;
@@ -1172,7 +1226,7 @@ bool ReactNativeFeatureFlagsAccessor::perfMonitorV2Enabled() {
1172
1226
  // be accessing the provider multiple times but the end state of this
1173
1227
  // instance and the returned flag value would be the same.
1174
1228
 
1175
- markFlagAsAccessed(63, "perfMonitorV2Enabled");
1229
+ markFlagAsAccessed(66, "perfMonitorV2Enabled");
1176
1230
 
1177
1231
  flagValue = currentProvider_->perfMonitorV2Enabled();
1178
1232
  perfMonitorV2Enabled_ = flagValue;
@@ -1190,7 +1244,7 @@ double ReactNativeFeatureFlagsAccessor::preparedTextCacheSize() {
1190
1244
  // be accessing the provider multiple times but the end state of this
1191
1245
  // instance and the returned flag value would be the same.
1192
1246
 
1193
- markFlagAsAccessed(64, "preparedTextCacheSize");
1247
+ markFlagAsAccessed(67, "preparedTextCacheSize");
1194
1248
 
1195
1249
  flagValue = currentProvider_->preparedTextCacheSize();
1196
1250
  preparedTextCacheSize_ = flagValue;
@@ -1208,7 +1262,7 @@ bool ReactNativeFeatureFlagsAccessor::preventShadowTreeCommitExhaustion() {
1208
1262
  // be accessing the provider multiple times but the end state of this
1209
1263
  // instance and the returned flag value would be the same.
1210
1264
 
1211
- markFlagAsAccessed(65, "preventShadowTreeCommitExhaustion");
1265
+ markFlagAsAccessed(68, "preventShadowTreeCommitExhaustion");
1212
1266
 
1213
1267
  flagValue = currentProvider_->preventShadowTreeCommitExhaustion();
1214
1268
  preventShadowTreeCommitExhaustion_ = flagValue;
@@ -1217,6 +1271,42 @@ bool ReactNativeFeatureFlagsAccessor::preventShadowTreeCommitExhaustion() {
1217
1271
  return flagValue.value();
1218
1272
  }
1219
1273
 
1274
+ bool ReactNativeFeatureFlagsAccessor::redBoxV2Android() {
1275
+ auto flagValue = redBoxV2Android_.load();
1276
+
1277
+ if (!flagValue.has_value()) {
1278
+ // This block is not exclusive but it is not necessary.
1279
+ // If multiple threads try to initialize the feature flag, we would only
1280
+ // be accessing the provider multiple times but the end state of this
1281
+ // instance and the returned flag value would be the same.
1282
+
1283
+ markFlagAsAccessed(69, "redBoxV2Android");
1284
+
1285
+ flagValue = currentProvider_->redBoxV2Android();
1286
+ redBoxV2Android_ = flagValue;
1287
+ }
1288
+
1289
+ return flagValue.value();
1290
+ }
1291
+
1292
+ bool ReactNativeFeatureFlagsAccessor::redBoxV2IOS() {
1293
+ auto flagValue = redBoxV2IOS_.load();
1294
+
1295
+ if (!flagValue.has_value()) {
1296
+ // This block is not exclusive but it is not necessary.
1297
+ // If multiple threads try to initialize the feature flag, we would only
1298
+ // be accessing the provider multiple times but the end state of this
1299
+ // instance and the returned flag value would be the same.
1300
+
1301
+ markFlagAsAccessed(70, "redBoxV2IOS");
1302
+
1303
+ flagValue = currentProvider_->redBoxV2IOS();
1304
+ redBoxV2IOS_ = flagValue;
1305
+ }
1306
+
1307
+ return flagValue.value();
1308
+ }
1309
+
1220
1310
  bool ReactNativeFeatureFlagsAccessor::shouldPressibilityUseW3CPointerEventsForHover() {
1221
1311
  auto flagValue = shouldPressibilityUseW3CPointerEventsForHover_.load();
1222
1312
 
@@ -1226,7 +1316,7 @@ bool ReactNativeFeatureFlagsAccessor::shouldPressibilityUseW3CPointerEventsForHo
1226
1316
  // be accessing the provider multiple times but the end state of this
1227
1317
  // instance and the returned flag value would be the same.
1228
1318
 
1229
- markFlagAsAccessed(66, "shouldPressibilityUseW3CPointerEventsForHover");
1319
+ markFlagAsAccessed(71, "shouldPressibilityUseW3CPointerEventsForHover");
1230
1320
 
1231
1321
  flagValue = currentProvider_->shouldPressibilityUseW3CPointerEventsForHover();
1232
1322
  shouldPressibilityUseW3CPointerEventsForHover_ = flagValue;
@@ -1244,7 +1334,7 @@ bool ReactNativeFeatureFlagsAccessor::shouldTriggerResponderTransferOnScrollAndr
1244
1334
  // be accessing the provider multiple times but the end state of this
1245
1335
  // instance and the returned flag value would be the same.
1246
1336
 
1247
- markFlagAsAccessed(67, "shouldTriggerResponderTransferOnScrollAndroid");
1337
+ markFlagAsAccessed(72, "shouldTriggerResponderTransferOnScrollAndroid");
1248
1338
 
1249
1339
  flagValue = currentProvider_->shouldTriggerResponderTransferOnScrollAndroid();
1250
1340
  shouldTriggerResponderTransferOnScrollAndroid_ = flagValue;
@@ -1262,7 +1352,7 @@ bool ReactNativeFeatureFlagsAccessor::skipActivityIdentityAssertionOnHostPause()
1262
1352
  // be accessing the provider multiple times but the end state of this
1263
1353
  // instance and the returned flag value would be the same.
1264
1354
 
1265
- markFlagAsAccessed(68, "skipActivityIdentityAssertionOnHostPause");
1355
+ markFlagAsAccessed(73, "skipActivityIdentityAssertionOnHostPause");
1266
1356
 
1267
1357
  flagValue = currentProvider_->skipActivityIdentityAssertionOnHostPause();
1268
1358
  skipActivityIdentityAssertionOnHostPause_ = flagValue;
@@ -1280,7 +1370,7 @@ bool ReactNativeFeatureFlagsAccessor::syncAndroidClipToPaddingWithOverflow() {
1280
1370
  // be accessing the provider multiple times but the end state of this
1281
1371
  // instance and the returned flag value would be the same.
1282
1372
 
1283
- markFlagAsAccessed(69, "syncAndroidClipToPaddingWithOverflow");
1373
+ markFlagAsAccessed(74, "syncAndroidClipToPaddingWithOverflow");
1284
1374
 
1285
1375
  flagValue = currentProvider_->syncAndroidClipToPaddingWithOverflow();
1286
1376
  syncAndroidClipToPaddingWithOverflow_ = flagValue;
@@ -1298,7 +1388,7 @@ bool ReactNativeFeatureFlagsAccessor::traceTurboModulePromiseRejectionsOnAndroid
1298
1388
  // be accessing the provider multiple times but the end state of this
1299
1389
  // instance and the returned flag value would be the same.
1300
1390
 
1301
- markFlagAsAccessed(70, "traceTurboModulePromiseRejectionsOnAndroid");
1391
+ markFlagAsAccessed(75, "traceTurboModulePromiseRejectionsOnAndroid");
1302
1392
 
1303
1393
  flagValue = currentProvider_->traceTurboModulePromiseRejectionsOnAndroid();
1304
1394
  traceTurboModulePromiseRejectionsOnAndroid_ = flagValue;
@@ -1316,7 +1406,7 @@ bool ReactNativeFeatureFlagsAccessor::updateRuntimeShadowNodeReferencesOnCommit(
1316
1406
  // be accessing the provider multiple times but the end state of this
1317
1407
  // instance and the returned flag value would be the same.
1318
1408
 
1319
- markFlagAsAccessed(71, "updateRuntimeShadowNodeReferencesOnCommit");
1409
+ markFlagAsAccessed(76, "updateRuntimeShadowNodeReferencesOnCommit");
1320
1410
 
1321
1411
  flagValue = currentProvider_->updateRuntimeShadowNodeReferencesOnCommit();
1322
1412
  updateRuntimeShadowNodeReferencesOnCommit_ = flagValue;
@@ -1334,7 +1424,7 @@ bool ReactNativeFeatureFlagsAccessor::updateRuntimeShadowNodeReferencesOnCommitT
1334
1424
  // be accessing the provider multiple times but the end state of this
1335
1425
  // instance and the returned flag value would be the same.
1336
1426
 
1337
- markFlagAsAccessed(72, "updateRuntimeShadowNodeReferencesOnCommitThread");
1427
+ markFlagAsAccessed(77, "updateRuntimeShadowNodeReferencesOnCommitThread");
1338
1428
 
1339
1429
  flagValue = currentProvider_->updateRuntimeShadowNodeReferencesOnCommitThread();
1340
1430
  updateRuntimeShadowNodeReferencesOnCommitThread_ = flagValue;
@@ -1352,7 +1442,7 @@ bool ReactNativeFeatureFlagsAccessor::useAlwaysAvailableJSErrorHandling() {
1352
1442
  // be accessing the provider multiple times but the end state of this
1353
1443
  // instance and the returned flag value would be the same.
1354
1444
 
1355
- markFlagAsAccessed(73, "useAlwaysAvailableJSErrorHandling");
1445
+ markFlagAsAccessed(78, "useAlwaysAvailableJSErrorHandling");
1356
1446
 
1357
1447
  flagValue = currentProvider_->useAlwaysAvailableJSErrorHandling();
1358
1448
  useAlwaysAvailableJSErrorHandling_ = flagValue;
@@ -1370,7 +1460,7 @@ bool ReactNativeFeatureFlagsAccessor::useFabricInterop() {
1370
1460
  // be accessing the provider multiple times but the end state of this
1371
1461
  // instance and the returned flag value would be the same.
1372
1462
 
1373
- markFlagAsAccessed(74, "useFabricInterop");
1463
+ markFlagAsAccessed(79, "useFabricInterop");
1374
1464
 
1375
1465
  flagValue = currentProvider_->useFabricInterop();
1376
1466
  useFabricInterop_ = flagValue;
@@ -1388,7 +1478,7 @@ bool ReactNativeFeatureFlagsAccessor::useNativeViewConfigsInBridgelessMode() {
1388
1478
  // be accessing the provider multiple times but the end state of this
1389
1479
  // instance and the returned flag value would be the same.
1390
1480
 
1391
- markFlagAsAccessed(75, "useNativeViewConfigsInBridgelessMode");
1481
+ markFlagAsAccessed(80, "useNativeViewConfigsInBridgelessMode");
1392
1482
 
1393
1483
  flagValue = currentProvider_->useNativeViewConfigsInBridgelessMode();
1394
1484
  useNativeViewConfigsInBridgelessMode_ = flagValue;
@@ -1406,7 +1496,7 @@ bool ReactNativeFeatureFlagsAccessor::useNestedScrollViewAndroid() {
1406
1496
  // be accessing the provider multiple times but the end state of this
1407
1497
  // instance and the returned flag value would be the same.
1408
1498
 
1409
- markFlagAsAccessed(76, "useNestedScrollViewAndroid");
1499
+ markFlagAsAccessed(81, "useNestedScrollViewAndroid");
1410
1500
 
1411
1501
  flagValue = currentProvider_->useNestedScrollViewAndroid();
1412
1502
  useNestedScrollViewAndroid_ = flagValue;
@@ -1424,7 +1514,7 @@ bool ReactNativeFeatureFlagsAccessor::useSharedAnimatedBackend() {
1424
1514
  // be accessing the provider multiple times but the end state of this
1425
1515
  // instance and the returned flag value would be the same.
1426
1516
 
1427
- markFlagAsAccessed(77, "useSharedAnimatedBackend");
1517
+ markFlagAsAccessed(82, "useSharedAnimatedBackend");
1428
1518
 
1429
1519
  flagValue = currentProvider_->useSharedAnimatedBackend();
1430
1520
  useSharedAnimatedBackend_ = flagValue;
@@ -1442,7 +1532,7 @@ bool ReactNativeFeatureFlagsAccessor::useTraitHiddenOnAndroid() {
1442
1532
  // be accessing the provider multiple times but the end state of this
1443
1533
  // instance and the returned flag value would be the same.
1444
1534
 
1445
- markFlagAsAccessed(78, "useTraitHiddenOnAndroid");
1535
+ markFlagAsAccessed(83, "useTraitHiddenOnAndroid");
1446
1536
 
1447
1537
  flagValue = currentProvider_->useTraitHiddenOnAndroid();
1448
1538
  useTraitHiddenOnAndroid_ = flagValue;
@@ -1460,7 +1550,7 @@ bool ReactNativeFeatureFlagsAccessor::useTurboModuleInterop() {
1460
1550
  // be accessing the provider multiple times but the end state of this
1461
1551
  // instance and the returned flag value would be the same.
1462
1552
 
1463
- markFlagAsAccessed(79, "useTurboModuleInterop");
1553
+ markFlagAsAccessed(84, "useTurboModuleInterop");
1464
1554
 
1465
1555
  flagValue = currentProvider_->useTurboModuleInterop();
1466
1556
  useTurboModuleInterop_ = flagValue;
@@ -1478,7 +1568,7 @@ bool ReactNativeFeatureFlagsAccessor::useTurboModules() {
1478
1568
  // be accessing the provider multiple times but the end state of this
1479
1569
  // instance and the returned flag value would be the same.
1480
1570
 
1481
- markFlagAsAccessed(80, "useTurboModules");
1571
+ markFlagAsAccessed(85, "useTurboModules");
1482
1572
 
1483
1573
  flagValue = currentProvider_->useTurboModules();
1484
1574
  useTurboModules_ = flagValue;
@@ -1496,7 +1586,7 @@ bool ReactNativeFeatureFlagsAccessor::useUnorderedMapInDifferentiator() {
1496
1586
  // be accessing the provider multiple times but the end state of this
1497
1587
  // instance and the returned flag value would be the same.
1498
1588
 
1499
- markFlagAsAccessed(81, "useUnorderedMapInDifferentiator");
1589
+ markFlagAsAccessed(86, "useUnorderedMapInDifferentiator");
1500
1590
 
1501
1591
  flagValue = currentProvider_->useUnorderedMapInDifferentiator();
1502
1592
  useUnorderedMapInDifferentiator_ = flagValue;
@@ -1514,7 +1604,7 @@ double ReactNativeFeatureFlagsAccessor::viewCullingOutsetRatio() {
1514
1604
  // be accessing the provider multiple times but the end state of this
1515
1605
  // instance and the returned flag value would be the same.
1516
1606
 
1517
- markFlagAsAccessed(82, "viewCullingOutsetRatio");
1607
+ markFlagAsAccessed(87, "viewCullingOutsetRatio");
1518
1608
 
1519
1609
  flagValue = currentProvider_->viewCullingOutsetRatio();
1520
1610
  viewCullingOutsetRatio_ = flagValue;
@@ -1532,7 +1622,7 @@ bool ReactNativeFeatureFlagsAccessor::viewTransitionEnabled() {
1532
1622
  // be accessing the provider multiple times but the end state of this
1533
1623
  // instance and the returned flag value would be the same.
1534
1624
 
1535
- markFlagAsAccessed(83, "viewTransitionEnabled");
1625
+ markFlagAsAccessed(88, "viewTransitionEnabled");
1536
1626
 
1537
1627
  flagValue = currentProvider_->viewTransitionEnabled();
1538
1628
  viewTransitionEnabled_ = flagValue;
@@ -1550,7 +1640,7 @@ double ReactNativeFeatureFlagsAccessor::virtualViewPrerenderRatio() {
1550
1640
  // be accessing the provider multiple times but the end state of this
1551
1641
  // instance and the returned flag value would be the same.
1552
1642
 
1553
- markFlagAsAccessed(84, "virtualViewPrerenderRatio");
1643
+ markFlagAsAccessed(89, "virtualViewPrerenderRatio");
1554
1644
 
1555
1645
  flagValue = currentProvider_->virtualViewPrerenderRatio();
1556
1646
  virtualViewPrerenderRatio_ = flagValue;
@@ -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<<2cb2c124f044468f96262086bfac5aad>>
7
+ * @generated SignedSource<<ba217edddfa64e855c418651be115181>>
8
8
  */
9
9
 
10
10
  /**
@@ -73,6 +73,7 @@ class ReactNativeFeatureFlagsAccessor {
73
73
  bool enableLayoutAnimationsOnIOS();
74
74
  bool enableMainQueueCoordinatorOnIOS();
75
75
  bool enableModuleArgumentNSNullConversionIOS();
76
+ bool enableMutationObserverByDefault();
76
77
  bool enableNativeCSSParsing();
77
78
  bool enableNetworkEventReporting();
78
79
  bool enablePreparedTextLayout();
@@ -91,13 +92,17 @@ class ReactNativeFeatureFlagsAccessor {
91
92
  bool fixTextClippingAndroid15useBoundsForWidth();
92
93
  bool fuseboxAssertSingleHostState();
93
94
  bool fuseboxEnabledRelease();
95
+ bool fuseboxFrameRecordingEnabled();
94
96
  bool fuseboxNetworkInspectionEnabled();
97
+ bool fuseboxScreenshotCaptureEnabled();
95
98
  bool hideOffscreenVirtualViewsOnIOS();
96
99
  bool overrideBySynchronousMountPropsAtMountingAndroid();
97
100
  bool perfIssuesEnabled();
98
101
  bool perfMonitorV2Enabled();
99
102
  double preparedTextCacheSize();
100
103
  bool preventShadowTreeCommitExhaustion();
104
+ bool redBoxV2Android();
105
+ bool redBoxV2IOS();
101
106
  bool shouldPressibilityUseW3CPointerEventsForHover();
102
107
  bool shouldTriggerResponderTransferOnScrollAndroid();
103
108
  bool skipActivityIdentityAssertionOnHostPause();
@@ -128,7 +133,7 @@ class ReactNativeFeatureFlagsAccessor {
128
133
  std::unique_ptr<ReactNativeFeatureFlagsProvider> currentProvider_;
129
134
  bool wasOverridden_;
130
135
 
131
- std::array<std::atomic<const char*>, 85> accessedFeatureFlags_;
136
+ std::array<std::atomic<const char*>, 90> accessedFeatureFlags_;
132
137
 
133
138
  std::atomic<std::optional<bool>> commonTestFlag_;
134
139
  std::atomic<std::optional<bool>> cdpInteractionMetricsEnabled_;
@@ -171,6 +176,7 @@ class ReactNativeFeatureFlagsAccessor {
171
176
  std::atomic<std::optional<bool>> enableLayoutAnimationsOnIOS_;
172
177
  std::atomic<std::optional<bool>> enableMainQueueCoordinatorOnIOS_;
173
178
  std::atomic<std::optional<bool>> enableModuleArgumentNSNullConversionIOS_;
179
+ std::atomic<std::optional<bool>> enableMutationObserverByDefault_;
174
180
  std::atomic<std::optional<bool>> enableNativeCSSParsing_;
175
181
  std::atomic<std::optional<bool>> enableNetworkEventReporting_;
176
182
  std::atomic<std::optional<bool>> enablePreparedTextLayout_;
@@ -189,13 +195,17 @@ class ReactNativeFeatureFlagsAccessor {
189
195
  std::atomic<std::optional<bool>> fixTextClippingAndroid15useBoundsForWidth_;
190
196
  std::atomic<std::optional<bool>> fuseboxAssertSingleHostState_;
191
197
  std::atomic<std::optional<bool>> fuseboxEnabledRelease_;
198
+ std::atomic<std::optional<bool>> fuseboxFrameRecordingEnabled_;
192
199
  std::atomic<std::optional<bool>> fuseboxNetworkInspectionEnabled_;
200
+ std::atomic<std::optional<bool>> fuseboxScreenshotCaptureEnabled_;
193
201
  std::atomic<std::optional<bool>> hideOffscreenVirtualViewsOnIOS_;
194
202
  std::atomic<std::optional<bool>> overrideBySynchronousMountPropsAtMountingAndroid_;
195
203
  std::atomic<std::optional<bool>> perfIssuesEnabled_;
196
204
  std::atomic<std::optional<bool>> perfMonitorV2Enabled_;
197
205
  std::atomic<std::optional<double>> preparedTextCacheSize_;
198
206
  std::atomic<std::optional<bool>> preventShadowTreeCommitExhaustion_;
207
+ std::atomic<std::optional<bool>> redBoxV2Android_;
208
+ std::atomic<std::optional<bool>> redBoxV2IOS_;
199
209
  std::atomic<std::optional<bool>> shouldPressibilityUseW3CPointerEventsForHover_;
200
210
  std::atomic<std::optional<bool>> shouldTriggerResponderTransferOnScrollAndroid_;
201
211
  std::atomic<std::optional<bool>> skipActivityIdentityAssertionOnHostPause_;
@@ -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<<7f1c4037925fc37dcdcba51df968d503>>
7
+ * @generated SignedSource<<fe805d0e749aa9417e175cc68a681fff>>
8
8
  */
9
9
 
10
10
  /**
@@ -191,6 +191,10 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
191
191
  return false;
192
192
  }
193
193
 
194
+ bool enableMutationObserverByDefault() override {
195
+ return false;
196
+ }
197
+
194
198
  bool enableNativeCSSParsing() override {
195
199
  return false;
196
200
  }
@@ -263,10 +267,18 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
263
267
  return false;
264
268
  }
265
269
 
270
+ bool fuseboxFrameRecordingEnabled() override {
271
+ return false;
272
+ }
273
+
266
274
  bool fuseboxNetworkInspectionEnabled() override {
267
275
  return true;
268
276
  }
269
277
 
278
+ bool fuseboxScreenshotCaptureEnabled() override {
279
+ return false;
280
+ }
281
+
270
282
  bool hideOffscreenVirtualViewsOnIOS() override {
271
283
  return false;
272
284
  }
@@ -291,6 +303,14 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
291
303
  return false;
292
304
  }
293
305
 
306
+ bool redBoxV2Android() override {
307
+ return false;
308
+ }
309
+
310
+ bool redBoxV2IOS() override {
311
+ return false;
312
+ }
313
+
294
314
  bool shouldPressibilityUseW3CPointerEventsForHover() override {
295
315
  return false;
296
316
  }