mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Cleanup fixDifferentiatorEmittingUpdatesWithWrongParentTag (#50221)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/50221 This was already rolled out by default previously, but we wanted to complete further testing internally before cleaning up the flag. Changelog: [Internal] Reviewed By: rubennorte Differential Revision: D71735311 fbshipit-source-id: b9d32787081fbe3d7fb740067d3709624028fa23
This commit is contained in:
committed by
Facebook GitHub Bot
parent
be7abbcf3f
commit
e104532357
+1
-7
@@ -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<<661dc1be35759bceb19c3521ed97c106>>
|
||||
* @generated SignedSource<<9a17ecc37b3ecd8c0830d9875e8b4453>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -186,12 +186,6 @@ public object ReactNativeFeatureFlags {
|
||||
@JvmStatic
|
||||
public fun enableViewRecyclingForView(): Boolean = accessor.enableViewRecyclingForView()
|
||||
|
||||
/**
|
||||
* Fixes a bug in Differentiator where parent views may be referenced before they're created
|
||||
*/
|
||||
@JvmStatic
|
||||
public fun fixDifferentiatorEmittingUpdatesWithWrongParentTag(): Boolean = accessor.fixDifferentiatorEmittingUpdatesWithWrongParentTag()
|
||||
|
||||
/**
|
||||
* Uses the default event priority instead of the discreet event priority by default when dispatching events from Fabric to React.
|
||||
*/
|
||||
|
||||
+1
-11
@@ -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<<db16919323fef2205be8b37537510c1d>>
|
||||
* @generated SignedSource<<a510210d8ca4af5b17ea54113ace27b4>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -46,7 +46,6 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
||||
private var enableViewRecyclingCache: Boolean? = null
|
||||
private var enableViewRecyclingForTextCache: Boolean? = null
|
||||
private var enableViewRecyclingForViewCache: Boolean? = null
|
||||
private var fixDifferentiatorEmittingUpdatesWithWrongParentTagCache: Boolean? = null
|
||||
private var fixMappingOfEventPrioritiesBetweenFabricAndReactCache: Boolean? = null
|
||||
private var fixMountingCoordinatorReportedPendingTransactionsOnAndroidCache: Boolean? = null
|
||||
private var fuseboxEnabledReleaseCache: Boolean? = null
|
||||
@@ -297,15 +296,6 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
|
||||
return cached
|
||||
}
|
||||
|
||||
override fun fixDifferentiatorEmittingUpdatesWithWrongParentTag(): Boolean {
|
||||
var cached = fixDifferentiatorEmittingUpdatesWithWrongParentTagCache
|
||||
if (cached == null) {
|
||||
cached = ReactNativeFeatureFlagsCxxInterop.fixDifferentiatorEmittingUpdatesWithWrongParentTag()
|
||||
fixDifferentiatorEmittingUpdatesWithWrongParentTagCache = cached
|
||||
}
|
||||
return cached
|
||||
}
|
||||
|
||||
override fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean {
|
||||
var cached = fixMappingOfEventPrioritiesBetweenFabricAndReactCache
|
||||
if (cached == null) {
|
||||
|
||||
+1
-3
@@ -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<<522c2ef58105dc16f104e047b92cad88>>
|
||||
* @generated SignedSource<<773a44eea2720802432ce2f0b8d19027>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -80,8 +80,6 @@ public object ReactNativeFeatureFlagsCxxInterop {
|
||||
|
||||
@DoNotStrip @JvmStatic public external fun enableViewRecyclingForView(): Boolean
|
||||
|
||||
@DoNotStrip @JvmStatic public external fun fixDifferentiatorEmittingUpdatesWithWrongParentTag(): Boolean
|
||||
|
||||
@DoNotStrip @JvmStatic public external fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean
|
||||
|
||||
@DoNotStrip @JvmStatic public external fun fixMountingCoordinatorReportedPendingTransactionsOnAndroid(): Boolean
|
||||
|
||||
+1
-3
@@ -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<<8383768fde5c98d3a0ecd3bc69ab3332>>
|
||||
* @generated SignedSource<<6144e43dc39f259ac7f4de359da03d03>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -75,8 +75,6 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
|
||||
|
||||
override fun enableViewRecyclingForView(): Boolean = true
|
||||
|
||||
override fun fixDifferentiatorEmittingUpdatesWithWrongParentTag(): Boolean = true
|
||||
|
||||
override fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean = false
|
||||
|
||||
override fun fixMountingCoordinatorReportedPendingTransactionsOnAndroid(): Boolean = false
|
||||
|
||||
+1
-12
@@ -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<<ca1ebdf95e0813e7946ffa781e35e0ff>>
|
||||
* @generated SignedSource<<22c91abf446f63afd0c09b02536b13f0>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -50,7 +50,6 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
||||
private var enableViewRecyclingCache: Boolean? = null
|
||||
private var enableViewRecyclingForTextCache: Boolean? = null
|
||||
private var enableViewRecyclingForViewCache: Boolean? = null
|
||||
private var fixDifferentiatorEmittingUpdatesWithWrongParentTagCache: Boolean? = null
|
||||
private var fixMappingOfEventPrioritiesBetweenFabricAndReactCache: Boolean? = null
|
||||
private var fixMountingCoordinatorReportedPendingTransactionsOnAndroidCache: Boolean? = null
|
||||
private var fuseboxEnabledReleaseCache: Boolean? = null
|
||||
@@ -327,16 +326,6 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
|
||||
return cached
|
||||
}
|
||||
|
||||
override fun fixDifferentiatorEmittingUpdatesWithWrongParentTag(): Boolean {
|
||||
var cached = fixDifferentiatorEmittingUpdatesWithWrongParentTagCache
|
||||
if (cached == null) {
|
||||
cached = currentProvider.fixDifferentiatorEmittingUpdatesWithWrongParentTag()
|
||||
accessedFeatureFlags.add("fixDifferentiatorEmittingUpdatesWithWrongParentTag")
|
||||
fixDifferentiatorEmittingUpdatesWithWrongParentTagCache = cached
|
||||
}
|
||||
return cached
|
||||
}
|
||||
|
||||
override fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean {
|
||||
var cached = fixMappingOfEventPrioritiesBetweenFabricAndReactCache
|
||||
if (cached == null) {
|
||||
|
||||
+1
-3
@@ -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<<0b3ff27c6f870a5d357fc840156d843c>>
|
||||
* @generated SignedSource<<3e4b1e03b718d5c2ea03b0a29382d849>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -75,8 +75,6 @@ public interface ReactNativeFeatureFlagsProvider {
|
||||
|
||||
@DoNotStrip public fun enableViewRecyclingForView(): Boolean
|
||||
|
||||
@DoNotStrip public fun fixDifferentiatorEmittingUpdatesWithWrongParentTag(): Boolean
|
||||
|
||||
@DoNotStrip public fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean
|
||||
|
||||
@DoNotStrip public fun fixMountingCoordinatorReportedPendingTransactionsOnAndroid(): Boolean
|
||||
|
||||
+1
-15
@@ -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<<758258d179734897366670bec314def2>>
|
||||
* @generated SignedSource<<86e118b823d49cb08bfb204788fa7f73>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -195,12 +195,6 @@ class ReactNativeFeatureFlagsJavaProvider
|
||||
return method(javaProvider_);
|
||||
}
|
||||
|
||||
bool fixDifferentiatorEmittingUpdatesWithWrongParentTag() override {
|
||||
static const auto method =
|
||||
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("fixDifferentiatorEmittingUpdatesWithWrongParentTag");
|
||||
return method(javaProvider_);
|
||||
}
|
||||
|
||||
bool fixMappingOfEventPrioritiesBetweenFabricAndReact() override {
|
||||
static const auto method =
|
||||
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("fixMappingOfEventPrioritiesBetweenFabricAndReact");
|
||||
@@ -425,11 +419,6 @@ bool JReactNativeFeatureFlagsCxxInterop::enableViewRecyclingForView(
|
||||
return ReactNativeFeatureFlags::enableViewRecyclingForView();
|
||||
}
|
||||
|
||||
bool JReactNativeFeatureFlagsCxxInterop::fixDifferentiatorEmittingUpdatesWithWrongParentTag(
|
||||
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
||||
return ReactNativeFeatureFlags::fixDifferentiatorEmittingUpdatesWithWrongParentTag();
|
||||
}
|
||||
|
||||
bool JReactNativeFeatureFlagsCxxInterop::fixMappingOfEventPrioritiesBetweenFabricAndReact(
|
||||
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
||||
return ReactNativeFeatureFlags::fixMappingOfEventPrioritiesBetweenFabricAndReact();
|
||||
@@ -614,9 +603,6 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
|
||||
makeNativeMethod(
|
||||
"enableViewRecyclingForView",
|
||||
JReactNativeFeatureFlagsCxxInterop::enableViewRecyclingForView),
|
||||
makeNativeMethod(
|
||||
"fixDifferentiatorEmittingUpdatesWithWrongParentTag",
|
||||
JReactNativeFeatureFlagsCxxInterop::fixDifferentiatorEmittingUpdatesWithWrongParentTag),
|
||||
makeNativeMethod(
|
||||
"fixMappingOfEventPrioritiesBetweenFabricAndReact",
|
||||
JReactNativeFeatureFlagsCxxInterop::fixMappingOfEventPrioritiesBetweenFabricAndReact),
|
||||
|
||||
+1
-4
@@ -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<<d5c26e9524b1eaaf7c9389924e0df8d8>>
|
||||
* @generated SignedSource<<d6d24b5374dd661de4917bcc6f4ec53b>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -108,9 +108,6 @@ class JReactNativeFeatureFlagsCxxInterop
|
||||
static bool enableViewRecyclingForView(
|
||||
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
||||
|
||||
static bool fixDifferentiatorEmittingUpdatesWithWrongParentTag(
|
||||
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
||||
|
||||
static bool fixMappingOfEventPrioritiesBetweenFabricAndReact(
|
||||
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<<8ebf334ae9a7fd165e8d8a48448fe5d7>>
|
||||
* @generated SignedSource<<3a47a14617ae6faad151ecd64a4613ff>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -130,10 +130,6 @@ bool ReactNativeFeatureFlags::enableViewRecyclingForView() {
|
||||
return getAccessor().enableViewRecyclingForView();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlags::fixDifferentiatorEmittingUpdatesWithWrongParentTag() {
|
||||
return getAccessor().fixDifferentiatorEmittingUpdatesWithWrongParentTag();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlags::fixMappingOfEventPrioritiesBetweenFabricAndReact() {
|
||||
return getAccessor().fixMappingOfEventPrioritiesBetweenFabricAndReact();
|
||||
}
|
||||
|
||||
@@ -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<<83452819d876ba79d0ce3b45adfe70ce>>
|
||||
* @generated SignedSource<<eeb0afc2cc447a5ba26300a7ce5cee12>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -169,11 +169,6 @@ class ReactNativeFeatureFlags {
|
||||
*/
|
||||
RN_EXPORT static bool enableViewRecyclingForView();
|
||||
|
||||
/**
|
||||
* Fixes a bug in Differentiator where parent views may be referenced before they're created
|
||||
*/
|
||||
RN_EXPORT static bool fixDifferentiatorEmittingUpdatesWithWrongParentTag();
|
||||
|
||||
/**
|
||||
* Uses the default event priority instead of the discreet event priority by default when dispatching events from Fabric to React.
|
||||
*/
|
||||
|
||||
+16
-34
@@ -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<<554383ea858e6243bf37960317e1ebf8>>
|
||||
* @generated SignedSource<<9e24f368394601004adbb2eaf2243d69>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -497,24 +497,6 @@ bool ReactNativeFeatureFlagsAccessor::enableViewRecyclingForView() {
|
||||
return flagValue.value();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlagsAccessor::fixDifferentiatorEmittingUpdatesWithWrongParentTag() {
|
||||
auto flagValue = fixDifferentiatorEmittingUpdatesWithWrongParentTag_.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(26, "fixDifferentiatorEmittingUpdatesWithWrongParentTag");
|
||||
|
||||
flagValue = currentProvider_->fixDifferentiatorEmittingUpdatesWithWrongParentTag();
|
||||
fixDifferentiatorEmittingUpdatesWithWrongParentTag_ = flagValue;
|
||||
}
|
||||
|
||||
return flagValue.value();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlagsAccessor::fixMappingOfEventPrioritiesBetweenFabricAndReact() {
|
||||
auto flagValue = fixMappingOfEventPrioritiesBetweenFabricAndReact_.load();
|
||||
|
||||
@@ -524,7 +506,7 @@ bool ReactNativeFeatureFlagsAccessor::fixMappingOfEventPrioritiesBetweenFabricAn
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(27, "fixMappingOfEventPrioritiesBetweenFabricAndReact");
|
||||
markFlagAsAccessed(26, "fixMappingOfEventPrioritiesBetweenFabricAndReact");
|
||||
|
||||
flagValue = currentProvider_->fixMappingOfEventPrioritiesBetweenFabricAndReact();
|
||||
fixMappingOfEventPrioritiesBetweenFabricAndReact_ = flagValue;
|
||||
@@ -542,7 +524,7 @@ bool ReactNativeFeatureFlagsAccessor::fixMountingCoordinatorReportedPendingTrans
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(28, "fixMountingCoordinatorReportedPendingTransactionsOnAndroid");
|
||||
markFlagAsAccessed(27, "fixMountingCoordinatorReportedPendingTransactionsOnAndroid");
|
||||
|
||||
flagValue = currentProvider_->fixMountingCoordinatorReportedPendingTransactionsOnAndroid();
|
||||
fixMountingCoordinatorReportedPendingTransactionsOnAndroid_ = flagValue;
|
||||
@@ -560,7 +542,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(29, "fuseboxEnabledRelease");
|
||||
markFlagAsAccessed(28, "fuseboxEnabledRelease");
|
||||
|
||||
flagValue = currentProvider_->fuseboxEnabledRelease();
|
||||
fuseboxEnabledRelease_ = flagValue;
|
||||
@@ -578,7 +560,7 @@ bool ReactNativeFeatureFlagsAccessor::fuseboxNetworkInspectionEnabled() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(30, "fuseboxNetworkInspectionEnabled");
|
||||
markFlagAsAccessed(29, "fuseboxNetworkInspectionEnabled");
|
||||
|
||||
flagValue = currentProvider_->fuseboxNetworkInspectionEnabled();
|
||||
fuseboxNetworkInspectionEnabled_ = flagValue;
|
||||
@@ -596,7 +578,7 @@ bool ReactNativeFeatureFlagsAccessor::removeTurboModuleManagerDelegateMutex() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(31, "removeTurboModuleManagerDelegateMutex");
|
||||
markFlagAsAccessed(30, "removeTurboModuleManagerDelegateMutex");
|
||||
|
||||
flagValue = currentProvider_->removeTurboModuleManagerDelegateMutex();
|
||||
removeTurboModuleManagerDelegateMutex_ = flagValue;
|
||||
@@ -614,7 +596,7 @@ bool ReactNativeFeatureFlagsAccessor::throwExceptionInsteadOfDeadlockOnTurboModu
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(32, "throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS");
|
||||
markFlagAsAccessed(31, "throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS");
|
||||
|
||||
flagValue = currentProvider_->throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS();
|
||||
throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS_ = flagValue;
|
||||
@@ -632,7 +614,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(33, "traceTurboModulePromiseRejectionsOnAndroid");
|
||||
markFlagAsAccessed(32, "traceTurboModulePromiseRejectionsOnAndroid");
|
||||
|
||||
flagValue = currentProvider_->traceTurboModulePromiseRejectionsOnAndroid();
|
||||
traceTurboModulePromiseRejectionsOnAndroid_ = flagValue;
|
||||
@@ -650,7 +632,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(34, "useAlwaysAvailableJSErrorHandling");
|
||||
markFlagAsAccessed(33, "useAlwaysAvailableJSErrorHandling");
|
||||
|
||||
flagValue = currentProvider_->useAlwaysAvailableJSErrorHandling();
|
||||
useAlwaysAvailableJSErrorHandling_ = flagValue;
|
||||
@@ -668,7 +650,7 @@ bool ReactNativeFeatureFlagsAccessor::useEditTextStockAndroidFocusBehavior() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(35, "useEditTextStockAndroidFocusBehavior");
|
||||
markFlagAsAccessed(34, "useEditTextStockAndroidFocusBehavior");
|
||||
|
||||
flagValue = currentProvider_->useEditTextStockAndroidFocusBehavior();
|
||||
useEditTextStockAndroidFocusBehavior_ = flagValue;
|
||||
@@ -686,7 +668,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(36, "useFabricInterop");
|
||||
markFlagAsAccessed(35, "useFabricInterop");
|
||||
|
||||
flagValue = currentProvider_->useFabricInterop();
|
||||
useFabricInterop_ = flagValue;
|
||||
@@ -704,7 +686,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(37, "useNativeViewConfigsInBridgelessMode");
|
||||
markFlagAsAccessed(36, "useNativeViewConfigsInBridgelessMode");
|
||||
|
||||
flagValue = currentProvider_->useNativeViewConfigsInBridgelessMode();
|
||||
useNativeViewConfigsInBridgelessMode_ = flagValue;
|
||||
@@ -722,7 +704,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(38, "useOptimizedEventBatchingOnAndroid");
|
||||
markFlagAsAccessed(37, "useOptimizedEventBatchingOnAndroid");
|
||||
|
||||
flagValue = currentProvider_->useOptimizedEventBatchingOnAndroid();
|
||||
useOptimizedEventBatchingOnAndroid_ = flagValue;
|
||||
@@ -740,7 +722,7 @@ bool ReactNativeFeatureFlagsAccessor::useRawPropsJsiValue() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(39, "useRawPropsJsiValue");
|
||||
markFlagAsAccessed(38, "useRawPropsJsiValue");
|
||||
|
||||
flagValue = currentProvider_->useRawPropsJsiValue();
|
||||
useRawPropsJsiValue_ = flagValue;
|
||||
@@ -758,7 +740,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(40, "useTurboModuleInterop");
|
||||
markFlagAsAccessed(39, "useTurboModuleInterop");
|
||||
|
||||
flagValue = currentProvider_->useTurboModuleInterop();
|
||||
useTurboModuleInterop_ = flagValue;
|
||||
@@ -776,7 +758,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(41, "useTurboModules");
|
||||
markFlagAsAccessed(40, "useTurboModules");
|
||||
|
||||
flagValue = currentProvider_->useTurboModules();
|
||||
useTurboModules_ = flagValue;
|
||||
|
||||
+2
-4
@@ -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<<9beffcac72be3722c64130acbe0aadd3>>
|
||||
* @generated SignedSource<<812efbb5dc0dddf0a03dec30921bfe3f>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -58,7 +58,6 @@ class ReactNativeFeatureFlagsAccessor {
|
||||
bool enableViewRecycling();
|
||||
bool enableViewRecyclingForText();
|
||||
bool enableViewRecyclingForView();
|
||||
bool fixDifferentiatorEmittingUpdatesWithWrongParentTag();
|
||||
bool fixMappingOfEventPrioritiesBetweenFabricAndReact();
|
||||
bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid();
|
||||
bool fuseboxEnabledRelease();
|
||||
@@ -85,7 +84,7 @@ class ReactNativeFeatureFlagsAccessor {
|
||||
std::unique_ptr<ReactNativeFeatureFlagsProvider> currentProvider_;
|
||||
bool wasOverridden_;
|
||||
|
||||
std::array<std::atomic<const char*>, 42> accessedFeatureFlags_;
|
||||
std::array<std::atomic<const char*>, 41> accessedFeatureFlags_;
|
||||
|
||||
std::atomic<std::optional<bool>> commonTestFlag_;
|
||||
std::atomic<std::optional<bool>> animatedShouldSignalBatch_;
|
||||
@@ -113,7 +112,6 @@ class ReactNativeFeatureFlagsAccessor {
|
||||
std::atomic<std::optional<bool>> enableViewRecycling_;
|
||||
std::atomic<std::optional<bool>> enableViewRecyclingForText_;
|
||||
std::atomic<std::optional<bool>> enableViewRecyclingForView_;
|
||||
std::atomic<std::optional<bool>> fixDifferentiatorEmittingUpdatesWithWrongParentTag_;
|
||||
std::atomic<std::optional<bool>> fixMappingOfEventPrioritiesBetweenFabricAndReact_;
|
||||
std::atomic<std::optional<bool>> fixMountingCoordinatorReportedPendingTransactionsOnAndroid_;
|
||||
std::atomic<std::optional<bool>> fuseboxEnabledRelease_;
|
||||
|
||||
+1
-5
@@ -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<<799b8ba7a7c666ee5985777c26ce99a3>>
|
||||
* @generated SignedSource<<f645ab08e2783763a91d685e8c1ddd02>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -131,10 +131,6 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool fixDifferentiatorEmittingUpdatesWithWrongParentTag() override {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool fixMappingOfEventPrioritiesBetweenFabricAndReact() override {
|
||||
return false;
|
||||
}
|
||||
|
||||
+1
-10
@@ -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<<1d0d1004706ba33b0896b671feca74a0>>
|
||||
* @generated SignedSource<<c600cb99e75a2c71e5241e4cc3ab7d35>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -279,15 +279,6 @@ class ReactNativeFeatureFlagsDynamicProvider : public ReactNativeFeatureFlagsDef
|
||||
return ReactNativeFeatureFlagsDefaults::enableViewRecyclingForView();
|
||||
}
|
||||
|
||||
bool fixDifferentiatorEmittingUpdatesWithWrongParentTag() override {
|
||||
auto value = values_["fixDifferentiatorEmittingUpdatesWithWrongParentTag"];
|
||||
if (!value.isNull()) {
|
||||
return value.getBool();
|
||||
}
|
||||
|
||||
return ReactNativeFeatureFlagsDefaults::fixDifferentiatorEmittingUpdatesWithWrongParentTag();
|
||||
}
|
||||
|
||||
bool fixMappingOfEventPrioritiesBetweenFabricAndReact() override {
|
||||
auto value = values_["fixMappingOfEventPrioritiesBetweenFabricAndReact"];
|
||||
if (!value.isNull()) {
|
||||
|
||||
+1
-3
@@ -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<<f694a97b02b01d4b56b5eac7f2a348e5>>
|
||||
* @generated SignedSource<<89298319752a8693d0c3e0a22ba88011>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -98,8 +98,6 @@ class ReactNativeFeatureFlagsOverridesOSSCanary : public ReactNativeFeatureFlags
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+1
-3
@@ -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<<ddf338308d0390152ddbec172c0ad40e>>
|
||||
* @generated SignedSource<<25f75edcfc62e5ce24c2d1bd10244e40>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -105,8 +105,6 @@ class ReactNativeFeatureFlagsOverridesOSSExperimental : public ReactNativeFeatur
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+1
-2
@@ -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<<d6cb5aeae8f53bc1bb1f6588240f2a7d>>
|
||||
* @generated SignedSource<<6e544b793e8c7d01298b428c43af0463>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -51,7 +51,6 @@ class ReactNativeFeatureFlagsProvider {
|
||||
virtual bool enableViewRecycling() = 0;
|
||||
virtual bool enableViewRecyclingForText() = 0;
|
||||
virtual bool enableViewRecyclingForView() = 0;
|
||||
virtual bool fixDifferentiatorEmittingUpdatesWithWrongParentTag() = 0;
|
||||
virtual bool fixMappingOfEventPrioritiesBetweenFabricAndReact() = 0;
|
||||
virtual bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid() = 0;
|
||||
virtual bool fuseboxEnabledRelease() = 0;
|
||||
|
||||
+1
-6
@@ -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<<30a4515935eedcbec28b00e2f5ed8baa>>
|
||||
* @generated SignedSource<<2871e5ea1c6d695af6af757b27fbd54c>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -174,11 +174,6 @@ bool NativeReactNativeFeatureFlags::enableViewRecyclingForView(
|
||||
return ReactNativeFeatureFlags::enableViewRecyclingForView();
|
||||
}
|
||||
|
||||
bool NativeReactNativeFeatureFlags::fixDifferentiatorEmittingUpdatesWithWrongParentTag(
|
||||
jsi::Runtime& /*runtime*/) {
|
||||
return ReactNativeFeatureFlags::fixDifferentiatorEmittingUpdatesWithWrongParentTag();
|
||||
}
|
||||
|
||||
bool NativeReactNativeFeatureFlags::fixMappingOfEventPrioritiesBetweenFabricAndReact(
|
||||
jsi::Runtime& /*runtime*/) {
|
||||
return ReactNativeFeatureFlags::fixMappingOfEventPrioritiesBetweenFabricAndReact();
|
||||
|
||||
+1
-3
@@ -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<<d25c5c9c2965423eb0df0831249748f3>>
|
||||
* @generated SignedSource<<0e7396f960e18680d4384f8db501472b>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -89,8 +89,6 @@ class NativeReactNativeFeatureFlags
|
||||
|
||||
bool enableViewRecyclingForView(jsi::Runtime& runtime);
|
||||
|
||||
bool fixDifferentiatorEmittingUpdatesWithWrongParentTag(jsi::Runtime& runtime);
|
||||
|
||||
bool fixMappingOfEventPrioritiesBetweenFabricAndReact(jsi::Runtime& runtime);
|
||||
|
||||
bool fixMountingCoordinatorReportedPendingTransactionsOnAndroid(jsi::Runtime& runtime);
|
||||
|
||||
+5
-9
@@ -13,7 +13,6 @@
|
||||
|
||||
#include <react/debug/flags.h>
|
||||
#include <react/debug/react_native_assert.h>
|
||||
#include <react/featureflags/ReactNativeFeatureFlags.h>
|
||||
#include <react/renderer/animations/conversions.h>
|
||||
#include <react/renderer/animations/utils.h>
|
||||
#include <react/renderer/components/image/ImageProps.h>
|
||||
@@ -392,14 +391,11 @@ LayoutAnimationKeyFrameManager::pullTransaction(
|
||||
if (keyframe.type == AnimationConfigurationType::Update &&
|
||||
mutation.newChildShadowView.tag > 0) {
|
||||
keyframe.viewPrev = mutation.newChildShadowView;
|
||||
if (ReactNativeFeatureFlags::
|
||||
fixDifferentiatorEmittingUpdatesWithWrongParentTag()) {
|
||||
keyframe.parentTag = mutation.parentTag;
|
||||
react_native_assert(
|
||||
keyframe.finalMutationsForKeyFrame.size() == 1);
|
||||
keyframe.finalMutationsForKeyFrame[0].parentTag =
|
||||
mutation.parentTag;
|
||||
}
|
||||
keyframe.parentTag = mutation.parentTag;
|
||||
react_native_assert(
|
||||
keyframe.finalMutationsForKeyFrame.size() == 1);
|
||||
keyframe.finalMutationsForKeyFrame[0].parentTag =
|
||||
mutation.parentTag;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -616,10 +616,7 @@ static void calculateShadowViewMutationsFlattener(
|
||||
ShadowViewMutation::UpdateMutation(
|
||||
oldTreeNodePair.shadowView,
|
||||
newTreeNodePair.shadowView,
|
||||
ReactNativeFeatureFlags::
|
||||
fixDifferentiatorEmittingUpdatesWithWrongParentTag()
|
||||
? parentTagForUpdate
|
||||
: node.shadowView.tag));
|
||||
parentTagForUpdate));
|
||||
}
|
||||
|
||||
auto adjustedOldCullingContext =
|
||||
|
||||
@@ -321,16 +321,6 @@ const definitions: FeatureFlagDefinitions = {
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
fixDifferentiatorEmittingUpdatesWithWrongParentTag: {
|
||||
defaultValue: true,
|
||||
metadata: {
|
||||
description:
|
||||
"Fixes a bug in Differentiator where parent views may be referenced before they're created",
|
||||
expectedReleaseValue: true,
|
||||
purpose: 'release',
|
||||
},
|
||||
ossReleaseStage: 'none',
|
||||
},
|
||||
fixMappingOfEventPrioritiesBetweenFabricAndReact: {
|
||||
defaultValue: false,
|
||||
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<<b4c870f632212fb3e61f747a8d190abb>>
|
||||
* @generated SignedSource<<adb29ea8a9fe70bb16af9a46d394c68d>>
|
||||
* @flow strict
|
||||
*/
|
||||
|
||||
@@ -73,7 +73,6 @@ export type ReactNativeFeatureFlags = $ReadOnly<{
|
||||
enableViewRecycling: Getter<boolean>,
|
||||
enableViewRecyclingForText: Getter<boolean>,
|
||||
enableViewRecyclingForView: Getter<boolean>,
|
||||
fixDifferentiatorEmittingUpdatesWithWrongParentTag: Getter<boolean>,
|
||||
fixMappingOfEventPrioritiesBetweenFabricAndReact: Getter<boolean>,
|
||||
fixMountingCoordinatorReportedPendingTransactionsOnAndroid: Getter<boolean>,
|
||||
fuseboxEnabledRelease: Getter<boolean>,
|
||||
@@ -264,10 +263,6 @@ export const enableViewRecyclingForText: Getter<boolean> = createNativeFlagGette
|
||||
* Enables View Recycling for <View> via ReactViewGroup/ReactViewManager.
|
||||
*/
|
||||
export const enableViewRecyclingForView: Getter<boolean> = createNativeFlagGetter('enableViewRecyclingForView', true);
|
||||
/**
|
||||
* Fixes a bug in Differentiator where parent views may be referenced before they're created
|
||||
*/
|
||||
export const fixDifferentiatorEmittingUpdatesWithWrongParentTag: Getter<boolean> = createNativeFlagGetter('fixDifferentiatorEmittingUpdatesWithWrongParentTag', true);
|
||||
/**
|
||||
* Uses the default event priority instead of the discreet event priority by default when dispatching events from Fabric to React.
|
||||
*/
|
||||
|
||||
+1
-2
@@ -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<<e79622d7605c241135c7cdc947c9403b>>
|
||||
* @generated SignedSource<<2418847290f10d51945f9593dcb03eb2>>
|
||||
* @flow strict
|
||||
*/
|
||||
|
||||
@@ -50,7 +50,6 @@ export interface Spec extends TurboModule {
|
||||
+enableViewRecycling?: () => boolean;
|
||||
+enableViewRecyclingForText?: () => boolean;
|
||||
+enableViewRecyclingForView?: () => boolean;
|
||||
+fixDifferentiatorEmittingUpdatesWithWrongParentTag?: () => boolean;
|
||||
+fixMappingOfEventPrioritiesBetweenFabricAndReact?: () => boolean;
|
||||
+fixMountingCoordinatorReportedPendingTransactionsOnAndroid?: () => boolean;
|
||||
+fuseboxEnabledRelease?: () => boolean;
|
||||
|
||||
Reference in New Issue
Block a user