have RCTInstance decorate non-app provided turbomodules with bridgeless APIs#48053
Closed
philIip wants to merge 1 commit into
Closed
have RCTInstance decorate non-app provided turbomodules with bridgeless APIs#48053philIip wants to merge 1 commit into
philIip wants to merge 1 commit into
Conversation
…ss APIs Summary: Changelog: [Internal] `getModuleInstanceFromClass:` is a delegate method intended to be implemented by the product layer to provide modules. if it is not implemented to return a module for a given key, `RCTTurboModuleManager` will simply call `new` on the TM class. however, these two paths differentiate - for `getModuleInstanceFromClass:`, we will call `_attachBridgelessAPIsToModule:` which provides objects like surfacePresenter to the native module. if we fallback to calling `new`, then this attachment does not happen, even if the app has already been migrated to bridgeless modules. thus, the fix in the case is to lift the fallback into RCTInstance as well, and decorate the APIs onto the new fallback. Differential Revision: D66675034
Contributor
|
This pull request was exported from Phabricator. Differential Revision: D66675034 |
Contributor
|
This pull request has been merged in 0217d7e. |
Collaborator
|
This pull request was successfully merged by @philIip in 0217d7e When will my fix make it into a release? | How to file a pick request? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
Changelog: [Internal]
getModuleInstanceFromClass:is a delegate method intended to be implemented by the product layer to provide modules. if it is not implemented to return a module for a given key,RCTTurboModuleManagerwill simply callnewon the TM class.however, these two paths differentiate - for
getModuleInstanceFromClass:, we will call_attachBridgelessAPIsToModule:which provides objects like surfacePresenter to the native module.if we fallback to calling
new, then this attachment does not happen, even if the app has already been migrated to bridgeless modules.thus, the fix in the case is to lift the fallback into RCTInstance as well, and decorate the APIs onto the new fallback.
Differential Revision: D66675034