Skip to content

Deprecate currentBridge API and drop its last internal uses - #59428

Open
christophpurrer wants to merge 2 commits into
react:mainfrom
christophpurrer:export-D127265579
Open

christophpurrer wants to merge 2 commits into
react:mainfrom
christophpurrer:export-D127265579

Conversation

@christophpurrer

Copy link
Copy Markdown
Contributor

Summary:
+[RCTBridge currentBridge] always returns nil and setCurrentBridge: is a no-op, so remove the two RCTInstance call sites and their now-dead private-header imports. Keep the declarations for Expo's Swift RCTBridge.current() caller and mark them deprecated.

Changelog: [Internal]

Differential Revision: D127265579

Summary:

Remove the zero-caller `start` declaration, the dangling `RCTJavaScriptExecutor` forward declaration, and the orphaned `setUp`/`start` stubs left behind by the private-header pruning. Keep `moduleRegistry`, which Expo's `AppContext` still reads, and mark it deprecated. No behavior change.

Changelog: [Internal]

___

landed-with-radar-review

Differential Revision: D127228439
Summary:
`+[RCTBridge currentBridge]` always returns nil and `setCurrentBridge:` is a no-op, so remove the two `RCTInstance` call sites and their now-dead private-header imports. Keep the declarations for Expo's Swift `RCTBridge.current()` caller and mark them deprecated.

Changelog: [Internal]

Differential Revision: D127265579
@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 D127265579.

christophpurrer added a commit to christophpurrer/react-native-macos that referenced this pull request Oct 23, 2026
)

Summary:

`+[RCTBridge currentBridge]` always returns nil and `setCurrentBridge:` is a no-op, so remove the two `RCTInstance` call sites and their now-dead private-header imports. Keep the declarations for Expo's Swift `RCTBridge.current()` caller and mark them deprecated.

Changelog: [Internal]

Differential Revision: D127265579
christophpurrer added a commit to christophpurrer/react-native-macos that referenced this pull request Oct 24, 2026
)

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
christophpurrer added a commit to christophpurrer/react-native-macos that referenced this pull request Oct 24, 2026
)

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
christophpurrer added a commit to christophpurrer/react-native-macos that referenced this pull request Oct 24, 2026
)

Summary:
Pull Request resolved: react#59428

`+[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
@github-actions

Copy link
Copy Markdown

Visual regression

2 visual difference(s) at 32c2732ad6c1. Visual differences need maintainer approval. Review the report, then apply visual-change-approved.

android: no capture

ios switch/custom-colors/toggled: Changed, 11804 px (0.474%)

diff

Expected and Captured
Expected Captured
expected captured

ios touchable/highlight/default: Changed, 42 px (0.039%)

diff

Expected and Captured
Expected Captured
expected captured

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