From 2d9399515899c111757ba8511ef2bd8b0771bc3e Mon Sep 17 00:00:00 2001 From: Zeya Peng Date: Tue, 23 Jun 2026 13:43:01 -0700 Subject: [PATCH] Enable animatedShouldDebounceQueueFlush by default Summary: Flip the default value of the `animatedShouldDebounceQueueFlush` JavaScript feature flag to `true`, enabling Animated flush-queue debouncing everywhere, and remove the per-app overrides that already forced it on. This flag just put operations in a microtasks queue, it doesn't rely on any specific native animated implementation Changelog: [General][Changed] - Enable Animated flush-queue debouncing (`animatedShouldDebounceQueueFlush`) by default Reviewed By: christophpurrer Differential Revision: D109468771 --- .../scripts/featureflags/ReactNativeFeatureFlags.config.js | 2 +- .../src/private/featureflags/ReactNativeFeatureFlags.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js b/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js index a1f4834ec10e..1ac72cc86ee0 100644 --- a/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js +++ b/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js @@ -971,7 +971,7 @@ const definitions: FeatureFlagDefinitions = { ossReleaseStage: 'none', }, animatedShouldDebounceQueueFlush: { - defaultValue: false, + defaultValue: true, metadata: { dateAdded: '2024-02-05', description: diff --git a/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js b/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js index 71e0b730c834..ce445d0dc309 100644 --- a/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js +++ b/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js @@ -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<<68e9dbd18bfcb5e7d5cad27d8663ce66>> + * @generated SignedSource<> * @flow strict * @noformat */ @@ -154,7 +154,7 @@ export const animatedForceNativeDriver: Getter = createJavaScriptFlagGe /** * Enables an experimental flush-queue debouncing in Animated.js. */ -export const animatedShouldDebounceQueueFlush: Getter = createJavaScriptFlagGetter('animatedShouldDebounceQueueFlush', false); +export const animatedShouldDebounceQueueFlush: Getter = createJavaScriptFlagGetter('animatedShouldDebounceQueueFlush', true); /** * When a useNativeDriver animation completes, syncs the JS-side AnimatedValue with the post-animation value BEFORE invoking the user-supplied start({finished}) callback. Without the flag, the callback observes the pre-animation value, which can cause downstream re-renders to read stale interpolation outputs.