Skip to content

Fix flex-growing content sizing in <ScrollView> (#57601)#57601

Open
sammy-SC wants to merge 1 commit into
react:mainfrom
sammy-SC:export-D112353599
Open

Fix flex-growing content sizing in <ScrollView> (#57601)#57601
sammy-SC wants to merge 1 commit into
react:mainfrom
sammy-SC:export-D112353599

Conversation

@sammy-SC

@sammy-SC sammy-SC commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Summary:
X-link: react/yoga#1997

Preserve available height for flex-growing subtrees nested inside scroll content. Apply optimized flex-basis measurement only when a conservative proof shows that the subtree is height-independent and connected to the nearest scroll ancestor through column-stretch layout edges.

Keep authored flex-basis, overflow, padding, absolute-positioning, wrapping, percentage-owner, and box-sizing semantics intact across layout and measurement passes. Gate boxSizing cache invalidation with the same Yoga feature so disabling it preserves legacy caching behavior.

Add Fantom coverage for native boxSizing updates and for rerendering after both flexBasis and intrinsic height change. Verify the expected behavior across both fixYogaFlexBasisFitContentInMainAxis states.

Changelog: [internal]

Reviewed By: rubennorte

Differential Revision: D112353599

@meta-codesync

meta-codesync Bot commented Jul 19, 2026

Copy link
Copy Markdown

@sammy-SC has exported this pull request. If you are a Meta employee, you can view the originating Diff in D112353599.

@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 Jul 19, 2026
@sammy-SC
sammy-SC force-pushed the export-D112353599 branch from 2462efd to 4245c1c Compare July 22, 2026 11:59
sammy-SC added a commit to sammy-SC/yoga that referenced this pull request Jul 22, 2026
Summary:
X-link: react/react-native#57601

Preserve available height for flex-growing subtrees nested inside scroll content. Apply optimized flex-basis measurement only when a conservative proof shows that the subtree is height-independent and connected to the nearest scroll ancestor through column-stretch layout edges.

Keep authored flex-basis, overflow, padding, absolute-positioning, wrapping, percentage-owner, and box-sizing semantics intact across layout and measurement passes. Gate `boxSizing` cache invalidation with the same Yoga feature so disabling it preserves legacy caching behavior.

Add Fantom coverage for native `boxSizing` updates and for rerendering after both `flexBasis` and intrinsic height change. Verify the expected behavior across both `fixYogaFlexBasisFitContentInMainAxis` states.

Changelog: [internal]

Reviewed By: rubennorte

Differential Revision: D112353599
sammy-SC added a commit to sammy-SC/yoga that referenced this pull request Jul 22, 2026
Summary:

X-link: react/react-native#57601

Preserve available height for flex-growing subtrees nested inside scroll content. Apply optimized flex-basis measurement only when a conservative proof shows that the subtree is height-independent and connected to the nearest scroll ancestor through column-stretch layout edges.

Keep authored flex-basis, overflow, padding, absolute-positioning, wrapping, percentage-owner, and box-sizing semantics intact across layout and measurement passes. Gate `boxSizing` cache invalidation with the same Yoga feature so disabling it preserves legacy caching behavior.

Add Fantom coverage for native `boxSizing` updates and for rerendering after both `flexBasis` and intrinsic height change. Verify the expected behavior across both `fixYogaFlexBasisFitContentInMainAxis` states.

Changelog: [internal]

Reviewed By: rubennorte

Differential Revision: D112353599
@meta-codesync meta-codesync Bot changed the title Fix flex-growing content sizing in <ScrollView> Fix flex-growing content sizing in <ScrollView> (#57601) Jul 22, 2026
sammy-SC added a commit to sammy-SC/react-native that referenced this pull request Jul 22, 2026
Summary:
X-link: react/yoga#1997


Preserve available height for flex-growing subtrees nested inside scroll content. Apply optimized flex-basis measurement only when a conservative proof shows that the subtree is height-independent and connected to the nearest scroll ancestor through column-stretch layout edges.

Keep authored flex-basis, overflow, padding, absolute-positioning, wrapping, percentage-owner, and box-sizing semantics intact across layout and measurement passes. Gate `boxSizing` cache invalidation with the same Yoga feature so disabling it preserves legacy caching behavior.

Add Fantom coverage for native `boxSizing` updates and for rerendering after both `flexBasis` and intrinsic height change. Verify the expected behavior across both `fixYogaFlexBasisFitContentInMainAxis` states.

Changelog: [internal]

Reviewed By: rubennorte

Differential Revision: D112353599
@sammy-SC
sammy-SC force-pushed the export-D112353599 branch from 4245c1c to bebb753 Compare July 22, 2026 15:24
Summary:
X-link: react/yoga#1997


Preserve available height for flex-growing subtrees nested inside scroll content. Apply optimized flex-basis measurement only when a conservative proof shows that the subtree is height-independent and connected to the nearest scroll ancestor through column-stretch layout edges.

Keep authored flex-basis, overflow, padding, absolute-positioning, wrapping, percentage-owner, and box-sizing semantics intact across layout and measurement passes. Gate `boxSizing` cache invalidation with the same Yoga feature so disabling it preserves legacy caching behavior.

Add Fantom coverage for native `boxSizing` updates and for rerendering after both `flexBasis` and intrinsic height change. Verify the expected behavior across both `fixYogaFlexBasisFitContentInMainAxis` states.

Changelog: [internal]

Reviewed By: rubennorte

Differential Revision: D112353599
@sammy-SC
sammy-SC force-pushed the export-D112353599 branch from bebb753 to 5828e2d Compare July 22, 2026 15:38
sammy-SC added a commit to sammy-SC/yoga that referenced this pull request Jul 22, 2026
Summary:

X-link: react/react-native#57601

Preserve available height for flex-growing subtrees nested inside scroll content. Apply optimized flex-basis measurement only when a conservative proof shows that the subtree is height-independent and connected to the nearest scroll ancestor through column-stretch layout edges.

Keep authored flex-basis, overflow, padding, absolute-positioning, wrapping, percentage-owner, and box-sizing semantics intact across layout and measurement passes. Gate `boxSizing` cache invalidation with the same Yoga feature so disabling it preserves legacy caching behavior.

Add Fantom coverage for native `boxSizing` updates and for rerendering after both `flexBasis` and intrinsic height change. Verify the expected behavior across both `fixYogaFlexBasisFitContentInMainAxis` states.

Changelog: [internal]

Reviewed By: rubennorte

Differential Revision: D112353599
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