mirror of
https://github.com/facebook/react-native.git
synced 2024-11-21 22:10:14 +00:00
Clean up forceBatchingMountItemsOnAndroid
feature flag (#47546)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/47546 Changelog: [internal] Cleaning up the feature flag as we've tested it's safe to land. Reviewed By: javache Differential Revision: D65749504 fbshipit-source-id: 964db7e9c31ebb8d7e4f7e2703a3040709c6ed6e
This commit is contained in:
parent
6c577e96db
commit
d7cb6d95a8
@ -116,9 +116,7 @@ public class MountItemDispatcher {
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReactNativeFeatureFlags.forceBatchingMountItemsOnAndroid()) {
|
||||
mInDispatch = true;
|
||||
}
|
||||
mInDispatch = true;
|
||||
|
||||
try {
|
||||
dispatchMountItems();
|
||||
|
@ -232,19 +232,13 @@ public class SurfaceMountingManager {
|
||||
((ReactRoot) rootView).setRootViewTag(mSurfaceId);
|
||||
}
|
||||
|
||||
if (!ReactNativeFeatureFlags.forceBatchingMountItemsOnAndroid()) {
|
||||
mRootViewAttached = true;
|
||||
}
|
||||
|
||||
executeMountItemsOnViewAttach();
|
||||
|
||||
if (ReactNativeFeatureFlags.forceBatchingMountItemsOnAndroid()) {
|
||||
// By doing this after `executeMountItemsOnViewAttach`, we ensure
|
||||
// that any operations scheduled while processing this queue are
|
||||
// also added to the queue, instead of being processed immediately
|
||||
// through the queue in `MountItemDispatcher`.
|
||||
mRootViewAttached = true;
|
||||
}
|
||||
// By doing this after `executeMountItemsOnViewAttach`, we ensure
|
||||
// that any operations scheduled while processing this queue are
|
||||
// also added to the queue, instead of being processed immediately
|
||||
// through the queue in `MountItemDispatcher`.
|
||||
mRootViewAttached = true;
|
||||
};
|
||||
|
||||
if (UiThreadUtil.isOnUiThread()) {
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<b7f79cb934f8bf2519439339fc7562d3>>
|
||||
* @generated SignedSource<<b2f32b87f4e87ad9588add08dcb9b0c6>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -208,12 +208,6 @@ public object ReactNativeFeatureFlags {
|
||||
@JvmStatic
|
||||
public fun fixMountingCoordinatorReportedPendingTransactionsOnAndroid(): Boolean = accessor.fixMountingCoordinatorReportedPendingTransactionsOnAndroid()
|
||||
|
||||
/**
|
||||
* Forces the mounting layer on Android to always batch mount items instead of dispatching them immediately. This might fix some crashes related to synchronous state updates, where some views dispatch state updates during mount.
|
||||
*/
|
||||
@JvmStatic
|
||||
public fun forceBatchingMountItemsOnAndroid(): Boolean = accessor.forceBatchingMountItemsOnAndroid()
|
||||
|
||||
/**
|
||||
* Flag determining if the React Native DevTools (Fusebox) CDP backend should be enabled in debug builds. This flag is global and should not be changed across React Host lifetimes.
|
||||
*/
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<1fa2a94ddb1563952c457e098f0deed7>>
|
||||
* @generated SignedSource<<2a25e30cbee2548ee5538ecbc4b92fdc>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -50,7 +50,6 @@ public class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAccesso
|
||||
private var excludeYogaFromRawPropsCache: Boolean? = null
|
||||
private var fixMappingOfEventPrioritiesBetweenFabricAndReactCache: Boolean? = null
|
||||
private var fixMountingCoordinatorReportedPendingTransactionsOnAndroidCache: Boolean? = null
|
||||
private var forceBatchingMountItemsOnAndroidCache: Boolean? = null
|
||||
private var fuseboxEnabledDebugCache: Boolean? = null
|
||||
private var fuseboxEnabledReleaseCache: Boolean? = null
|
||||
private var initEagerTurboModulesOnNativeModulesQueueAndroidCache: Boolean? = null
|
||||
@ -338,15 +337,6 @@ public class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAccesso
|
||||
return cached
|
||||
}
|
||||
|
||||
override fun forceBatchingMountItemsOnAndroid(): Boolean {
|
||||
var cached = forceBatchingMountItemsOnAndroidCache
|
||||
if (cached == null) {
|
||||
cached = ReactNativeFeatureFlagsCxxInterop.forceBatchingMountItemsOnAndroid()
|
||||
forceBatchingMountItemsOnAndroidCache = cached
|
||||
}
|
||||
return cached
|
||||
}
|
||||
|
||||
override fun fuseboxEnabledDebug(): Boolean {
|
||||
var cached = fuseboxEnabledDebugCache
|
||||
if (cached == null) {
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<fe7f93d5f6aeba9007d892074aac5b3a>>
|
||||
* @generated SignedSource<<0656ed5b5317e6caf85605bba62d08d1>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -88,8 +88,6 @@ public object ReactNativeFeatureFlagsCxxInterop {
|
||||
|
||||
@DoNotStrip @JvmStatic public external fun fixMountingCoordinatorReportedPendingTransactionsOnAndroid(): Boolean
|
||||
|
||||
@DoNotStrip @JvmStatic public external fun forceBatchingMountItemsOnAndroid(): Boolean
|
||||
|
||||
@DoNotStrip @JvmStatic public external fun fuseboxEnabledDebug(): Boolean
|
||||
|
||||
@DoNotStrip @JvmStatic public external fun fuseboxEnabledRelease(): Boolean
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<09dd6fb517b7b965c5cc554a075e5590>>
|
||||
* @generated SignedSource<<43c2b02a67fea9ad6d36e7716cb81ccc>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -83,8 +83,6 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
|
||||
|
||||
override fun fixMountingCoordinatorReportedPendingTransactionsOnAndroid(): Boolean = false
|
||||
|
||||
override fun forceBatchingMountItemsOnAndroid(): Boolean = false
|
||||
|
||||
override fun fuseboxEnabledDebug(): Boolean = true
|
||||
|
||||
override fun fuseboxEnabledRelease(): Boolean = false
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<7e78a7ec91d557297f869b964cc91eac>>
|
||||
* @generated SignedSource<<71dcfc3812f442a35ae2c24621c05605>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -54,7 +54,6 @@ public class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcces
|
||||
private var excludeYogaFromRawPropsCache: Boolean? = null
|
||||
private var fixMappingOfEventPrioritiesBetweenFabricAndReactCache: Boolean? = null
|
||||
private var fixMountingCoordinatorReportedPendingTransactionsOnAndroidCache: Boolean? = null
|
||||
private var forceBatchingMountItemsOnAndroidCache: Boolean? = null
|
||||
private var fuseboxEnabledDebugCache: Boolean? = null
|
||||
private var fuseboxEnabledReleaseCache: Boolean? = null
|
||||
private var initEagerTurboModulesOnNativeModulesQueueAndroidCache: Boolean? = null
|
||||
@ -372,16 +371,6 @@ public class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcces
|
||||
return cached
|
||||
}
|
||||
|
||||
override fun forceBatchingMountItemsOnAndroid(): Boolean {
|
||||
var cached = forceBatchingMountItemsOnAndroidCache
|
||||
if (cached == null) {
|
||||
cached = currentProvider.forceBatchingMountItemsOnAndroid()
|
||||
accessedFeatureFlags.add("forceBatchingMountItemsOnAndroid")
|
||||
forceBatchingMountItemsOnAndroidCache = cached
|
||||
}
|
||||
return cached
|
||||
}
|
||||
|
||||
override fun fuseboxEnabledDebug(): Boolean {
|
||||
var cached = fuseboxEnabledDebugCache
|
||||
if (cached == null) {
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<0c6450697814b66ae910d66f278213ef>>
|
||||
* @generated SignedSource<<2dd3e32b571ae171bd5621424116188b>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -83,8 +83,6 @@ public interface ReactNativeFeatureFlagsProvider {
|
||||
|
||||
@DoNotStrip public fun fixMountingCoordinatorReportedPendingTransactionsOnAndroid(): Boolean
|
||||
|
||||
@DoNotStrip public fun forceBatchingMountItemsOnAndroid(): Boolean
|
||||
|
||||
@DoNotStrip public fun fuseboxEnabledDebug(): Boolean
|
||||
|
||||
@DoNotStrip public fun fuseboxEnabledRelease(): Boolean
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<869d22f5b2b35741b171a7257e91f114>>
|
||||
* @generated SignedSource<<62bd0386265d0fa4bdccab1faf22d25c>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -219,12 +219,6 @@ class ReactNativeFeatureFlagsProviderHolder
|
||||
return method(javaProvider_);
|
||||
}
|
||||
|
||||
bool forceBatchingMountItemsOnAndroid() override {
|
||||
static const auto method =
|
||||
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("forceBatchingMountItemsOnAndroid");
|
||||
return method(javaProvider_);
|
||||
}
|
||||
|
||||
bool fuseboxEnabledDebug() override {
|
||||
static const auto method =
|
||||
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("fuseboxEnabledDebug");
|
||||
@ -475,11 +469,6 @@ bool JReactNativeFeatureFlagsCxxInterop::fixMountingCoordinatorReportedPendingTr
|
||||
return ReactNativeFeatureFlags::fixMountingCoordinatorReportedPendingTransactionsOnAndroid();
|
||||
}
|
||||
|
||||
bool JReactNativeFeatureFlagsCxxInterop::forceBatchingMountItemsOnAndroid(
|
||||
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
||||
return ReactNativeFeatureFlags::forceBatchingMountItemsOnAndroid();
|
||||
}
|
||||
|
||||
bool JReactNativeFeatureFlagsCxxInterop::fuseboxEnabledDebug(
|
||||
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
||||
return ReactNativeFeatureFlags::fuseboxEnabledDebug();
|
||||
@ -681,9 +670,6 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
|
||||
makeNativeMethod(
|
||||
"fixMountingCoordinatorReportedPendingTransactionsOnAndroid",
|
||||
JReactNativeFeatureFlagsCxxInterop::fixMountingCoordinatorReportedPendingTransactionsOnAndroid),
|
||||
makeNativeMethod(
|
||||
"forceBatchingMountItemsOnAndroid",
|
||||
JReactNativeFeatureFlagsCxxInterop::forceBatchingMountItemsOnAndroid),
|
||||
makeNativeMethod(
|
||||
"fuseboxEnabledDebug",
|
||||
JReactNativeFeatureFlagsCxxInterop::fuseboxEnabledDebug),
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<344f9c1de8883c4b72c124dd626f6489>>
|
||||
* @generated SignedSource<<00e9f2368ec7745d960e8671b0e58d19>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -120,9 +120,6 @@ class JReactNativeFeatureFlagsCxxInterop
|
||||
static bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid(
|
||||
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
||||
|
||||
static bool forceBatchingMountItemsOnAndroid(
|
||||
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
||||
|
||||
static bool fuseboxEnabledDebug(
|
||||
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<f2175cbbe38a66b9aa5c3f0feaa07462>>
|
||||
* @generated SignedSource<<e432522acfd785458553aa09806edb83>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -146,10 +146,6 @@ bool ReactNativeFeatureFlags::fixMountingCoordinatorReportedPendingTransactionsO
|
||||
return getAccessor().fixMountingCoordinatorReportedPendingTransactionsOnAndroid();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlags::forceBatchingMountItemsOnAndroid() {
|
||||
return getAccessor().forceBatchingMountItemsOnAndroid();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlags::fuseboxEnabledDebug() {
|
||||
return getAccessor().fuseboxEnabledDebug();
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<e81b275213e8668a8cd22cd40eea70af>>
|
||||
* @generated SignedSource<<079c1e8cd65a004c1b26f1a2517e9042>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -189,11 +189,6 @@ class ReactNativeFeatureFlags {
|
||||
*/
|
||||
RN_EXPORT static bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid();
|
||||
|
||||
/**
|
||||
* Forces the mounting layer on Android to always batch mount items instead of dispatching them immediately. This might fix some crashes related to synchronous state updates, where some views dispatch state updates during mount.
|
||||
*/
|
||||
RN_EXPORT static bool forceBatchingMountItemsOnAndroid();
|
||||
|
||||
/**
|
||||
* Flag determining if the React Native DevTools (Fusebox) CDP backend should be enabled in debug builds. This flag is global and should not be changed across React Host lifetimes.
|
||||
*/
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<331139167971b86c56d29f8ef914c6d1>>
|
||||
* @generated SignedSource<<8f2e12ef2ddfb1e49b0cdfed8e695e54>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -569,24 +569,6 @@ bool ReactNativeFeatureFlagsAccessor::fixMountingCoordinatorReportedPendingTrans
|
||||
return flagValue.value();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlagsAccessor::forceBatchingMountItemsOnAndroid() {
|
||||
auto flagValue = forceBatchingMountItemsOnAndroid_.load();
|
||||
|
||||
if (!flagValue.has_value()) {
|
||||
// This block is not exclusive but it is not necessary.
|
||||
// If multiple threads try to initialize the feature flag, we would only
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(30, "forceBatchingMountItemsOnAndroid");
|
||||
|
||||
flagValue = currentProvider_->forceBatchingMountItemsOnAndroid();
|
||||
forceBatchingMountItemsOnAndroid_ = flagValue;
|
||||
}
|
||||
|
||||
return flagValue.value();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlagsAccessor::fuseboxEnabledDebug() {
|
||||
auto flagValue = fuseboxEnabledDebug_.load();
|
||||
|
||||
@ -596,7 +578,7 @@ bool ReactNativeFeatureFlagsAccessor::fuseboxEnabledDebug() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(31, "fuseboxEnabledDebug");
|
||||
markFlagAsAccessed(30, "fuseboxEnabledDebug");
|
||||
|
||||
flagValue = currentProvider_->fuseboxEnabledDebug();
|
||||
fuseboxEnabledDebug_ = flagValue;
|
||||
@ -614,7 +596,7 @@ bool ReactNativeFeatureFlagsAccessor::fuseboxEnabledRelease() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(32, "fuseboxEnabledRelease");
|
||||
markFlagAsAccessed(31, "fuseboxEnabledRelease");
|
||||
|
||||
flagValue = currentProvider_->fuseboxEnabledRelease();
|
||||
fuseboxEnabledRelease_ = flagValue;
|
||||
@ -632,7 +614,7 @@ bool ReactNativeFeatureFlagsAccessor::initEagerTurboModulesOnNativeModulesQueueA
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(33, "initEagerTurboModulesOnNativeModulesQueueAndroid");
|
||||
markFlagAsAccessed(32, "initEagerTurboModulesOnNativeModulesQueueAndroid");
|
||||
|
||||
flagValue = currentProvider_->initEagerTurboModulesOnNativeModulesQueueAndroid();
|
||||
initEagerTurboModulesOnNativeModulesQueueAndroid_ = flagValue;
|
||||
@ -650,7 +632,7 @@ bool ReactNativeFeatureFlagsAccessor::lazyAnimationCallbacks() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(34, "lazyAnimationCallbacks");
|
||||
markFlagAsAccessed(33, "lazyAnimationCallbacks");
|
||||
|
||||
flagValue = currentProvider_->lazyAnimationCallbacks();
|
||||
lazyAnimationCallbacks_ = flagValue;
|
||||
@ -668,7 +650,7 @@ bool ReactNativeFeatureFlagsAccessor::loadVectorDrawablesOnImages() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(35, "loadVectorDrawablesOnImages");
|
||||
markFlagAsAccessed(34, "loadVectorDrawablesOnImages");
|
||||
|
||||
flagValue = currentProvider_->loadVectorDrawablesOnImages();
|
||||
loadVectorDrawablesOnImages_ = flagValue;
|
||||
@ -686,7 +668,7 @@ bool ReactNativeFeatureFlagsAccessor::setAndroidLayoutDirection() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(36, "setAndroidLayoutDirection");
|
||||
markFlagAsAccessed(35, "setAndroidLayoutDirection");
|
||||
|
||||
flagValue = currentProvider_->setAndroidLayoutDirection();
|
||||
setAndroidLayoutDirection_ = flagValue;
|
||||
@ -704,7 +686,7 @@ bool ReactNativeFeatureFlagsAccessor::traceTurboModulePromiseRejectionsOnAndroid
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(37, "traceTurboModulePromiseRejectionsOnAndroid");
|
||||
markFlagAsAccessed(36, "traceTurboModulePromiseRejectionsOnAndroid");
|
||||
|
||||
flagValue = currentProvider_->traceTurboModulePromiseRejectionsOnAndroid();
|
||||
traceTurboModulePromiseRejectionsOnAndroid_ = flagValue;
|
||||
@ -722,7 +704,7 @@ bool ReactNativeFeatureFlagsAccessor::useAlwaysAvailableJSErrorHandling() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(38, "useAlwaysAvailableJSErrorHandling");
|
||||
markFlagAsAccessed(37, "useAlwaysAvailableJSErrorHandling");
|
||||
|
||||
flagValue = currentProvider_->useAlwaysAvailableJSErrorHandling();
|
||||
useAlwaysAvailableJSErrorHandling_ = flagValue;
|
||||
@ -740,7 +722,7 @@ bool ReactNativeFeatureFlagsAccessor::useFabricInterop() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(39, "useFabricInterop");
|
||||
markFlagAsAccessed(38, "useFabricInterop");
|
||||
|
||||
flagValue = currentProvider_->useFabricInterop();
|
||||
useFabricInterop_ = flagValue;
|
||||
@ -758,7 +740,7 @@ bool ReactNativeFeatureFlagsAccessor::useImmediateExecutorInAndroidBridgeless()
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(40, "useImmediateExecutorInAndroidBridgeless");
|
||||
markFlagAsAccessed(39, "useImmediateExecutorInAndroidBridgeless");
|
||||
|
||||
flagValue = currentProvider_->useImmediateExecutorInAndroidBridgeless();
|
||||
useImmediateExecutorInAndroidBridgeless_ = flagValue;
|
||||
@ -776,7 +758,7 @@ bool ReactNativeFeatureFlagsAccessor::useNativeViewConfigsInBridgelessMode() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(41, "useNativeViewConfigsInBridgelessMode");
|
||||
markFlagAsAccessed(40, "useNativeViewConfigsInBridgelessMode");
|
||||
|
||||
flagValue = currentProvider_->useNativeViewConfigsInBridgelessMode();
|
||||
useNativeViewConfigsInBridgelessMode_ = flagValue;
|
||||
@ -794,7 +776,7 @@ bool ReactNativeFeatureFlagsAccessor::useOptimisedViewPreallocationOnAndroid() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(42, "useOptimisedViewPreallocationOnAndroid");
|
||||
markFlagAsAccessed(41, "useOptimisedViewPreallocationOnAndroid");
|
||||
|
||||
flagValue = currentProvider_->useOptimisedViewPreallocationOnAndroid();
|
||||
useOptimisedViewPreallocationOnAndroid_ = flagValue;
|
||||
@ -812,7 +794,7 @@ bool ReactNativeFeatureFlagsAccessor::useOptimizedEventBatchingOnAndroid() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(43, "useOptimizedEventBatchingOnAndroid");
|
||||
markFlagAsAccessed(42, "useOptimizedEventBatchingOnAndroid");
|
||||
|
||||
flagValue = currentProvider_->useOptimizedEventBatchingOnAndroid();
|
||||
useOptimizedEventBatchingOnAndroid_ = flagValue;
|
||||
@ -830,7 +812,7 @@ bool ReactNativeFeatureFlagsAccessor::useRuntimeShadowNodeReferenceUpdate() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(44, "useRuntimeShadowNodeReferenceUpdate");
|
||||
markFlagAsAccessed(43, "useRuntimeShadowNodeReferenceUpdate");
|
||||
|
||||
flagValue = currentProvider_->useRuntimeShadowNodeReferenceUpdate();
|
||||
useRuntimeShadowNodeReferenceUpdate_ = flagValue;
|
||||
@ -848,7 +830,7 @@ bool ReactNativeFeatureFlagsAccessor::useTurboModuleInterop() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(45, "useTurboModuleInterop");
|
||||
markFlagAsAccessed(44, "useTurboModuleInterop");
|
||||
|
||||
flagValue = currentProvider_->useTurboModuleInterop();
|
||||
useTurboModuleInterop_ = flagValue;
|
||||
@ -866,7 +848,7 @@ bool ReactNativeFeatureFlagsAccessor::useTurboModules() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(46, "useTurboModules");
|
||||
markFlagAsAccessed(45, "useTurboModules");
|
||||
|
||||
flagValue = currentProvider_->useTurboModules();
|
||||
useTurboModules_ = flagValue;
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<ef77bba170be911320a9f8f2c1c98a9f>>
|
||||
* @generated SignedSource<<1efdbd02124b25d6599e4867f08c69c9>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -62,7 +62,6 @@ class ReactNativeFeatureFlagsAccessor {
|
||||
bool excludeYogaFromRawProps();
|
||||
bool fixMappingOfEventPrioritiesBetweenFabricAndReact();
|
||||
bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid();
|
||||
bool forceBatchingMountItemsOnAndroid();
|
||||
bool fuseboxEnabledDebug();
|
||||
bool fuseboxEnabledRelease();
|
||||
bool initEagerTurboModulesOnNativeModulesQueueAndroid();
|
||||
@ -90,7 +89,7 @@ class ReactNativeFeatureFlagsAccessor {
|
||||
std::unique_ptr<ReactNativeFeatureFlagsProvider> currentProvider_;
|
||||
bool wasOverridden_;
|
||||
|
||||
std::array<std::atomic<const char*>, 47> accessedFeatureFlags_;
|
||||
std::array<std::atomic<const char*>, 46> accessedFeatureFlags_;
|
||||
|
||||
std::atomic<std::optional<bool>> commonTestFlag_;
|
||||
std::atomic<std::optional<bool>> allowRecursiveCommitsWithSynchronousMountOnAndroid_;
|
||||
@ -122,7 +121,6 @@ class ReactNativeFeatureFlagsAccessor {
|
||||
std::atomic<std::optional<bool>> excludeYogaFromRawProps_;
|
||||
std::atomic<std::optional<bool>> fixMappingOfEventPrioritiesBetweenFabricAndReact_;
|
||||
std::atomic<std::optional<bool>> fixMountingCoordinatorReportedPendingTransactionsOnAndroid_;
|
||||
std::atomic<std::optional<bool>> forceBatchingMountItemsOnAndroid_;
|
||||
std::atomic<std::optional<bool>> fuseboxEnabledDebug_;
|
||||
std::atomic<std::optional<bool>> fuseboxEnabledRelease_;
|
||||
std::atomic<std::optional<bool>> initEagerTurboModulesOnNativeModulesQueueAndroid_;
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<2964ff45378547dd40a9b0df440f8869>>
|
||||
* @generated SignedSource<<ec502f5beacb2119c3fb1f319a95dfc9>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -147,10 +147,6 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool forceBatchingMountItemsOnAndroid() override {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool fuseboxEnabledDebug() override {
|
||||
return true;
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<5e45e15376ce8426cb5d4ddbfe599066>>
|
||||
* @generated SignedSource<<9038e8340a349ed8f4abee66555e98d3>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -55,7 +55,6 @@ class ReactNativeFeatureFlagsProvider {
|
||||
virtual bool excludeYogaFromRawProps() = 0;
|
||||
virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() = 0;
|
||||
virtual bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid() = 0;
|
||||
virtual bool forceBatchingMountItemsOnAndroid() = 0;
|
||||
virtual bool fuseboxEnabledDebug() = 0;
|
||||
virtual bool fuseboxEnabledRelease() = 0;
|
||||
virtual bool initEagerTurboModulesOnNativeModulesQueueAndroid() = 0;
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<3a530491b7f90f1c0a1e75a6d618f586>>
|
||||
* @generated SignedSource<<1626340cbb5cc8958d6b16c9b717e91e>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -208,11 +208,6 @@ bool NativeReactNativeFeatureFlags::fixMountingCoordinatorReportedPendingTransac
|
||||
return ReactNativeFeatureFlags::fixMountingCoordinatorReportedPendingTransactionsOnAndroid();
|
||||
}
|
||||
|
||||
bool NativeReactNativeFeatureFlags::forceBatchingMountItemsOnAndroid(
|
||||
jsi::Runtime& /*runtime*/) {
|
||||
return ReactNativeFeatureFlags::forceBatchingMountItemsOnAndroid();
|
||||
}
|
||||
|
||||
bool NativeReactNativeFeatureFlags::fuseboxEnabledDebug(
|
||||
jsi::Runtime& /*runtime*/) {
|
||||
return ReactNativeFeatureFlags::fuseboxEnabledDebug();
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<4c476d0f5a9657387dd5f49db4ebde2c>>
|
||||
* @generated SignedSource<<c283f40e36ee19d1f7d5d9aac4747e33>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -101,8 +101,6 @@ class NativeReactNativeFeatureFlags
|
||||
|
||||
bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid(jsi::Runtime& runtime);
|
||||
|
||||
bool forceBatchingMountItemsOnAndroid(jsi::Runtime& runtime);
|
||||
|
||||
bool fuseboxEnabledDebug(jsi::Runtime& runtime);
|
||||
|
||||
bool fuseboxEnabledRelease(jsi::Runtime& runtime);
|
||||
|
@ -322,15 +322,6 @@ const definitions: FeatureFlagDefinitions = {
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
},
|
||||
forceBatchingMountItemsOnAndroid: {
|
||||
defaultValue: false,
|
||||
metadata: {
|
||||
dateAdded: '2024-04-10',
|
||||
description:
|
||||
'Forces the mounting layer on Android to always batch mount items instead of dispatching them immediately. This might fix some crashes related to synchronous state updates, where some views dispatch state updates during mount.',
|
||||
purpose: 'experimentation',
|
||||
},
|
||||
},
|
||||
fuseboxEnabledDebug: {
|
||||
defaultValue: true,
|
||||
metadata: {
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<716c4507093099c254b57d744366bd05>>
|
||||
* @generated SignedSource<<fc2fed53108032e45071d0486a5db4a7>>
|
||||
* @flow strict
|
||||
*/
|
||||
|
||||
@ -83,7 +83,6 @@ export type ReactNativeFeatureFlags = {
|
||||
excludeYogaFromRawProps: Getter<boolean>,
|
||||
fixMappingOfEventPrioritiesBetweenFabricAndReact: Getter<boolean>,
|
||||
fixMountingCoordinatorReportedPendingTransactionsOnAndroid: Getter<boolean>,
|
||||
forceBatchingMountItemsOnAndroid: Getter<boolean>,
|
||||
fuseboxEnabledDebug: Getter<boolean>,
|
||||
fuseboxEnabledRelease: Getter<boolean>,
|
||||
initEagerTurboModulesOnNativeModulesQueueAndroid: Getter<boolean>,
|
||||
@ -320,10 +319,6 @@ export const fixMappingOfEventPrioritiesBetweenFabricAndReact: Getter<boolean> =
|
||||
* Fixes a limitation on Android where the mounting coordinator would report there are no pending transactions but some of them were actually not processed due to the use of the push model.
|
||||
*/
|
||||
export const fixMountingCoordinatorReportedPendingTransactionsOnAndroid: Getter<boolean> = createNativeFlagGetter('fixMountingCoordinatorReportedPendingTransactionsOnAndroid', false);
|
||||
/**
|
||||
* Forces the mounting layer on Android to always batch mount items instead of dispatching them immediately. This might fix some crashes related to synchronous state updates, where some views dispatch state updates during mount.
|
||||
*/
|
||||
export const forceBatchingMountItemsOnAndroid: Getter<boolean> = createNativeFlagGetter('forceBatchingMountItemsOnAndroid', false);
|
||||
/**
|
||||
* Flag determining if the React Native DevTools (Fusebox) CDP backend should be enabled in debug builds. This flag is global and should not be changed across React Host lifetimes.
|
||||
*/
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @generated SignedSource<<d4297e2a804f238f538463d3d9af480a>>
|
||||
* @generated SignedSource<<53510b80964a952f0fc4ed97a6d59386>>
|
||||
* @flow strict
|
||||
*/
|
||||
|
||||
@ -56,7 +56,6 @@ export interface Spec extends TurboModule {
|
||||
+excludeYogaFromRawProps?: () => boolean;
|
||||
+fixMappingOfEventPrioritiesBetweenFabricAndReact?: () => boolean;
|
||||
+fixMountingCoordinatorReportedPendingTransactionsOnAndroid?: () => boolean;
|
||||
+forceBatchingMountItemsOnAndroid?: () => boolean;
|
||||
+fuseboxEnabledDebug?: () => boolean;
|
||||
+fuseboxEnabledRelease?: () => boolean;
|
||||
+initEagerTurboModulesOnNativeModulesQueueAndroid?: () => boolean;
|
||||
|
Loading…
Reference in New Issue
Block a user