From b8c08b18bfe273cdefbe47e3b17da34356304850 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Tue, 29 Sep 2026 06:41:10 -0700 Subject: [PATCH 1/2] Use public umbrellas in UIManager headers Summary: Route public React Native dependencies in exported UIManager framework headers through supported umbrella entry points. Preserve same-target, framework-tier, graphics, and third-party includes while declaring standard-library and build dependencies directly. Changelog: [Internal] Differential Revision: D121402288 --- .../ReactCommon/React-Fabric.podspec | 4 ++++ .../renderer/uimanager/AppRegistryBinding.h | 5 ++++- .../react/renderer/uimanager/CMakeLists.txt | 3 +++ .../renderer/uimanager/LayoutEventEmitter.h | 2 ++ .../uimanager/PointerEventsProcessor.h | 4 ++++ .../renderer/uimanager/PointerHoverTracker.h | 8 +++++--- .../react/renderer/uimanager/UIManager.h | 20 ++++++++++--------- .../uimanager/UIManagerAnimationBackend.h | 6 ++++-- .../uimanager/UIManagerAnimationDelegate.h | 6 +++--- .../renderer/uimanager/UIManagerBinding.h | 9 ++++++--- .../renderer/uimanager/UIManagerCommitHook.h | 2 ++ .../renderer/uimanager/UIManagerDelegate.h | 9 +++++++-- .../renderer/uimanager/UIManagerMountHook.h | 4 +++- .../UIManagerNativeAnimatedDelegate.h | 5 ----- .../UIManagerViewTransitionDelegate.h | 8 ++++++-- .../react/renderer/uimanager/primitives.h | 13 ++++++++++-- 16 files changed, 75 insertions(+), 33 deletions(-) diff --git a/packages/react-native/ReactCommon/React-Fabric.podspec b/packages/react-native/ReactCommon/React-Fabric.podspec index a80ef92ba6a8..8b84f704eef5 100644 --- a/packages/react-native/ReactCommon/React-Fabric.podspec +++ b/packages/react-native/ReactCommon/React-Fabric.podspec @@ -105,6 +105,7 @@ Pod::Spec.new do |s| "\"$(PODS_TARGET_SRCROOT)/react/renderer/components/textinput/platform/ios\"", "\"$(PODS_TARGET_SRCROOT)/react/renderer/components/view/platform/cxx\"", "\"$(PODS_TARGET_SRCROOT)/react/renderer/components/view\"", + "\"$(PODS_TARGET_SRCROOT)/react/renderer/componentregistry\"", "\"$(PODS_TARGET_SRCROOT)/react/renderer/core\"", "\"$(PODS_TARGET_SRCROOT)/react/renderer/debug\"", ] @@ -259,6 +260,9 @@ Pod::Spec.new do |s| end ss.dependency "React-rendererconsistency" + ss.dependency "React-Fabric/coreUmbrella" + ss.dependency "React-Fabric/componentregistryUmbrella" + ss.dependency "React-Fabric/components/viewUmbrella" ss.source_files = podspec_sources("react/renderer/uimanager/*.{m,mm,cpp,h}", "react/renderer/uimanager/*.h") ss.header_dir = "react/renderer/uimanager" end diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/AppRegistryBinding.h b/packages/react-native/ReactCommon/react/renderer/uimanager/AppRegistryBinding.h index 7822930848bb..65cc30251b0a 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/AppRegistryBinding.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/AppRegistryBinding.h @@ -9,9 +9,12 @@ #include +#include + #include #include -#include + +#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/uimanager/CMakeLists.txt index f8e0b076c868..d6afbf677d5d 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/CMakeLists.txt @@ -14,6 +14,7 @@ add_library(react_renderer_uimanager OBJECT ${react_renderer_uimanager_SRC}) target_include_directories(react_renderer_uimanager PUBLIC ${REACT_COMMON_DIR}) target_link_libraries(react_renderer_uimanager + callinvoker glog folly_runtime jsi @@ -32,6 +33,8 @@ target_link_libraries(react_renderer_uimanager react_renderer_leakchecker react_renderer_runtimescheduler react_renderer_mounting + react_timing + react_utils rrc_root rrc_view runtimeexecutor diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/LayoutEventEmitter.h b/packages/react-native/ReactCommon/react/renderer/uimanager/LayoutEventEmitter.h index 9ad3d13a6390..cf0755f42c18 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/LayoutEventEmitter.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/LayoutEventEmitter.h @@ -11,6 +11,8 @@ #include +#include + namespace facebook::react { /* diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h b/packages/react-native/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h index d92055e78690..8f6fdf1a783e 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/PointerEventsProcessor.h @@ -9,7 +9,11 @@ #include +#include #include +#include +#include +#include #include #include diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/PointerHoverTracker.h b/packages/react-native/ReactCommon/react/renderer/uimanager/PointerHoverTracker.h index d0381f8db2a8..5472a537f89a 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/PointerHoverTracker.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/PointerHoverTracker.h @@ -9,13 +9,15 @@ #include +#include +#include + #include #include #include +#include +#include -#include -#include -#include #include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.h b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.h index 1dc650dc01c7..aaf758bcdf6b 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.h @@ -9,17 +9,14 @@ #include +#include +#include +#include +#include + #include #include -#include -#include - -#include -#include -#include -#include -#include #include #include #include @@ -29,7 +26,12 @@ #include #include #include -#include +#include +#include +#include +#include +#include +#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h index d291ce2fe178..d57f1e772ca9 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerAnimationBackend.h @@ -9,9 +9,11 @@ #include -#include -#include +#include +#include + #include +#include #include #include diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h index 67981d35d9d2..c4a25b38f289 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerAnimationDelegate.h @@ -9,10 +9,10 @@ #include -#include +#include +#include -#include -#include +#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerBinding.h b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerBinding.h index 4b20f29e3479..90cc0ce0fd13 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerBinding.h @@ -9,12 +9,15 @@ #include +#include + #include -#include + +#include +#include + #include #include -#include -#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h index b10f9da7905a..8ec991bb1d92 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerCommitHook.h @@ -9,6 +9,8 @@ #include +#include + #include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h index aa439eadd509..579989d8e01f 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerDelegate.h @@ -9,8 +9,13 @@ #include -#include -#include +#include + +#include +#include +#include +#include + #include #include diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h index b05ab8e4dfef..59a65567baed 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerMountHook.h @@ -9,8 +9,10 @@ #include +#include +#include + #include -#include "UIManager.h" namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerNativeAnimatedDelegate.h b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerNativeAnimatedDelegate.h index 85217a2e6b59..cff6aa3edd83 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerNativeAnimatedDelegate.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerNativeAnimatedDelegate.h @@ -9,11 +9,6 @@ #include -#include - -#include -#include - namespace facebook::react { class UIManagerNativeAnimatedDelegate { diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h index 53f796a808f3..85921394a57a 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h @@ -9,10 +9,14 @@ #include -#include -#include +#include + #include +#include #include +#include + +#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/primitives.h b/packages/react-native/ReactCommon/react/renderer/uimanager/primitives.h index adb078351e7d..0a3d8e5f57cd 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/primitives.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/primitives.h @@ -9,12 +9,21 @@ #include +#include +#include + #include #include #include -#include + +#include +#include +#include +#include +#include +#include + #include -#include namespace facebook::react { From 3854c42bfc70104e18accd10e647e9a7683949b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dawid=20Ma=C5=82ecki?= Date: Tue, 29 Sep 2026 06:51:29 -0700 Subject: [PATCH 2/2] Use public umbrellas in UIManager headers (#58709) Summary: Pull Request resolved: https://github.com/react/react-native/pull/58709 Migrate React-Fabric mounting headers to consume the RendererCore, Graphics, and Utils stable umbrellas instead of guarded leaf headers. Add the coreUmbrella dependency to the mounting subspec so dynamic-framework consumers receive the owning header. Avoid RendererDebug.h because its eager utility-template exports change downstream overload lookup; RendererCore already provides the debug flags and declaration types used by mounting. Drop the `#ifdef ANDROID` include of `configurePlatformColorCacheInvalidationHook.h` from the Graphics umbrella. The Android `PlatformColorParser.h` already includes it, and the explicit include broke Android builds that use the cxx graphics platform headers, where that header does not exist. Changelog: [Internal] Differential Revision: D121790104 --- packages/react-native/ReactCommon/React-Fabric.podspec | 1 + .../ReactCommon/react/renderer/mounting/Differentiator.h | 2 +- .../react/renderer/mounting/MountingCoordinator.h | 2 +- .../ReactCommon/react/renderer/mounting/ShadowTree.h | 6 ++---- .../react/renderer/mounting/ShadowTreeRegistry.h | 2 +- .../ReactCommon/react/renderer/mounting/ShadowView.h | 9 ++------- .../react/renderer/mounting/internal/CullingContext.h | 3 +-- .../renderer/mounting/internal/ShadowViewNodePair.h | 4 ++-- .../ReactCommon/react/renderer/mounting/stubs/StubView.h | 4 +--- .../ReactCommon/react/renderer/mounting/stubs/stubs.h | 2 +- .../react/renderer/mounting/updateMountedFlag.h | 2 +- 11 files changed, 14 insertions(+), 23 deletions(-) diff --git a/packages/react-native/ReactCommon/React-Fabric.podspec b/packages/react-native/ReactCommon/React-Fabric.podspec index 8b84f704eef5..a5033590847d 100644 --- a/packages/react-native/ReactCommon/React-Fabric.podspec +++ b/packages/react-native/ReactCommon/React-Fabric.podspec @@ -209,6 +209,7 @@ Pod::Spec.new do |s| end s.subspec "mounting" do |ss| + ss.dependency "React-Fabric/coreUmbrella" ss.dependency "React-jsinspectortracing" ss.source_files = podspec_sources("react/renderer/mounting/**/*.{m,mm,cpp,h}", "react/renderer/mounting/**/*.h") ss.exclude_files = "react/renderer/mounting/tests" diff --git a/packages/react-native/ReactCommon/react/renderer/mounting/Differentiator.h b/packages/react-native/ReactCommon/react/renderer/mounting/Differentiator.h index e0ecb4cfca52..8ba9f99c64d0 100644 --- a/packages/react-native/ReactCommon/react/renderer/mounting/Differentiator.h +++ b/packages/react-native/ReactCommon/react/renderer/mounting/Differentiator.h @@ -9,7 +9,7 @@ #include -#include +#include #include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/mounting/MountingCoordinator.h b/packages/react-native/ReactCommon/react/renderer/mounting/MountingCoordinator.h index 561a74b8292b..c520508cb06b 100644 --- a/packages/react-native/ReactCommon/react/renderer/mounting/MountingCoordinator.h +++ b/packages/react-native/ReactCommon/react/renderer/mounting/MountingCoordinator.h @@ -13,7 +13,7 @@ #include #include -#include +#include #include #include #include diff --git a/packages/react-native/ReactCommon/react/renderer/mounting/ShadowTree.h b/packages/react-native/ReactCommon/react/renderer/mounting/ShadowTree.h index 4eeb85abceea..457f9a56e3a2 100644 --- a/packages/react-native/ReactCommon/react/renderer/mounting/ShadowTree.h +++ b/packages/react-native/ReactCommon/react/renderer/mounting/ShadowTree.h @@ -13,14 +13,12 @@ #include #include +#include +#include #include -#include -#include -#include #include #include #include -#include #include "MountingOverrideDelegate.h" namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.h b/packages/react-native/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.h index bfe843ebf8f4..d65974423565 100644 --- a/packages/react-native/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.h +++ b/packages/react-native/ReactCommon/react/renderer/mounting/ShadowTreeRegistry.h @@ -12,7 +12,7 @@ #include #include -#include +#include #include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/mounting/ShadowView.h b/packages/react-native/ReactCommon/react/renderer/mounting/ShadowView.h index e9a51fdf8363..e0dd7d4afc3a 100644 --- a/packages/react-native/ReactCommon/react/renderer/mounting/ShadowView.h +++ b/packages/react-native/ReactCommon/react/renderer/mounting/ShadowView.h @@ -9,13 +9,8 @@ #include -#include -#include -#include -#include -#include -#include -#include +#include +#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/mounting/internal/CullingContext.h b/packages/react-native/ReactCommon/react/renderer/mounting/internal/CullingContext.h index 1057b7ab5384..30cc5f4792b1 100644 --- a/packages/react-native/ReactCommon/react/renderer/mounting/internal/CullingContext.h +++ b/packages/react-native/ReactCommon/react/renderer/mounting/internal/CullingContext.h @@ -9,8 +9,7 @@ #include -#include -#include +#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/mounting/internal/ShadowViewNodePair.h b/packages/react-native/ReactCommon/react/renderer/mounting/internal/ShadowViewNodePair.h index 899deb527034..a5904bb32f8d 100644 --- a/packages/react-native/ReactCommon/react/renderer/mounting/internal/ShadowViewNodePair.h +++ b/packages/react-native/ReactCommon/react/renderer/mounting/internal/ShadowViewNodePair.h @@ -9,8 +9,8 @@ #include -#include -#include +#include +#include #include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/mounting/stubs/StubView.h b/packages/react-native/ReactCommon/react/renderer/mounting/stubs/StubView.h index ffd166a0b0dc..c6507521e5ec 100644 --- a/packages/react-native/ReactCommon/react/renderer/mounting/stubs/StubView.h +++ b/packages/react-native/ReactCommon/react/renderer/mounting/stubs/StubView.h @@ -12,9 +12,7 @@ #include #include -#include -#include -#include +#include #include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/mounting/stubs/stubs.h b/packages/react-native/ReactCommon/react/renderer/mounting/stubs/stubs.h index cd5199c03b34..3948aa4eefcd 100644 --- a/packages/react-native/ReactCommon/react/renderer/mounting/stubs/stubs.h +++ b/packages/react-native/ReactCommon/react/renderer/mounting/stubs/stubs.h @@ -9,7 +9,7 @@ #include -#include +#include #include #include diff --git a/packages/react-native/ReactCommon/react/renderer/mounting/updateMountedFlag.h b/packages/react-native/ReactCommon/react/renderer/mounting/updateMountedFlag.h index 0f8f8b968758..4ce08d2288a3 100644 --- a/packages/react-native/ReactCommon/react/renderer/mounting/updateMountedFlag.h +++ b/packages/react-native/ReactCommon/react/renderer/mounting/updateMountedFlag.h @@ -9,7 +9,7 @@ #include -#include +#include #include namespace facebook::react {