Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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<<99a7d3e814f4b037ed4496b6eee4f264>>
* @generated SignedSource<<4ee7b2e0a88bc5087e0739658810dee5>>
*/

/**
Expand Down Expand Up @@ -360,6 +360,12 @@ public object ReactNativeFeatureFlags {
@JvmStatic
public fun enableVirtualViewDebugFeatures(): Boolean = accessor.enableVirtualViewDebugFeatures()

/**
* Fix incorrect parentTag passed as parentTagForUpdate in the unflatten-unflatten branch of calculateShadowViewMutationsFlattener, which causes UPDATE mutations to reference a parent being created in the same batch.
*/
@JvmStatic
public fun fixDifferentiatorParentTagForUnflattenCase(): Boolean = accessor.fixDifferentiatorParentTagForUnflattenCase()

/**
* Fix a use-after-free race condition in findShadowNodeByTag_DEPRECATED by using getCurrentRevision() instead of tryCommit() with a raw pointer.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<<c2f867597d97dc97c8ded5fbd258c13c>>
* @generated SignedSource<<87405910d0abf422badc45d1510ad702>>
*/

/**
Expand Down Expand Up @@ -75,6 +75,7 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
private var enableViewRecyclingForViewCache: Boolean? = null
private var enableVirtualViewContainerStateExperimentalCache: Boolean? = null
private var enableVirtualViewDebugFeaturesCache: Boolean? = null
private var fixDifferentiatorParentTagForUnflattenCaseCache: Boolean? = null
private var fixFindShadowNodeByTagRaceConditionCache: Boolean? = null
private var fixMappingOfEventPrioritiesBetweenFabricAndReactCache: Boolean? = null
private var fixYogaFlexBasisFitContentInMainAxisCache: Boolean? = null
Expand Down Expand Up @@ -605,6 +606,15 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
return cached
}

override fun fixDifferentiatorParentTagForUnflattenCase(): Boolean {
var cached = fixDifferentiatorParentTagForUnflattenCaseCache
if (cached == null) {
cached = ReactNativeFeatureFlagsCxxInterop.fixDifferentiatorParentTagForUnflattenCase()
fixDifferentiatorParentTagForUnflattenCaseCache = cached
}
return cached
}

override fun fixFindShadowNodeByTagRaceCondition(): Boolean {
var cached = fixFindShadowNodeByTagRaceConditionCache
if (cached == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<<8667d7237cea82bb5978cb19582d59c0>>
* @generated SignedSource<<c0f1210cabc66cc1b3fdbf8473d1df11>>
*/

/**
Expand Down Expand Up @@ -138,6 +138,8 @@ public object ReactNativeFeatureFlagsCxxInterop {

@DoNotStrip @JvmStatic public external fun enableVirtualViewDebugFeatures(): Boolean

@DoNotStrip @JvmStatic public external fun fixDifferentiatorParentTagForUnflattenCase(): Boolean

@DoNotStrip @JvmStatic public external fun fixFindShadowNodeByTagRaceCondition(): Boolean

@DoNotStrip @JvmStatic public external fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<<17abc72a4045c5695818f254be1783b5>>
* @generated SignedSource<<73ce7f74a1fc0843a91d2fe11615b333>>
*/

/**
Expand Down Expand Up @@ -133,6 +133,8 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi

override fun enableVirtualViewDebugFeatures(): Boolean = false

override fun fixDifferentiatorParentTagForUnflattenCase(): Boolean = false

override fun fixFindShadowNodeByTagRaceCondition(): Boolean = false

override fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean = false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<<77ba6c5db120016e6e1f8af195ab3690>>
* @generated SignedSource<<a070acdbab967adb2c8c81e9e89b8636>>
*/

/**
Expand Down Expand Up @@ -79,6 +79,7 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
private var enableViewRecyclingForViewCache: Boolean? = null
private var enableVirtualViewContainerStateExperimentalCache: Boolean? = null
private var enableVirtualViewDebugFeaturesCache: Boolean? = null
private var fixDifferentiatorParentTagForUnflattenCaseCache: Boolean? = null
private var fixFindShadowNodeByTagRaceConditionCache: Boolean? = null
private var fixMappingOfEventPrioritiesBetweenFabricAndReactCache: Boolean? = null
private var fixYogaFlexBasisFitContentInMainAxisCache: Boolean? = null
Expand Down Expand Up @@ -664,6 +665,16 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
return cached
}

override fun fixDifferentiatorParentTagForUnflattenCase(): Boolean {
var cached = fixDifferentiatorParentTagForUnflattenCaseCache
if (cached == null) {
cached = currentProvider.fixDifferentiatorParentTagForUnflattenCase()
accessedFeatureFlags.add("fixDifferentiatorParentTagForUnflattenCase")
fixDifferentiatorParentTagForUnflattenCaseCache = cached
}
return cached
}

override fun fixFindShadowNodeByTagRaceCondition(): Boolean {
var cached = fixFindShadowNodeByTagRaceConditionCache
if (cached == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<<8496c138ce5493df84149940df0de944>>
* @generated SignedSource<<2de065dd6f726ad92376e2385e134c7e>>
*/

