Skip to content

Deprecate ViewUtil.getUIManagerType and inline UIManagerType.Fabric (#56451)#56451

Closed
javache wants to merge 1 commit intofacebook:mainfrom
javache:export-D91222827
Closed

Deprecate ViewUtil.getUIManagerType and inline UIManagerType.Fabric (#56451)#56451
javache wants to merge 1 commit intofacebook:mainfrom
javache:export-D91222827

Conversation

@javache
Copy link
Copy Markdown
Member

@javache javache commented Apr 15, 2026

Summary:
With Fabric as the only supported renderer, ViewUtil.getUIManagerType() always returns UIManagerType.FABRIC. This diff inlines that constant throughout and removes all Paper-only code paths:

  • ReactRootView.setIsFabric() → no-op, getUIManagerType() → returns FABRIC
  • ReactInstanceManager.attachRootViewToInstance → Fabric-only (removes addRootView/runApplication path)
  • ReactInstanceManager.detachRootViewFromInstance → removes AppRegistry.unmountApplicationComponentAtRootTag path
  • NativeAnimatedModule → removes Fabric/non-Fabric animation counting, willDispatchViewUpdates is no-op
  • PropsAnimatedNode.restoreDefaultValues() → no-op (was only relevant for Paper ShadowNode sync)
  • BackgroundStyleApplicator → removes Fabric guards on outline/boxShadow/filter/blendMode setters
  • BaseViewManager → removes Fabric guards on filter/mixBlendMode
  • TransformHelper → removes allowPercentageResolution parameter (always true)
  • TouchTargetHelper → removes Fabric guard on overflow inset check
  • ComponentsReactNativeSupportProcessor → removes legacy Litho view creation path
  • ReactHorizontalScrollContainerLegacyView → deleted, ReactHorizontalScrollContainerViewManager simplified
  • ReactTextView → removes Paper-specific text update logic
  • ViewUtil.getUIManagerType() → deprecated, hardcoded to return FABRIC

Changelog: [Internal]

Reviewed By: christophpurrer, NickGerleman

Differential Revision: D91222827

@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 Apr 15, 2026
@meta-codesync
Copy link
Copy Markdown

meta-codesync Bot commented Apr 15, 2026

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

…acebook#56451)

Summary:
With Fabric as the only supported renderer, `ViewUtil.getUIManagerType()` always returns `UIManagerType.FABRIC`. This diff inlines that constant throughout and removes all Paper-only code paths:

- `ReactRootView.setIsFabric()` → no-op, `getUIManagerType()` → returns FABRIC
- `ReactInstanceManager.attachRootViewToInstance` → Fabric-only (removes `addRootView`/`runApplication` path)
- `ReactInstanceManager.detachRootViewFromInstance` → removes `AppRegistry.unmountApplicationComponentAtRootTag` path
- `NativeAnimatedModule` → removes Fabric/non-Fabric animation counting, `willDispatchViewUpdates` is no-op
- `PropsAnimatedNode.restoreDefaultValues()` → no-op (was only relevant for Paper ShadowNode sync)
- `BackgroundStyleApplicator` → removes Fabric guards on outline/boxShadow/filter/blendMode setters
- `BaseViewManager` → removes Fabric guards on filter/mixBlendMode
- `TransformHelper` → removes `allowPercentageResolution` parameter (always true)
- `TouchTargetHelper` → removes Fabric guard on overflow inset check
- `ComponentsReactNativeSupportProcessor` → removes legacy Litho view creation path
- `ReactHorizontalScrollContainerLegacyView` → deleted, `ReactHorizontalScrollContainerViewManager` simplified
- `ReactTextView` → removes Paper-specific text update logic
- `ViewUtil.getUIManagerType()` → deprecated, hardcoded to return FABRIC


Changelog: [Internal]

Reviewed By: christophpurrer, NickGerleman

Differential Revision: D91222827
@meta-codesync meta-codesync Bot changed the title Deprecate ViewUtil.getUIManagerType and inline UIManagerType.Fabric Deprecate ViewUtil.getUIManagerType and inline UIManagerType.Fabric (#56451) Apr 21, 2026
@github-actions
Copy link
Copy Markdown

Warning

JavaScript API change detected

This PR commits an update to ReactNativeApi.d.ts, indicating a change to React Native's public JavaScript API.

  • Please include a clear changelog message.
  • This change will be subject to additional review.

This change was flagged as: POTENTIALLY_BREAKING

@meta-codesync meta-codesync Bot closed this in bedf33f Apr 21, 2026
@facebook-github-tools facebook-github-tools Bot added the Merged This PR has been merged. label Apr 21, 2026
@meta-codesync
Copy link
Copy Markdown

meta-codesync Bot commented Apr 21, 2026

This pull request has been merged in bedf33f.

@react-native-bot
Copy link
Copy Markdown
Collaborator

This pull request was successfully merged by @javache in bedf33f

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

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. fb-exported Merged This PR has been merged. meta-exported p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants