From f68a82aff6aa210078cab453e443157821147844 Mon Sep 17 00:00:00 2001 From: ncor Date: Tue, 8 Sep 2026 05:49:25 -0700 Subject: [PATCH 1/2] Generated from a GitHub Pull Request. Run 'jf sync' on this diff to load the correct commit data. Differential Revision: D119164284 --- packages/react-native/src/react-private-interface.js | 4 ++++ packages/react-native/src/react-private-interface.js.flow | 1 + packages/virtualized-lists/Lists/VirtualizeUtils.js | 2 +- packages/virtualized-lists/Lists/VirtualizedList.js | 2 +- 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/react-native/src/react-private-interface.js b/packages/react-native/src/react-private-interface.js index 6e965490ebc9..2d81f4634b08 100644 --- a/packages/react-native/src/react-private-interface.js +++ b/packages/react-native/src/react-private-interface.js @@ -48,6 +48,7 @@ import type {DangerouslyImpreciseStyleProp} from '../Libraries/StyleSheet/StyleS import typeof deepFreezeAndThrowOnMutationInDev from '../Libraries/Utilities/deepFreezeAndThrowOnMutationInDev'; import typeof deepDiffer from '../Libraries/Utilities/differ/deepDiffer'; import typeof Platform from '../Libraries/Utilities/Platform'; +import typeof * as ReactNativeFeatureFlags from './private/featureflags/ReactNativeFeatureFlags'; import typeof dispatchNativeEvent from './private/renderer/events/dispatchNativeEvent'; import typeof CustomEvent from './private/webapis/dom/events/CustomEvent'; @@ -69,6 +70,9 @@ module.exports = { get RCTEventEmitter(): RCTEventEmitter { return require('../Libraries/EventEmitter/RCTEventEmitter').default; }, + get ReactNativeFeatureFlags(): ReactNativeFeatureFlags { + return require('./private/featureflags/ReactNativeFeatureFlags'); + }, get ReactNativeViewConfigRegistry(): ReactNativeViewConfigRegistry { return require('../Libraries/Renderer/shims/ReactNativeViewConfigRegistry'); }, diff --git a/packages/react-native/src/react-private-interface.js.flow b/packages/react-native/src/react-private-interface.js.flow index b30331d119f8..6df0e5e43b85 100644 --- a/packages/react-native/src/react-private-interface.js.flow +++ b/packages/react-native/src/react-private-interface.js.flow @@ -23,6 +23,7 @@ export {default as BatchedBridge} from '../Libraries/BatchedBridge/BatchedBridge export {default as ExceptionsManager} from '../Libraries/Core/ExceptionsManager'; export {default as Platform} from '../Libraries/Utilities/Platform'; export {default as RCTEventEmitter} from '../Libraries/EventEmitter/RCTEventEmitter'; +export * as ReactNativeFeatureFlags from './private/featureflags/ReactNativeFeatureFlags'; export * as ReactNativeViewConfigRegistry from '../Libraries/Renderer/shims/ReactNativeViewConfigRegistry'; export {default as TextInputState} from '../Libraries/Components/TextInput/TextInputState'; export {default as UIManager} from '../Libraries/ReactNative/UIManager'; diff --git a/packages/virtualized-lists/Lists/VirtualizeUtils.js b/packages/virtualized-lists/Lists/VirtualizeUtils.js index 598eb2e7c9b0..4e5c6877fc77 100644 --- a/packages/virtualized-lists/Lists/VirtualizeUtils.js +++ b/packages/virtualized-lists/Lists/VirtualizeUtils.js @@ -13,7 +13,7 @@ import type ListMetricsAggregator from './ListMetricsAggregator'; import type {CellMetricProps} from './ListMetricsAggregator'; -import * as ReactNativeFeatureFlags from 'react-native/src/private/featureflags/ReactNativeFeatureFlags'; +import {ReactNativeFeatureFlags} from 'react-native/react-private-interface'; /** * Used to find the indices of the frames that overlap the given offsets. Useful for finding the diff --git a/packages/virtualized-lists/Lists/VirtualizedList.js b/packages/virtualized-lists/Lists/VirtualizedList.js index e78dc3738839..413d14d53d29 100644 --- a/packages/virtualized-lists/Lists/VirtualizedList.js +++ b/packages/virtualized-lists/Lists/VirtualizedList.js @@ -64,7 +64,7 @@ import { View, findNodeHandle, } from 'react-native'; -import * as ReactNativeFeatureFlags from 'react-native/src/private/featureflags/ReactNativeFeatureFlags'; +import {ReactNativeFeatureFlags} from 'react-native/react-private-interface'; export type {ListRenderItemInfo, ListRenderItem, Separators}; From 86d6199aa9115b2487a0c59d9a6be0b909e47c1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Norte?= Date: Tue, 8 Sep 2026 05:59:39 -0700 Subject: [PATCH 2/2] Remove unused UIManager binding from React private interface Summary: After Paper was cleaned up from React in https://github.com/react/react/pull/36285 this property is no longer used in React and can be removed from the interface. Changelog: [internal] Differential Revision: D119166138 --- packages/react-native/src/react-private-interface.js | 4 ---- packages/react-native/src/react-private-interface.js.flow | 1 - 2 files changed, 5 deletions(-) diff --git a/packages/react-native/src/react-private-interface.js b/packages/react-native/src/react-private-interface.js index 2d81f4634b08..71ca5c27e52d 100644 --- a/packages/react-native/src/react-private-interface.js +++ b/packages/react-native/src/react-private-interface.js @@ -41,7 +41,6 @@ import typeof { create as createAttributePayload, diff as diffAttributePayloads, } from '../Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload'; -import typeof UIManager from '../Libraries/ReactNative/UIManager'; import typeof * as ReactNativeViewConfigRegistry from '../Libraries/Renderer/shims/ReactNativeViewConfigRegistry'; import typeof flattenStyle from '../Libraries/StyleSheet/flattenStyle'; import type {DangerouslyImpreciseStyleProp} from '../Libraries/StyleSheet/StyleSheet'; @@ -79,9 +78,6 @@ module.exports = { get TextInputState(): TextInputState { return require('../Libraries/Components/TextInput/TextInputState').default; }, - get UIManager(): UIManager { - return require('../Libraries/ReactNative/UIManager').default; - }, // TODO: Remove when React has migrated to `createAttributePayload` and `diffAttributePayloads` get deepDiffer(): deepDiffer { return require('../Libraries/Utilities/differ/deepDiffer').default; diff --git a/packages/react-native/src/react-private-interface.js.flow b/packages/react-native/src/react-private-interface.js.flow index 6df0e5e43b85..2f8793571b33 100644 --- a/packages/react-native/src/react-private-interface.js.flow +++ b/packages/react-native/src/react-private-interface.js.flow @@ -26,7 +26,6 @@ export {default as RCTEventEmitter} from '../Libraries/EventEmitter/RCTEventEmit export * as ReactNativeFeatureFlags from './private/featureflags/ReactNativeFeatureFlags'; export * as ReactNativeViewConfigRegistry from '../Libraries/Renderer/shims/ReactNativeViewConfigRegistry'; export {default as TextInputState} from '../Libraries/Components/TextInput/TextInputState'; -export {default as UIManager} from '../Libraries/ReactNative/UIManager'; export {default as deepDiffer} from '../Libraries/Utilities/differ/deepDiffer'; export {default as deepFreezeAndThrowOnMutationInDev} from '../Libraries/Utilities/deepFreezeAndThrowOnMutationInDev'; export {default as flattenStyle} from '../Libraries/StyleSheet/flattenStyle';