Skip to content

Restore RCTBridge enqueueJSCall compatibility - #59938

Merged
meta-codesync[bot] merged 1 commit into
mainfrom
cipolleschi/revert-rctbridge-public-api-removal
Nov 12, 2026
Merged

meta-codesync[bot] merged 1 commit into
mainfrom
cipolleschi/revert-rctbridge-public-api-removal

Conversation

@cipolleschi

@cipolleschi cipolleschi commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary:

Restores only the four-argument RCTBridge selector enqueueJSCall:method:args:completion: that was removed by #59429.

@react-native-firebase/app uses this selector in RNFBRCTEventEmitter to forward native Firebase events to RCTDeviceEventEmitter. Its iOS nightly build fails with:

no visible @interface for RCTBridge declares the selector enqueueJSCall:method:args:completion:

RCTBridgeProxy still implements the selector and forwards calls to RCTCallableJSModules. This restores source compatibility without bringing back the other removed bridge APIs or the skipped logging tests.

Failing nightly job: https://github.com/react-native-community/nightly-tests/actions/runs/43015178202/job/130504459789

Changelog:

[IOS] [FIXED] - Restore RCTBridge enqueueJSCall compatibility for external libraries

Test Plan:

  • node scripts/clang-format.js --check packages/react-native/React/Base/RCTBridge.h packages/react-native/React/Base/RCTBridge.mm - passed.
  • git diff HEAD^ HEAD --check - passed.
  • The C++ API generator completed all four Apple views and produced the restored selector entry. The complete cross-platform run then failed in the Android views on an unrelated duplicate basic_appender parser error.

@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 Nov 11, 2026
@meta-codesync

meta-codesync Bot commented Nov 11, 2026

Copy link
Copy Markdown

@cipolleschi has imported this pull request. If you are a Meta employee, you can view this in D131220385.

Restore the four-argument enqueueJSCall declaration and compatibility stub used by external libraries such as react-native-firebase.

The functional implementation remains on RCTBridgeProxy and forwards calls to RCTCallableJSModules.
@cipolleschi
cipolleschi force-pushed the cipolleschi/revert-rctbridge-public-api-removal branch from 1d9cb80 to 017460f Compare November 12, 2026 14:42
@cipolleschi cipolleschi changed the title Revert "Delete dead RCTBridge public API and skipped logging tests (#59429)" Restore RCTBridge enqueueJSCall compatibility Nov 12, 2026

@javache javache 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.

@meta-codesync
meta-codesync Bot merged commit aedc2e7 into main Nov 12, 2026
98 checks passed
@react-native-bot

Copy link
Copy Markdown
Collaborator

This pull request was successfully merged by @cipolleschi in aedc2e7

When will my fix make it into a release? | How to file a pick request?

@react-native-bot react-native-bot added the Merged This PR has been merged. label Nov 12, 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. Merged This PR has been merged. p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants