From c58ed3e997d1b5b06ce444b51ebfad3875d0204c Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Fri, 25 Sep 2026 07:08:39 -0700 Subject: [PATCH 1/2] Fix formatting in iOS prebuild header docs Summary: Apply the repository formatter to the iOS prebuild header documentation. This restores the expected Markdown line wrapping and the public format check. Changelog: [Internal] bypass-github-export-checks ___ Differential Revision: D121797341 --- .../scripts/ios-prebuild/__docs__/headers-rules.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/react-native/scripts/ios-prebuild/__docs__/headers-rules.md b/packages/react-native/scripts/ios-prebuild/__docs__/headers-rules.md index dbd9ceac612..7c371601bdd 100644 --- a/packages/react-native/scripts/ios-prebuild/__docs__/headers-rules.md +++ b/packages/react-native/scripts/ios-prebuild/__docs__/headers-rules.md @@ -246,8 +246,8 @@ of module `React`, closing a cycle: React -> ReactNativeHeaders_react -> React ``` -Found empirically: `react/timing/primitives.h` -> ``. This is -the same two-module-ownership failure as `UMBRELLA_CXX_GUARDED_EXCLUSIONS` +Found empirically: `react/timing/primitives.h` -> ``. This is the +same two-module-ownership failure as `UMBRELLA_CXX_GUARDED_EXCLUSIONS` (`RCTFrameTimingsObserver.h`, which reaches the same `primitives.h`), in the opposite direction. They are `objc-blocked` by construction (they re-export their module's C++ surface), so they were never R4 umbrella or R5 module From 17917d15a4ae44ac9c07ac23924a3a011a79aa25 Mon Sep 17 00:00:00 2001 From: Jakub Piasecki Date: Fri, 25 Sep 2026 07:08:39 -0700 Subject: [PATCH 2/2] Use umbrellas instead of direct includes in rendererdebug module (#58619) Summary: Changelog: [Internal] Update the rendererdebug module to use the `React/Debug.h` and `React/Utils.h` umbrella includes instead of direct ones. Reviewed By: cipolleschi Differential Revision: D121001495 --- .../ReactCommon/react/renderer/debug/CMakeLists.txt | 2 +- .../react/renderer/debug/React-rendererdebug.podspec | 1 + .../react/renderer/debug/debugStringConvertibleUtils.h | 2 +- .../ReactCommon/react/renderer/debug/flags.h | 2 +- .../ReactCommon/react/utils/React-utils.podspec | 9 +++++++-- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/react-native/ReactCommon/react/renderer/debug/CMakeLists.txt b/packages/react-native/ReactCommon/react/renderer/debug/CMakeLists.txt index 572b0c911d6..9867cd5e07c 100644 --- a/packages/react-native/ReactCommon/react/renderer/debug/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/renderer/debug/CMakeLists.txt @@ -13,7 +13,7 @@ add_library(react_renderer_debug OBJECT ${react_renderer_debug_SRC}) target_include_directories(react_renderer_debug PUBLIC ${REACT_COMMON_DIR}) target_include_directories(react_renderer_debug INTERFACE ${REACT_COMMON_DIR}/react/renderer/debug) -target_link_libraries(react_renderer_debug folly_runtime react_cxxstableapi react_debug) +target_link_libraries(react_renderer_debug folly_runtime react_cxxstableapi react_debug react_utils) target_compile_reactnative_options(react_renderer_debug PRIVATE) target_compile_options(react_renderer_debug PRIVATE -Wpedantic) diff --git a/packages/react-native/ReactCommon/react/renderer/debug/React-rendererdebug.podspec b/packages/react-native/ReactCommon/react/renderer/debug/React-rendererdebug.podspec index 7bfa97ef639..833f1d25ffa 100644 --- a/packages/react-native/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +++ b/packages/react-native/ReactCommon/react/renderer/debug/React-rendererdebug.podspec @@ -42,6 +42,7 @@ Pod::Spec.new do |s| resolve_use_frameworks(s, header_mappings_dir: "../../..", module_name: "React_rendererdebug") add_dependency(s, "React-debug") + add_dependency(s, "React-utils", :additional_framework_paths => ["react/utils/platform/ios"]) add_rn_third_party_dependencies(s) add_rncore_dependency(s) diff --git a/packages/react-native/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h b/packages/react-native/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h index acc9a23fd84..e723e7ae7da 100644 --- a/packages/react-native/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +++ b/packages/react-native/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h @@ -13,9 +13,9 @@ #include #include +#include #include #include -#include namespace facebook::react { diff --git a/packages/react-native/ReactCommon/react/renderer/debug/flags.h b/packages/react-native/ReactCommon/react/renderer/debug/flags.h index 34c1264dae0..e4e0efa877d 100644 --- a/packages/react-native/ReactCommon/react/renderer/debug/flags.h +++ b/packages/react-native/ReactCommon/react/renderer/debug/flags.h @@ -9,7 +9,7 @@ #include -#include +#include // // This file contains flags that should __never__ be enabled for diff --git a/packages/react-native/ReactCommon/react/utils/React-utils.podspec b/packages/react-native/ReactCommon/react/utils/React-utils.podspec index 18e66533db2..196e24b90b6 100644 --- a/packages/react-native/ReactCommon/react/utils/React-utils.podspec +++ b/packages/react-native/ReactCommon/react/utils/React-utils.podspec @@ -17,7 +17,7 @@ else end Pod::Spec.new do |s| - source_files = ["*.{m,mm,cpp,h}", "platform/ios/**/*.{m,mm,cpp,h}"] + source_files = ["*.{m,mm,cpp,h}"] header_search_paths = [ "\"$(PODS_TARGET_SRCROOT)/../../\"", ] @@ -30,7 +30,7 @@ Pod::Spec.new do |s| s.author = "Meta Platforms, Inc. and its affiliates" s.platforms = min_supported_versions s.source = source - s.source_files = podspec_sources(source_files, ["*.h", "platform/ios/**/*.h"]) + s.source_files = podspec_sources(source_files, ["*.h"]) s.header_dir = "react/utils" s.exclude_files = ["tests", "React"] @@ -56,6 +56,11 @@ Pod::Spec.new do |s| add_dependency(s, "React-debug") + s.subspec "platformios" do |ss| + ss.source_files = podspec_sources("platform/ios/**/*.{m,mm,cpp,h}", "platform/ios/**/*.h") + ss.header_mappings_dir = "platform/ios" + end + s.subspec "utilsUmbrella" do |ss| ss.source_files = "React/*.h" ss.header_dir = ""