/**
Expand Down Expand Up @@ -133,6 +133,8 @@ public interface ReactNativeFeatureFlagsProvider {

@DoNotStrip public fun enableVirtualViewDebugFeatures(): Boolean

@DoNotStrip public fun fixDifferentiatorParentTagForUnflattenCase(): Boolean

@DoNotStrip public fun fixFindShadowNodeByTagRaceCondition(): Boolean

@DoNotStrip public fun fixMappingOfEventPrioritiesBetweenFabricAndReact(): Boolean
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<<5bac13bb6faeffdd3c5eca800f25b96a>>
* @generated SignedSource<<2c9c4c2ef57882df723930daa933afd8>>
*/

/**
Expand Down Expand Up @@ -369,6 +369,12 @@ class ReactNativeFeatureFlagsJavaProvider
return method(javaProvider_);
}

bool fixDifferentiatorParentTagForUnflattenCase() override {
static const auto method =
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("fixDifferentiatorParentTagForUnflattenCase");
return method(javaProvider_);
}

bool fixFindShadowNodeByTagRaceCondition() override {
static const auto method =
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("fixFindShadowNodeByTagRaceCondition");
Expand Down Expand Up @@ -852,6 +858,11 @@ bool JReactNativeFeatureFlagsCxxInterop::enableVirtualViewDebugFeatures(
return ReactNativeFeatureFlags::enableVirtualViewDebugFeatures();
}

bool JReactNativeFeatureFlagsCxxInterop::fixDifferentiatorParentTagForUnflattenCase(
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
return ReactNativeFeatureFlags::fixDifferentiatorParentTagForUnflattenCase();
}

bool JReactNativeFeatureFlagsCxxInterop::fixFindShadowNodeByTagRaceCondition(
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
return ReactNativeFeatureFlags::fixFindShadowNodeByTagRaceCondition();
Expand Down Expand Up @@ -1218,6 +1229,9 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
makeNativeMethod(
"enableVirtualViewDebugFeatures",
JReactNativeFeatureFlagsCxxInterop::enableVirtualViewDebugFeatures),
makeNativeMethod(
"fixDifferentiatorParentTagForUnflattenCase",
JReactNativeFeatureFlagsCxxInterop::fixDifferentiatorParentTagForUnflattenCase),
makeNativeMethod(
"fixFindShadowNodeByTagRaceCondition",
JReactNativeFeatureFlagsCxxInterop::fixFindShadowNodeByTagRaceCondition),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<<ad45dce1fafd3bd29078bd54e4206d9f>>
* @generated SignedSource<<d27bc9bf87498e16dff7eac56d52b9d1>>
*/

/**
Expand Down Expand Up @@ -195,6 +195,9 @@ class JReactNativeFeatureFlagsCxxInterop
static bool enableVirtualViewDebugFeatures(
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);

static bool fixDifferentiatorParentTagForUnflattenCase(
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);

static bool fixFindShadowNodeByTagRaceCondition(
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<<b229243317998e64843f285f86af161c>>
* @generated SignedSource<<eb31174e5f1e3f37503fe5c910a6b6c8>>
*/

/**
Expand Down Expand Up @@ -246,6 +246,10 @@ bool ReactNativeFeatureFlags::enableVirtualViewDebugFeatures() {
return getAccessor().enableVirtualViewDebugFeatures();
}

bool ReactNativeFeatureFlags::fixDifferentiatorParentTagForUnflattenCase() {
return getAccessor().fixDifferentiatorParentTagForUnflattenCase();
}

bool ReactNativeFeatureFlags::fixFindShadowNodeByTagRaceCondition() {
return getAccessor().fixFindShadowNodeByTagRaceCondition();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<<86b3267ffa68e0f68280957aa54d5041>>
* @generated SignedSource<<d9e55ee2af90103f57394e9683a0ac16>>
*/

/**
Expand Down Expand Up @@ -314,6 +314,11 @@ class ReactNativeFeatureFlags {
*/
RN_EXPORT static bool enableVirtualViewDebugFeatures();

/**
* Fix incorrect parentTag passed as parentTagForUpdate in the unflatten-unflatten branch of calculateShadowViewMutationsFlattener, which causes UPDATE mutations to reference a parent being created in the same batch.
*/
RN_EXPORT static bool fixDifferentiatorParentTagForUnflattenCase();

/**
* Fix a use-after-free race condition in findShadowNodeByTag_DEPRECATED by using getCurrentRevision() instead of tryCommit() with a raw pointer.
*/
Expand Down
Loading
Loading