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.
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Utilities/HMRClient.js +28 -1
- package/React/Base/RCTVersion.m +1 -1
- 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 -454
- 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/ReactAndroid/gradle.properties +1 -1
- 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 +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt +127 -26
- 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/systeminfo/ReactNativeVersion.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.kt +50 -10
- 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 +14 -0
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactHostInspectorTarget.h +18 -4
- package/ReactCommon/React-Fabric.podspec +6 -0
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +36 -0
- package/ReactCommon/jsinspector-modern/HostTarget.cpp +7 -1
- package/ReactCommon/jsinspector-modern/HostTarget.h +25 -0
- package/ReactCommon/jsinspector-modern/HostTargetTracing.cpp +1 -1
- package/ReactCommon/jsinspector-modern/HostTargetTracing.h +4 -4
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +12 -0
- package/ReactCommon/jsinspector-modern/InspectorFlags.h +12 -0
- 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/tests/HostTargetTest.cpp +12 -0
- package/ReactCommon/jsinspector-modern/tests/InspectorMocks.h +3 -2
- package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +1 -0
- package/ReactCommon/jsinspector-modern/tests/NetworkReporterTest.cpp +1 -1
- package/ReactCommon/jsinspector-modern/tests/TracingTest.cpp +1 -1
- 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 +7 -3
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.cpp +52 -29
- package/ReactCommon/jsinspector-modern/tracing/HostTracingProfileSerializer.h +6 -6
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracerSection.h +113 -0
- package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.cpp +12 -5
- package/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h +3 -1
- package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.cpp +42 -0
- package/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h +7 -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 +135 -45
- 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/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/package.json +11 -11
- package/scripts/cocoapods/utils.rb +1 -0
- package/scripts/react_native_pods.rb +1 -0
- package/scripts/replace-rncore-version.js +72 -15
- 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/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/FrameTimingsObserver.kt
CHANGED
|
@@ -12,14 +12,18 @@ import android.os.Build
|
|
|
12
12
|
import android.os.Handler
|
|
13
13
|
import android.os.Looper
|
|
14
14
|
import android.os.Process
|
|
15
|
-
import android.util.Base64
|
|
16
15
|
import android.view.FrameMetrics
|
|
17
16
|
import android.view.PixelCopy
|
|
18
17
|
import android.view.Window
|
|
19
18
|
import com.facebook.proguard.annotations.DoNotStripAny
|
|
20
19
|
import java.io.ByteArrayOutputStream
|
|
20
|
+
import java.util.concurrent.Executors
|
|
21
|
+
import java.util.concurrent.atomic.AtomicBoolean
|
|
22
|
+
import java.util.concurrent.atomic.AtomicReference
|
|
23
|
+
import kotlinx.coroutines.CoroutineDispatcher
|
|
21
24
|
import kotlinx.coroutines.CoroutineScope
|
|
22
25
|
import kotlinx.coroutines.Dispatchers
|
|
26
|
+
import kotlinx.coroutines.asCoroutineDispatcher
|
|
23
27
|
import kotlinx.coroutines.launch
|
|
24
28
|
|
|
25
29
|
@DoNotStripAny
|
|
@@ -30,20 +34,39 @@ internal class FrameTimingsObserver(
|
|
|
30
34
|
private val isSupported = Build.VERSION.SDK_INT >= Build.VERSION_CODES.N
|
|
31
35
|
private val mainHandler = Handler(Looper.getMainLooper())
|
|
32
36
|
|
|
37
|
+
// Serial dispatcher for encoding work (single background thread). We limit to 1 thread to
|
|
38
|
+
// minimize the performance impact of screenshot recording.
|
|
39
|
+
private val encodingDispatcher: CoroutineDispatcher =
|
|
40
|
+
Executors.newSingleThreadExecutor().asCoroutineDispatcher()
|
|
41
|
+
|
|
42
|
+
// Stores the most recently captured frame to opportunistically encode after the current frame.
|
|
43
|
+
// Replaced frames are emitted as timings without screenshots.
|
|
44
|
+
private val lastFrameBuffer = AtomicReference<FrameData?>(null)
|
|
45
|
+
|
|
33
46
|
private var frameCounter: Int = 0
|
|
47
|
+
private val encodingInProgress = AtomicBoolean(false)
|
|
34
48
|
@Volatile private var isTracing: Boolean = false
|
|
35
49
|
@Volatile private var currentWindow: Window? = null
|
|
36
50
|
|
|
51
|
+
private data class FrameData(
|
|
52
|
+
val bitmap: Bitmap,
|
|
53
|
+
val frameId: Int,
|
|
54
|
+
val threadId: Int,
|
|
55
|
+
val beginTimestamp: Long,
|
|
56
|
+
val endTimestamp: Long,
|
|
57
|
+
)
|
|
58
|
+
|
|
37
59
|
fun start() {
|
|
38
60
|
if (!isSupported) {
|
|
39
61
|
return
|
|
40
62
|
}
|
|
41
63
|
|
|
42
64
|
frameCounter = 0
|
|
65
|
+
encodingInProgress.set(false)
|
|
66
|
+
lastFrameBuffer.set(null)
|
|
43
67
|
isTracing = true
|
|
44
68
|
|
|
45
|
-
//
|
|
46
|
-
// recorded at the start of tracing, even if no UI changes occur
|
|
69
|
+
// Emit initial frame event
|
|
47
70
|
val timestamp = System.nanoTime()
|
|
48
71
|
emitFrameTiming(timestamp, timestamp)
|
|
49
72
|
|
|
@@ -59,6 +82,7 @@ internal class FrameTimingsObserver(
|
|
|
59
82
|
|
|
60
83
|
currentWindow?.removeOnFrameMetricsAvailableListener(frameMetricsListener)
|
|
61
84
|
mainHandler.removeCallbacksAndMessages(null)
|
|
85
|
+
lastFrameBuffer.getAndSet(null)?.bitmap?.recycle()
|
|
62
86
|
}
|
|
63
87
|
|
|
64
88
|
fun setCurrentWindow(window: Window?) {
|
|
@@ -75,8 +99,7 @@ internal class FrameTimingsObserver(
|
|
|
75
99
|
|
|
76
100
|
private val frameMetricsListener =
|
|
77
101
|
Window.OnFrameMetricsAvailableListener { _, frameMetrics, _ ->
|
|
78
|
-
// Guard against calls
|
|
79
|
-
// previous frames will still finish.
|
|
102
|
+
// Guard against calls after stop()
|
|
80
103
|
if (!isTracing) {
|
|
81
104
|
return@OnFrameMetricsAvailableListener
|
|
82
105
|
}
|
|
@@ -89,34 +112,107 @@ internal class FrameTimingsObserver(
|
|
|
89
112
|
val frameId = frameCounter++
|
|
90
113
|
val threadId = Process.myTid()
|
|
91
114
|
|
|
92
|
-
if (screenshotsEnabled) {
|
|
93
|
-
//
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
115
|
+
if (!screenshotsEnabled) {
|
|
116
|
+
// Screenshots disabled - emit without screenshot
|
|
117
|
+
emitFrameEvent(frameId, threadId, beginTimestamp, endTimestamp, null)
|
|
118
|
+
return
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
captureScreenshot(frameId, threadId, beginTimestamp, endTimestamp) { frameData ->
|
|
122
|
+
if (frameData != null) {
|
|
123
|
+
if (encodingInProgress.compareAndSet(false, true)) {
|
|
124
|
+
// Not encoding - encode this frame immediately
|
|
125
|
+
encodeFrame(frameData)
|
|
126
|
+
} else {
|
|
127
|
+
// Encoding thread busy - store current screenshot in buffer for tail-capture
|
|
128
|
+
val oldFrameData = lastFrameBuffer.getAndSet(frameData)
|
|
129
|
+
if (oldFrameData != null) {
|
|
130
|
+
// Skipped frame - emit event without screenshot
|
|
131
|
+
emitFrameEvent(
|
|
132
|
+
oldFrameData.frameId,
|
|
133
|
+
oldFrameData.threadId,
|
|
134
|
+
oldFrameData.beginTimestamp,
|
|
135
|
+
oldFrameData.endTimestamp,
|
|
136
|
+
null,
|
|
137
|
+
)
|
|
138
|
+
oldFrameData.bitmap.recycle()
|
|
139
|
+
}
|
|
100
140
|
}
|
|
141
|
+
} else {
|
|
142
|
+
// Failed to capture (e.g. timeout) - emit without screenshot
|
|
143
|
+
emitFrameEvent(frameId, threadId, beginTimestamp, endTimestamp, null)
|
|
101
144
|
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
private fun emitFrameEvent(
|
|
149
|
+
frameId: Int,
|
|
150
|
+
threadId: Int,
|
|
151
|
+
beginTimestamp: Long,
|
|
152
|
+
endTimestamp: Long,
|
|
153
|
+
screenshot: ByteArray?,
|
|
154
|
+
) {
|
|
155
|
+
CoroutineScope(Dispatchers.Default).launch {
|
|
156
|
+
onFrameTimingSequence(
|
|
157
|
+
FrameTimingSequence(frameId, threadId, beginTimestamp, endTimestamp, screenshot)
|
|
158
|
+
)
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
private fun encodeFrame(frameData: FrameData) {
|
|
163
|
+
CoroutineScope(encodingDispatcher).launch {
|
|
164
|
+
try {
|
|
165
|
+
val screenshot = encodeScreenshot(frameData.bitmap)
|
|
166
|
+
emitFrameEvent(
|
|
167
|
+
frameData.frameId,
|
|
168
|
+
frameData.threadId,
|
|
169
|
+
frameData.beginTimestamp,
|
|
170
|
+
frameData.endTimestamp,
|
|
171
|
+
screenshot,
|
|
106
172
|
)
|
|
173
|
+
} finally {
|
|
174
|
+
frameData.bitmap.recycle()
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
// Clear encoding flag early, allowing new frames to start fresh encoding sessions
|
|
178
|
+
encodingInProgress.set(false)
|
|
179
|
+
|
|
180
|
+
// Opportunistically encode tail frame (if present) without blocking new frames
|
|
181
|
+
val tailFrame = lastFrameBuffer.getAndSet(null)
|
|
182
|
+
if (tailFrame != null) {
|
|
183
|
+
try {
|
|
184
|
+
val screenshot = encodeScreenshot(tailFrame.bitmap)
|
|
185
|
+
emitFrameEvent(
|
|
186
|
+
tailFrame.frameId,
|
|
187
|
+
tailFrame.threadId,
|
|
188
|
+
tailFrame.beginTimestamp,
|
|
189
|
+
tailFrame.endTimestamp,
|
|
190
|
+
screenshot,
|
|
191
|
+
)
|
|
192
|
+
} finally {
|
|
193
|
+
tailFrame.bitmap.recycle()
|
|
194
|
+
}
|
|
107
195
|
}
|
|
108
196
|
}
|
|
109
197
|
}
|
|
110
198
|
|
|
111
199
|
// Must be called from the main thread so that PixelCopy captures the current frame.
|
|
112
|
-
private fun captureScreenshot(
|
|
200
|
+
private fun captureScreenshot(
|
|
201
|
+
frameId: Int,
|
|
202
|
+
threadId: Int,
|
|
203
|
+
beginTimestamp: Long,
|
|
204
|
+
endTimestamp: Long,
|
|
205
|
+
callback: (FrameData?) -> Unit,
|
|
206
|
+
) {
|
|
113
207
|
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
|
|
208
|
+
// PixelCopy not available
|
|
114
209
|
callback(null)
|
|
115
210
|
return
|
|
116
211
|
}
|
|
117
212
|
|
|
118
213
|
val window = currentWindow
|
|
119
214
|
if (window == null) {
|
|
215
|
+
// No window
|
|
120
216
|
callback(null)
|
|
121
217
|
return
|
|
122
218
|
}
|
|
@@ -131,9 +227,7 @@ internal class FrameTimingsObserver(
|
|
|
131
227
|
bitmap,
|
|
132
228
|
{ copyResult ->
|
|
133
229
|
if (copyResult == PixelCopy.SUCCESS) {
|
|
134
|
-
|
|
135
|
-
callback(encodeScreenshot(window, bitmap, width, height))
|
|
136
|
-
}
|
|
230
|
+
callback(FrameData(bitmap, frameId, threadId, beginTimestamp, endTimestamp))
|
|
137
231
|
} else {
|
|
138
232
|
bitmap.recycle()
|
|
139
233
|
callback(null)
|
|
@@ -143,9 +237,12 @@ internal class FrameTimingsObserver(
|
|
|
143
237
|
)
|
|
144
238
|
}
|
|
145
239
|
|
|
146
|
-
private fun encodeScreenshot(
|
|
240
|
+
private fun encodeScreenshot(bitmap: Bitmap): ByteArray? {
|
|
147
241
|
var scaledBitmap: Bitmap? = null
|
|
148
242
|
return try {
|
|
243
|
+
val window = currentWindow ?: return null
|
|
244
|
+
val width = bitmap.width
|
|
245
|
+
val height = bitmap.height
|
|
149
246
|
val density = window.context.resources.displayMetrics.density
|
|
150
247
|
val scaledWidth = (width / density * SCREENSHOT_SCALE_FACTOR).toInt()
|
|
151
248
|
val scaledHeight = (height / density * SCREENSHOT_SCALE_FACTOR).toInt()
|
|
@@ -155,20 +252,24 @@ internal class FrameTimingsObserver(
|
|
|
155
252
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) Bitmap.CompressFormat.WEBP_LOSSY
|
|
156
253
|
else Bitmap.CompressFormat.JPEG
|
|
157
254
|
|
|
158
|
-
ByteArrayOutputStream().use { outputStream ->
|
|
255
|
+
ByteArrayOutputStream(SCREENSHOT_OUTPUT_SIZE_HINT).use { outputStream ->
|
|
159
256
|
scaledBitmap.compress(compressFormat, SCREENSHOT_QUALITY, outputStream)
|
|
160
|
-
|
|
257
|
+
outputStream.toByteArray()
|
|
161
258
|
}
|
|
162
259
|
} catch (e: Exception) {
|
|
163
260
|
null
|
|
164
261
|
} finally {
|
|
165
262
|
scaledBitmap?.recycle()
|
|
166
|
-
bitmap.recycle()
|
|
167
263
|
}
|
|
168
264
|
}
|
|
169
265
|
|
|
170
266
|
companion object {
|
|
171
|
-
private const val SCREENSHOT_SCALE_FACTOR =
|
|
267
|
+
private const val SCREENSHOT_SCALE_FACTOR = 1.0f
|
|
172
268
|
private const val SCREENSHOT_QUALITY = 80
|
|
269
|
+
|
|
270
|
+
// Capacity hint for the ByteArrayOutputStream used during bitmap
|
|
271
|
+
// compression. Sized slightly above typical compressed output to minimise
|
|
272
|
+
// internal buffer resizing.
|
|
273
|
+
private const val SCREENSHOT_OUTPUT_SIZE_HINT = 65536 // 64 KB
|
|
173
274
|
}
|
|
174
275
|
}
|
|
@@ -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<<dcedc4c1eba9ea605d96850aebecaf06>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -276,6 +276,12 @@ public object ReactNativeFeatureFlags {
|
|
|
276
276
|
@JvmStatic
|
|
277
277
|
public fun enableModuleArgumentNSNullConversionIOS(): Boolean = accessor.enableModuleArgumentNSNullConversionIOS()
|
|
278
278
|
|
|
279
|
+
/**
|
|
280
|
+
* Enables the MutationObserver Web API in React Native.
|
|
281
|
+
*/
|
|
282
|
+
@JvmStatic
|
|
283
|
+
public fun enableMutationObserverByDefault(): Boolean = accessor.enableMutationObserverByDefault()
|
|
284
|
+
|
|
279
285
|
/**
|
|
280
286
|
* Parse CSS strings using the Fabric CSS parser instead of ViewConfig processing
|
|
281
287
|
*/
|
|
@@ -384,12 +390,24 @@ public object ReactNativeFeatureFlags {
|
|
|
384
390
|
@JvmStatic
|
|
385
391
|
public fun fuseboxEnabledRelease(): Boolean = accessor.fuseboxEnabledRelease()
|
|
386
392
|
|
|
393
|
+
/**
|
|
394
|
+
* Enable frame timings and screenshots support in the React Native DevTools CDP backend. This flag is global and should not be changed across React Host lifetimes.
|
|
395
|
+
*/
|
|
396
|
+
@JvmStatic
|
|
397
|
+
public fun fuseboxFrameRecordingEnabled(): Boolean = accessor.fuseboxFrameRecordingEnabled()
|
|
398
|
+
|
|
387
399
|
/**
|
|
388
400
|
* Enable network inspection support in the React Native DevTools CDP backend. Requires `enableBridgelessArchitecture`. This flag is global and should not be changed across React Host lifetimes.
|
|
389
401
|
*/
|
|
390
402
|
@JvmStatic
|
|
391
403
|
public fun fuseboxNetworkInspectionEnabled(): Boolean = accessor.fuseboxNetworkInspectionEnabled()
|
|
392
404
|
|
|
405
|
+
/**
|
|
406
|
+
* Enable Page.captureScreenshot CDP method support in the React Native DevTools CDP backend. This flag is global and should not be changed across React Host lifetimes.
|
|
407
|
+
*/
|
|
408
|
+
@JvmStatic
|
|
409
|
+
public fun fuseboxScreenshotCaptureEnabled(): Boolean = accessor.fuseboxScreenshotCaptureEnabled()
|
|
410
|
+
|
|
393
411
|
/**
|
|
394
412
|
* Hides offscreen VirtualViews on iOS by setting hidden = YES to avoid extra cost of views
|
|
395
413
|
*/
|
|
@@ -426,6 +444,18 @@ public object ReactNativeFeatureFlags {
|
|
|
426
444
|
@JvmStatic
|
|
427
445
|
public fun preventShadowTreeCommitExhaustion(): Boolean = accessor.preventShadowTreeCommitExhaustion()
|
|
428
446
|
|
|
447
|
+
/**
|
|
448
|
+
* Use the redesigned RedBox error overlay on Android, styled to match the LogBox visual language.
|
|
449
|
+
*/
|
|
450
|
+
@JvmStatic
|
|
451
|
+
public fun redBoxV2Android(): Boolean = accessor.redBoxV2Android()
|
|
452
|
+
|
|
453
|
+
/**
|
|
454
|
+
* Use the redesigned RedBox error overlay on iOS, styled to match the LogBox visual language.
|
|
455
|
+
*/
|
|
456
|
+
@JvmStatic
|
|
457
|
+
public fun redBoxV2IOS(): Boolean = accessor.redBoxV2IOS()
|
|
458
|
+
|
|
429
459
|
/**
|
|
430
460
|
* Function used to enable / disable Pressibility from using W3C Pointer Events for its hover callbacks
|
|
431
461
|
*/
|
|
@@ -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<<15a8caa185d134716c23c751d54015aa>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -61,6 +61,7 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
|
|
61
61
|
private var enableLayoutAnimationsOnIOSCache: Boolean? = null
|
|
62
62
|
private var enableMainQueueCoordinatorOnIOSCache: Boolean? = null
|
|
63
63
|
private var enableModuleArgumentNSNullConversionIOSCache: Boolean? = null
|
|
64
|
+
private var enableMutationObserverByDefaultCache: Boolean? = null
|
|
64
65
|
private var enableNativeCSSParsingCache: Boolean? = null
|
|
65
66
|
private var enableNetworkEventReportingCache: Boolean? = null
|
|
66
67
|
private var enablePreparedTextLayoutCache: Boolean? = null
|
|
@@ -79,13 +80,17 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
|
|
79
80
|
private var fixTextClippingAndroid15useBoundsForWidthCache: Boolean? = null
|
|
80
81
|
private var fuseboxAssertSingleHostStateCache: Boolean? = null
|
|
81
82
|
private var fuseboxEnabledReleaseCache: Boolean? = null
|
|
83
|
+
private var fuseboxFrameRecordingEnabledCache: Boolean? = null
|
|
82
84
|
private var fuseboxNetworkInspectionEnabledCache: Boolean? = null
|
|
85
|
+
private var fuseboxScreenshotCaptureEnabledCache: Boolean? = null
|
|
83
86
|
private var hideOffscreenVirtualViewsOnIOSCache: Boolean? = null
|
|
84
87
|
private var overrideBySynchronousMountPropsAtMountingAndroidCache: Boolean? = null
|
|
85
88
|
private var perfIssuesEnabledCache: Boolean? = null
|
|
86
89
|
private var perfMonitorV2EnabledCache: Boolean? = null
|
|
87
90
|
private var preparedTextCacheSizeCache: Double? = null
|
|
88
91
|
private var preventShadowTreeCommitExhaustionCache: Boolean? = null
|
|
92
|
+
private var redBoxV2AndroidCache: Boolean? = null
|
|
93
|
+
private var redBoxV2IOSCache: Boolean? = null
|
|
89
94
|
private var shouldPressibilityUseW3CPointerEventsForHoverCache: Boolean? = null
|
|
90
95
|
private var shouldTriggerResponderTransferOnScrollAndroidCache: Boolean? = null
|
|
91
96
|
private var skipActivityIdentityAssertionOnHostPauseCache: Boolean? = null
|
|
@@ -475,6 +480,15 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
|
|
475
480
|
return cached
|
|
476
481
|
}
|
|
477
482
|
|
|
483
|
+
override fun enableMutationObserverByDefault(): Boolean {
|
|
484
|
+
var cached = enableMutationObserverByDefaultCache
|
|
485
|
+
if (cached == null) {
|
|
486
|
+
cached = ReactNativeFeatureFlagsCxxInterop.enableMutationObserverByDefault()
|
|
487
|
+
enableMutationObserverByDefaultCache = cached
|
|
488
|
+
}
|
|
489
|
+
return cached
|
|
490
|
+
}
|
|
491
|
+
|
|
478
492
|
override fun enableNativeCSSParsing(): Boolean {
|
|
479
493
|
var cached = enableNativeCSSParsingCache
|
|
480
494
|
if (cached == null) {
|
|
@@ -637,6 +651,15 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
|
|
637
651
|
return cached
|
|
638
652
|
}
|
|
639
653
|
|
|
654
|
+
override fun fuseboxFrameRecordingEnabled(): Boolean {
|
|
655
|
+
var cached = fuseboxFrameRecordingEnabledCache
|
|
656
|
+
if (cached == null) {
|
|
657
|
+
cached = ReactNativeFeatureFlagsCxxInterop.fuseboxFrameRecordingEnabled()
|
|
658
|
+
fuseboxFrameRecordingEnabledCache = cached
|
|
659
|
+
}
|
|
660
|
+
return cached
|
|
661
|
+
}
|
|
662
|
+
|
|
640
663
|
override fun fuseboxNetworkInspectionEnabled(): Boolean {
|
|
641
664
|
var cached = fuseboxNetworkInspectionEnabledCache
|
|
642
665
|
if (cached == null) {
|
|
@@ -646,6 +669,15 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
|
|
646
669
|
return cached
|
|
647
670
|
}
|
|
648
671
|
|
|
672
|
+
override fun fuseboxScreenshotCaptureEnabled(): Boolean {
|
|
673
|
+
var cached = fuseboxScreenshotCaptureEnabledCache
|
|
674
|
+
if (cached == null) {
|
|
675
|
+
cached = ReactNativeFeatureFlagsCxxInterop.fuseboxScreenshotCaptureEnabled()
|
|
676
|
+
fuseboxScreenshotCaptureEnabledCache = cached
|
|
677
|
+
}
|
|
678
|
+
return cached
|
|
679
|
+
}
|
|
680
|
+
|
|
649
681
|
override fun hideOffscreenVirtualViewsOnIOS(): Boolean {
|
|
650
682
|
var cached = hideOffscreenVirtualViewsOnIOSCache
|
|
651
683
|
if (cached == null) {
|
|
@@ -700,6 +732,24 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
|
|
700
732
|
return cached
|
|
701
733
|
}
|
|
702
734
|
|
|
735
|
+
override fun redBoxV2Android(): Boolean {
|
|
736
|
+
var cached = redBoxV2AndroidCache
|
|
737
|
+
if (cached == null) {
|
|
738
|
+
cached = ReactNativeFeatureFlagsCxxInterop.redBoxV2Android()
|
|
739
|
+
redBoxV2AndroidCache = cached
|
|
740
|
+
}
|
|
741
|
+
return cached
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
override fun redBoxV2IOS(): Boolean {
|
|
745
|
+
var cached = redBoxV2IOSCache
|
|
746
|
+
if (cached == null) {
|
|
747
|
+
cached = ReactNativeFeatureFlagsCxxInterop.redBoxV2IOS()
|
|
748
|
+
redBoxV2IOSCache = cached
|
|
749
|
+
}
|
|
750
|
+
return cached
|
|
751
|
+
}
|
|
752
|
+
|
|
703
753
|
override fun shouldPressibilityUseW3CPointerEventsForHover(): Boolean {
|
|
704
754
|
var cached = shouldPressibilityUseW3CPointerEventsForHoverCache
|
|
705
755
|
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<<a648971d8196aa0950b623be31643a14>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -110,6 +110,8 @@ public object ReactNativeFeatureFlagsCxxInterop {
|
|
|
110
110
|
|
|
111
111
|
@DoNotStrip @JvmStatic public external fun enableModuleArgumentNSNullConversionIOS(): Boolean
|
|
112
112
|
|
|
113
|
+
@DoNotStrip @JvmStatic public external fun enableMutationObserverByDefault(): Boolean
|
|
114
|
+
|
|
113
115
|
@DoNotStrip @JvmStatic public external fun enableNativeCSSParsing(): Boolean
|
|
114
116
|
|
|
115
117
|
@DoNotStrip @JvmStatic public external fun enableNetworkEventReporting(): Boolean
|
|
@@ -146,8 +148,12 @@ public object ReactNativeFeatureFlagsCxxInterop {
|
|
|
146
148
|
|
|
147
149
|
@DoNotStrip @JvmStatic public external fun fuseboxEnabledRelease(): Boolean
|
|
148
150
|
|
|
151
|
+
@DoNotStrip @JvmStatic public external fun fuseboxFrameRecordingEnabled(): Boolean
|
|
152
|
+
|
|
149
153
|
@DoNotStrip @JvmStatic public external fun fuseboxNetworkInspectionEnabled(): Boolean
|
|
150
154
|
|
|
155
|
+
@DoNotStrip @JvmStatic public external fun fuseboxScreenshotCaptureEnabled(): Boolean
|
|
156
|
+
|
|
151
157
|
@DoNotStrip @JvmStatic public external fun hideOffscreenVirtualViewsOnIOS(): Boolean
|
|
152
158
|
|
|
153
159
|
@DoNotStrip @JvmStatic public external fun overrideBySynchronousMountPropsAtMountingAndroid(): Boolean
|
|
@@ -160,6 +166,10 @@ public object ReactNativeFeatureFlagsCxxInterop {
|
|
|
160
166
|
|
|
161
167
|
@DoNotStrip @JvmStatic public external fun preventShadowTreeCommitExhaustion(): Boolean
|
|
162
168
|
|
|
169
|
+
@DoNotStrip @JvmStatic public external fun redBoxV2Android(): Boolean
|
|
170
|
+
|
|
171
|
+
@DoNotStrip @JvmStatic public external fun redBoxV2IOS(): Boolean
|
|
172
|
+
|
|
163
173
|
@DoNotStrip @JvmStatic public external fun shouldPressibilityUseW3CPointerEventsForHover(): Boolean
|
|
164
174
|
|
|
165
175
|
@DoNotStrip @JvmStatic public external fun shouldTriggerResponderTransferOnScrollAndroid(): 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<<e4a89667424cfbf979d151851380545a>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -105,6 +105,8 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
|
|
|
105
105
|
|
|
106
106
|
override fun enableModuleArgumentNSNullConversionIOS(): Boolean = false
|
|
107
107
|
|
|
108
|
+
override fun enableMutationObserverByDefault(): Boolean = false
|
|
109
|
+
|
|
108
110
|
override fun enableNativeCSSParsing(): Boolean = false
|
|
109
111
|
|
|
110
112
|
override fun enableNetworkEventReporting(): Boolean = true
|
|
@@ -141,8 +143,12 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
|
|
|
141
143
|
|
|
142
144
|
override fun fuseboxEnabledRelease(): Boolean = false
|
|
143
145
|
|
|
146
|
+
override fun fuseboxFrameRecordingEnabled(): Boolean = false
|
|
147
|
+
|
|
144
148
|
override fun fuseboxNetworkInspectionEnabled(): Boolean = true
|
|
145
149
|
|
|
150
|
+
override fun fuseboxScreenshotCaptureEnabled(): Boolean = false
|
|
151
|
+
|
|
146
152
|
override fun hideOffscreenVirtualViewsOnIOS(): Boolean = false
|
|
147
153
|
|
|
148
154
|
override fun overrideBySynchronousMountPropsAtMountingAndroid(): Boolean = false
|
|
@@ -155,6 +161,10 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
|
|
|
155
161
|
|
|
156
162
|
override fun preventShadowTreeCommitExhaustion(): Boolean = false
|
|
157
163
|
|
|
164
|
+
override fun redBoxV2Android(): Boolean = false
|
|
165
|
+
|
|
166
|
+
override fun redBoxV2IOS(): Boolean = false
|
|
167
|
+
|
|
158
168
|
override fun shouldPressibilityUseW3CPointerEventsForHover(): Boolean = false
|
|
159
169
|
|
|
160
170
|
override fun shouldTriggerResponderTransferOnScrollAndroid(): Boolean = false
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<499aedb10bae64c096e7ad2e096bdd1f>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -65,6 +65,7 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
|
|
65
65
|
private var enableLayoutAnimationsOnIOSCache: Boolean? = null
|
|
66
66
|
private var enableMainQueueCoordinatorOnIOSCache: Boolean? = null
|
|
67
67
|
private var enableModuleArgumentNSNullConversionIOSCache: Boolean? = null
|
|
68
|
+
private var enableMutationObserverByDefaultCache: Boolean? = null
|
|
68
69
|
private var enableNativeCSSParsingCache: Boolean? = null
|
|
69
70
|
private var enableNetworkEventReportingCache: Boolean? = null
|
|
70
71
|
private var enablePreparedTextLayoutCache: Boolean? = null
|
|
@@ -83,13 +84,17 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
|
|
83
84
|
private var fixTextClippingAndroid15useBoundsForWidthCache: Boolean? = null
|
|
84
85
|
private var fuseboxAssertSingleHostStateCache: Boolean? = null
|
|
85
86
|
private var fuseboxEnabledReleaseCache: Boolean? = null
|
|
87
|
+
private var fuseboxFrameRecordingEnabledCache: Boolean? = null
|
|
86
88
|
private var fuseboxNetworkInspectionEnabledCache: Boolean? = null
|
|
89
|
+
private var fuseboxScreenshotCaptureEnabledCache: Boolean? = null
|
|
87
90
|
private var hideOffscreenVirtualViewsOnIOSCache: Boolean? = null
|
|
88
91
|
private var overrideBySynchronousMountPropsAtMountingAndroidCache: Boolean? = null
|
|
89
92
|
private var perfIssuesEnabledCache: Boolean? = null
|
|
90
93
|
private var perfMonitorV2EnabledCache: Boolean? = null
|
|
91
94
|
private var preparedTextCacheSizeCache: Double? = null
|
|
92
95
|
private var preventShadowTreeCommitExhaustionCache: Boolean? = null
|
|
96
|
+
private var redBoxV2AndroidCache: Boolean? = null
|
|
97
|
+
private var redBoxV2IOSCache: Boolean? = null
|
|
93
98
|
private var shouldPressibilityUseW3CPointerEventsForHoverCache: Boolean? = null
|
|
94
99
|
private var shouldTriggerResponderTransferOnScrollAndroidCache: Boolean? = null
|
|
95
100
|
private var skipActivityIdentityAssertionOnHostPauseCache: Boolean? = null
|
|
@@ -520,6 +525,16 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
|
|
520
525
|
return cached
|
|
521
526
|
}
|
|
522
527
|
|
|
528
|
+
override fun enableMutationObserverByDefault(): Boolean {
|
|
529
|
+
var cached = enableMutationObserverByDefaultCache
|
|
530
|
+
if (cached == null) {
|
|
531
|
+
cached = currentProvider.enableMutationObserverByDefault()
|
|
532
|
+
accessedFeatureFlags.add("enableMutationObserverByDefault")
|
|
533
|
+
enableMutationObserverByDefaultCache = cached
|
|
534
|
+
}
|
|
535
|
+
return cached
|
|
536
|
+
}
|
|
537
|
+
|
|
523
538
|
override fun enableNativeCSSParsing(): Boolean {
|
|
524
539
|
var cached = enableNativeCSSParsingCache
|
|
525
540
|
if (cached == null) {
|
|
@@ -700,6 +715,16 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
|
|
700
715
|
return cached
|
|
701
716
|
}
|
|
702
717
|
|
|
718
|
+
override fun fuseboxFrameRecordingEnabled(): Boolean {
|
|
719
|
+
var cached = fuseboxFrameRecordingEnabledCache
|
|
720
|
+
if (cached == null) {
|
|
721
|
+
cached = currentProvider.fuseboxFrameRecordingEnabled()
|
|
722
|
+
accessedFeatureFlags.add("fuseboxFrameRecordingEnabled")
|
|
723
|
+
fuseboxFrameRecordingEnabledCache = cached
|
|
724
|
+
}
|
|
725
|
+
return cached
|
|
726
|
+
}
|
|
727
|
+
|
|
703
728
|
override fun fuseboxNetworkInspectionEnabled(): Boolean {
|
|
704
729
|
var cached = fuseboxNetworkInspectionEnabledCache
|
|
705
730
|
if (cached == null) {
|
|
@@ -710,6 +735,16 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
|
|
710
735
|
return cached
|
|
711
736
|
}
|
|
712
737
|
|
|
738
|
+
override fun fuseboxScreenshotCaptureEnabled(): Boolean {
|
|
739
|
+
var cached = fuseboxScreenshotCaptureEnabledCache
|
|
740
|
+
if (cached == null) {
|
|
741
|
+
cached = currentProvider.fuseboxScreenshotCaptureEnabled()
|
|
742
|
+
accessedFeatureFlags.add("fuseboxScreenshotCaptureEnabled")
|
|
743
|
+
fuseboxScreenshotCaptureEnabledCache = cached
|
|
744
|
+
}
|
|
745
|
+
return cached
|
|
746
|
+
}
|
|
747
|
+
|
|
713
748
|
override fun hideOffscreenVirtualViewsOnIOS(): Boolean {
|
|
714
749
|
var cached = hideOffscreenVirtualViewsOnIOSCache
|
|
715
750
|
if (cached == null) {
|
|
@@ -770,6 +805,26 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
|
|
770
805
|
return cached
|
|
771
806
|
}
|
|
772
807
|
|
|
808
|
+
override fun redBoxV2Android(): Boolean {
|
|
809
|
+
var cached = redBoxV2AndroidCache
|
|
810
|
+
if (cached == null) {
|
|
811
|
+
cached = currentProvider.redBoxV2Android()
|
|
812
|
+
accessedFeatureFlags.add("redBoxV2Android")
|
|
813
|
+
redBoxV2AndroidCache = cached
|
|
814
|
+
}
|
|
815
|
+
return cached
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
override fun redBoxV2IOS(): Boolean {
|
|
819
|
+
var cached = redBoxV2IOSCache
|
|
820
|
+
if (cached == null) {
|
|
821
|
+
cached = currentProvider.redBoxV2IOS()
|
|
822
|
+
accessedFeatureFlags.add("redBoxV2IOS")
|
|
823
|
+
redBoxV2IOSCache = cached
|
|
824
|
+
}
|
|
825
|
+
return cached
|
|
826
|
+
}
|
|
827
|
+
|
|
773
828
|
override fun shouldPressibilityUseW3CPointerEventsForHover(): Boolean {
|
|
774
829
|
var cached = shouldPressibilityUseW3CPointerEventsForHoverCache
|
|
775
830
|
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<<4ed94743d9eafd0be32bb04471a18fc6>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -105,6 +105,8 @@ public interface ReactNativeFeatureFlagsProvider {
|
|
|
105
105
|
|
|
106
106
|
@DoNotStrip public fun enableModuleArgumentNSNullConversionIOS(): Boolean
|
|
107
107
|
|
|
108
|
+
@DoNotStrip public fun enableMutationObserverByDefault(): Boolean
|
|
109
|
+
|
|
108
110
|
@DoNotStrip public fun enableNativeCSSParsing(): Boolean
|
|
109
111
|
|
|
110
112
|
@DoNotStrip public fun enableNetworkEventReporting(): Boolean
|
|
@@ -141,8 +143,12 @@ public interface ReactNativeFeatureFlagsProvider {
|
|
|
141
143
|
|
|
142
144
|
@DoNotStrip public fun fuseboxEnabledRelease(): Boolean
|
|
143
145
|
|
|
146
|
+
@DoNotStrip public fun fuseboxFrameRecordingEnabled(): Boolean
|
|
147
|
+
|
|
144
148
|
@DoNotStrip public fun fuseboxNetworkInspectionEnabled(): Boolean
|
|
145
149
|
|
|
150
|
+
@DoNotStrip public fun fuseboxScreenshotCaptureEnabled(): Boolean
|
|
151
|
+
|
|
146
152
|
@DoNotStrip public fun hideOffscreenVirtualViewsOnIOS(): Boolean
|
|
147
153
|
|
|
148
154
|
@DoNotStrip public fun overrideBySynchronousMountPropsAtMountingAndroid(): Boolean
|
|
@@ -155,6 +161,10 @@ public interface ReactNativeFeatureFlagsProvider {
|
|
|
155
161
|
|
|
156
162
|
@DoNotStrip public fun preventShadowTreeCommitExhaustion(): Boolean
|
|
157
163
|
|
|
164
|
+
@DoNotStrip public fun redBoxV2Android(): Boolean
|
|
165
|
+
|
|
166
|
+
@DoNotStrip public fun redBoxV2IOS(): Boolean
|
|
167
|
+
|
|
158
168
|
@DoNotStrip public fun shouldPressibilityUseW3CPointerEventsForHover(): Boolean
|
|
159
169
|
|
|
160
170
|
@DoNotStrip public fun shouldTriggerResponderTransferOnScrollAndroid(): Boolean
|