Skip to content

Use umbrella includes for public modules in cdpmetrics - #58706

Closed
j-piasecki wants to merge 3 commits into
react:mainfrom
j-piasecki:export-D122117127
Closed

j-piasecki wants to merge 3 commits into
react:mainfrom
j-piasecki:export-D122117127

Conversation

@j-piasecki

Copy link
Copy Markdown
Contributor

Summary:
Changelog: [Internal]

Replace the fine-grained includes of the public runtimeexecutor and timing modules in CdpMetricsReporter.h and CdpPerfIssuesReporter.h with their umbrella headers, <React/RuntimeExecutor.h> and <React/Timing.h>.

Differential Revision: D122117127

)

Summary:

Changelog: [Internal]

Update the bridging module to use `React/Bridging.h` and `React/RendererCore.h` umbrella includes instead of direct ones.

Reviewed By: cipolleschi

Differential Revision: D120311601
…g module (react#58552)

Summary:

Changelog: [Internal]

Part of the C++ stable API migration to umbrella includes. Fixes a tier reachability violation in the `jsinspector-modern/tracing` module.

The headers in this module are "for frameworks" tier (they include `<react/cxxstableapi/FrameworksGuard.h>`), but they reached the timing module directly through `<react/timing/primitives.h>`. That header is protected by `<react/cxxstableapi/UmbrellaGuard.h>`. Exported headers are preprocessed in the consumer's translation unit, so a consumer building with `RN_STRICT_API` would hit the guard through these transitive includes. `RN_ALLOW_FRAMEWORKS` does not suppress the guard.

This change replaces `#include <react/timing/primitives.h>` with the `<React/Timing.h>` umbrella in all 12 tracing headers that used it. The umbrella scopes `RN_UMBRELLA_CONTEXT` around its include of `primitives.h`, so the guard accepts it. It re-exports the same declarations, so there is no functional change.

Out of scope: the module's `.cpp` files (`EventLoopReporter.cpp`, `PerformanceTracer.cpp`, `TraceEventSerializer.cpp`) keep the fine-grained include. They are compiled only within React Native's own build and are never preprocessed by consumers, which matches the umbrella's documented guidance. Other modules are migrated in separate changes.

Reviewed By: cortinico

Differential Revision: D120313623
Summary:
Changelog: [Internal]

Replace the fine-grained includes of the public `runtimeexecutor` and `timing` modules in `CdpMetricsReporter.h` and `CdpPerfIssuesReporter.h` with their umbrella headers, `<React/RuntimeExecutor.h>` and `<React/Timing.h>`.

Differential Revision: D122117127
@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 Sep 28, 2026
@facebook-github-tools facebook-github-tools Bot added p: Software Mansion Partner: Software Mansion Partner p: Facebook Partner: Facebook labels Sep 28, 2026
@meta-codesync

meta-codesync Bot commented Sep 28, 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 D122117127.

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