Skip to content

Cover react/renderer/consistency:consistency with Stable API guards - #58046

Open
j-piasecki wants to merge 1 commit into
react:mainfrom
j-piasecki:export-D116601683
Open

Cover react/renderer/consistency:consistency with Stable API guards#58046
j-piasecki wants to merge 1 commit into
react:mainfrom
j-piasecki:export-D116601683

Conversation

@j-piasecki

Copy link
Copy Markdown
Contributor

Summary:
Classifies react/renderer/consistency:consistency as a private target under the C++ stable API three-tier visibility model. Adds #include <react/cxxstableapi/PrivateGuard.h> to both headers in the module and declares the guard dependency in BUCK, CMake and the podspec.

The private headers were reachable from higher tiers: ShadowTreeRevisionConsistencyManager.h was included by the for-frameworks RuntimeScheduler.h (and its two forks) and by the public UIManager.h, which would make the guard a hard error for consumers under RN_STRICT_API. Every use is a pointer, so those headers now forward declare the type and the include moves to UIManager.cpp. UIManager.h also drops LazyShadowTreeRevisionConsistencyManager.h, which re-exposed the same header through inheritance.

Changelog: [Internal]

Differential Revision: D116601683

Summary:
Classifies `react/renderer/consistency:consistency` as a private target under the C++ stable API three-tier visibility model. Adds `#include <react/cxxstableapi/PrivateGuard.h>` to both headers in the module and declares the guard dependency in BUCK, CMake and the podspec.

The private headers were reachable from higher tiers: `ShadowTreeRevisionConsistencyManager.h` was included by the for-frameworks `RuntimeScheduler.h` (and its two forks) and by the public `UIManager.h`, which would make the guard a hard error for consumers under `RN_STRICT_API`. Every use is a pointer, so those headers now forward declare the type and the include moves to `UIManager.cpp`. `UIManager.h` also drops `LazyShadowTreeRevisionConsistencyManager.h`, which re-exposed the same header through inheritance.

Changelog: [Internal]

Differential Revision: D116601683
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Aug 21, 2026
@facebook-github-tools facebook-github-tools Bot added p: Software Mansion Partner: Software Mansion Partner labels Aug 21, 2026
@meta-codesync

meta-codesync Bot commented Aug 21, 2026

Copy link
Copy Markdown

@j-piasecki has exported this pull request. If you are a Meta employee, you can view the originating Diff in D116601683.

@facebook-github-tools facebook-github-tools Bot added the p: Facebook Partner: Facebook label Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. meta-exported p: Facebook Partner: Facebook p: Software Mansion Partner: Software Mansion Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant