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 a80ef92ba6a..8b84f704eef 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 7822930848b..65cc30251b0 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 f8e0b076c86..d6afbf677d5 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 9ad3d13a639..cf0755f42c1 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 d92055e7869..8f6fdf1a783 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 d0381f8db2a..5472a537f89 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 1dc650dc01c..aaf758bcdf6 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 d291ce2fe17..d57f1e772ca 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 67981d35d9d..c4a25b38f28 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 4b20f29e347..90cc0ce0fd1 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 b10f9da7905..8ec991bb1d9 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 aa439eadd50..579989d8e01 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 b05ab8e4dfe..59a65567bae 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 85217a2e6b5..cff6aa3edd8 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 53f796a808f..85921394a57 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 adb078351e7..0a3d8e5f57c 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 8b84f704eef..a5033590847 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 e0ecb4cfca5..8ba9f99c64d 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 561a74b8292..c520508cb06 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 4eeb85abcee..457f9a56e3a 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 bfe843ebf8f..d6597442356 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 e9a51fdf836..e0dd7d4afc3 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 1057b7ab538..30cc5f4792b 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 899deb52703..a5904bb32f8 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 ffd166a0b0d..c6507521e5e 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 cd5199c03b3..3948aa4eefc 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 0f8f8b96875..4ce08d2288a 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 {