Skip to content

Classify legacy bridge JNI headers as private (#58811) - #58811

Closed
j-piasecki wants to merge 1 commit into
react:mainfrom
j-piasecki:export-D122764164
Closed

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

Conversation

@j-piasecki

@j-piasecki j-piasecki commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary:

Classifies JavaModuleWrapper.h, JavaScriptExecutorHolder.h, JniJSModulesUnbundle.h, MethodInvoker.h and ModuleRegistryBuilder.h from the reactnativejni target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private cxxreact types. Consumers that opt into RN_STRICT_API now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of reactnativejni are not classified yet.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D122764164

@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 Oct 2, 2026
@facebook-github-tools facebook-github-tools Bot added p: Software Mansion Partner: Software Mansion Partner p: Facebook Partner: Facebook labels Oct 2, 2026
@meta-codesync

meta-codesync Bot commented Oct 2, 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 D122764164.

@meta-codesync meta-codesync Bot changed the title Classify legacy bridge JNI headers as private Classify legacy bridge JNI headers as private (#58811) Oct 5, 2026
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 5, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 5, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 5, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 5, 2026
Summary:
Pull Request resolved: react#58811

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:
Pull Request resolved: react#58811

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:
Pull Request resolved: react#58811

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:
Pull Request resolved: react#58811

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 7, 2026
Summary:
Pull Request resolved: react#58811

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Differential Revision: D122764164

@cortinico cortinico left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review automatically exported from Phabricator review in Meta.

j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 8, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 8, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 8, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 8, 2026
Summary:

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D122764164
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Oct 8, 2026
Summary:
Pull Request resolved: react#58811

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D122764164
Summary:
Pull Request resolved: react#58811

Classifies `JavaModuleWrapper.h`, `JavaScriptExecutorHolder.h`, `JniJSModulesUnbundle.h`, `MethodInvoker.h` and `ModuleRegistryBuilder.h` from the `reactnativejni` target as "private" under the three-tier C++ stable API visibility model. They exist only to wire the legacy bridge and expose private `cxxreact` types. Consumers that opt into `RN_STRICT_API` now get an error if they include them directly; without that flag the guards are inert, so no existing build changes behaviour.

The remaining headers of `reactnativejni` are not classified yet.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D122764164
@meta-codesync meta-codesync Bot closed this in 99b2066 Oct 8, 2026
@meta-codesync meta-codesync Bot added the Merged This PR has been merged. label Oct 8, 2026
@meta-codesync

meta-codesync Bot commented Oct 8, 2026

Copy link
Copy Markdown

This pull request has been merged in 99b2066.

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. Merged This PR has been merged. 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.

2 participants