Skip to content

Delete dead RCTBridge public API and skipped logging tests (#59429) - #59429

Open
christophpurrer wants to merge 3 commits into
react:mainfrom
christophpurrer:export-D127265582
Open

christophpurrer wants to merge 3 commits into
react:mainfrom
christophpurrer:export-D127265582

Conversation

@christophpurrer

@christophpurrer christophpurrer commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary:

Remove RCTBridge declarations with zero callers: enqueueJSCall, module lookup, delegate, moduleClasses, reload, and batch APIs, plus their stub implementations. Keep bundleURL, still read by Expo Dev Menu, and the TurboModule-registry hooks the proxy forwards through, all marked deprecated. Delete skipped RCTLoggingTests, the only enqueueJSCall caller.

Changelog:
[iOS][Removed] - Remove unused RCTBridge reload, module-lookup, and JS-callback APIs
[iOS][Deprecated] - Deprecate RCTBridge.bundleURL, setRCTTurboModuleRegistry:, and bridgeModuleDecorator

Differential Revision: D127265582

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

meta-codesync Bot commented Oct 23, 2026

Copy link
Copy Markdown

@christophpurrer has exported this pull request. If you are a Meta employee, you can view the originating Diff in D127265582.

@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

Visual regression

No visual differences at 981a3d382775.

@meta-codesync meta-codesync Bot changed the title Delete dead RCTBridge public API and skipped logging tests Delete dead RCTBridge public API and skipped logging tests (#59429) Oct 24, 2026
christophpurrer added a commit to christophpurrer/react-native-macos that referenced this pull request Oct 24, 2026
Summary:

Remove `RCTBridge` declarations with zero callers: `enqueueJSCall`, module lookup, `delegate`, `moduleClasses`, reload, and batch APIs, plus their stub implementations. Keep `bundleURL`, still read by Expo Dev Menu, and the TurboModule-registry hooks the proxy forwards through, all marked deprecated. Delete skipped `RCTLoggingTests`, the only `enqueueJSCall` caller.

Changelog:
[iOS][Removed] - Remove unused `RCTBridge` reload, module-lookup, and JS-callback APIs
[iOS][Deprecated] - Deprecate `RCTBridge.bundleURL`, `setRCTTurboModuleRegistry:`, and `bridgeModuleDecorator`

Differential Revision: D127265582
Summary:

`RCTModuleData` is never instantiated and its implementation is a stub: initializers return `self`, and `gatherConstants`/`invalidate` are no-ops. Delete the header and implementation with the unused `RCTBridgeModuleProvider` typedef and `RCTModuleDataCallInvokerProvider` protocol, plus the buck header-map entry and all import sites.

Changelog:
[iOS][Removed] - Remove deprecated `RCTModuleData` class and its call-invoker provider protocol

Differential Revision: D127228438
)

Summary:

`+[RCTBridge currentBridge]` always returns nil and `+[RCTBridge setCurrentBridge:]` is a no-op: with the legacy bridge gone, nothing ever sets a current bridge, so the getter can only return nil. Remove the last two internal call sites in `RCTInstance` (iOS and macOS) along with their now-dead `RCTBridge+Private.h` imports. Keep both declarations, now marked deprecated, so existing external Swift callers (`RCTBridge.current()`) keep compiling and linking; they will only ever observe nil, the sole value this API can produce.

Changelog: [Internal]

Differential Revision: D127265579
Summary:

Remove `RCTBridge` declarations with zero callers: `enqueueJSCall`, module lookup, `delegate`, `moduleClasses`, reload, and batch APIs, plus their stub implementations. Keep `bundleURL`, still read by Expo Dev Menu, and the TurboModule-registry hooks the proxy forwards through, all marked deprecated. Delete skipped `RCTLoggingTests`, the only `enqueueJSCall` caller.

Changelog:
[iOS][Removed] - Remove unused `RCTBridge` reload, module-lookup, and JS-callback APIs
[iOS][Deprecated] - Deprecate `RCTBridge.bundleURL`, `setRCTTurboModuleRegistry:`, and `bridgeModuleDecorator`

Differential Revision: D127265582

This branch has not been deployed

No deployments
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 Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant