From 62faea7fd33764e5b3a67a454e4962c28f83e33d Mon Sep 17 00:00:00 2001 From: Jakub Piasecki Date: Fri, 28 Aug 2026 01:12:00 -0700 Subject: [PATCH] Cover `idlecallbacks` with Stable API guards (#58139) Summary: Classifies `react/nativemodule/idlecallbacks:idlecallbacks` as a private target under the C++ stable API three-tier visibility model. Adds `#include ` to the module's single exported header (`NativeIdleCallbacks.h`), and wires the guard dependency into BUCK, CMake, and the podspec. The podspec needs no `USE_FRAMEWORKS` header search path edit: its existing `$(PODS_TARGET_SRCROOT)/../../..` already resolves to `ReactCommon`, so `` is on the path. The guards are inert unless a consumer defines `RN_STRICT_API`, so there is no behavior change. Changelog: [Internal] Differential Revision: D117333873 --- .../ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt | 1 + .../react/nativemodule/idlecallbacks/NativeIdleCallbacks.h | 2 ++ .../idlecallbacks/React-idlecallbacksnativemodule.podspec | 1 + 3 files changed, 4 insertions(+) diff --git a/packages/react-native/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt b/packages/react-native/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt index 4114bb581989..408708a6735c 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt +++ b/packages/react-native/ReactCommon/react/nativemodule/idlecallbacks/CMakeLists.txt @@ -15,6 +15,7 @@ target_include_directories(react_nativemodule_idlecallbacks PUBLIC ${REACT_COMMO target_link_libraries(react_nativemodule_idlecallbacks react_codegen_rncore react_cxxreact + react_cxxstableapi react_renderer_runtimescheduler ) target_compile_reactnative_options(react_nativemodule_idlecallbacks PRIVATE) diff --git a/packages/react-native/ReactCommon/react/nativemodule/idlecallbacks/NativeIdleCallbacks.h b/packages/react-native/ReactCommon/react/nativemodule/idlecallbacks/NativeIdleCallbacks.h index 8ac5fc627c29..0a8a5c27ddee 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/idlecallbacks/NativeIdleCallbacks.h +++ b/packages/react-native/ReactCommon/react/nativemodule/idlecallbacks/NativeIdleCallbacks.h @@ -7,6 +7,8 @@ #pragma once +#include + #if __has_include("FBReactNativeSpecJSI.h") // CocoaPod headers on Apple #include "FBReactNativeSpecJSI.h" #else diff --git a/packages/react-native/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec b/packages/react-native/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec index a12c88293416..6f40cb296578 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +++ b/packages/react-native/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec @@ -50,6 +50,7 @@ Pod::Spec.new do |s| s.dependency "ReactCommon/turbomodule/core" s.dependency "React-bridging" s.dependency "React-runtimescheduler" + s.dependency "React-cxxstableapi" add_dependency(s, "React-RCTFBReactNativeSpec") add_dependency(s, "React-runtimeexecutor", :additional_framework_paths => ["platform/ios"])