Skip to content

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

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

Fix flex-growing content sizing in <ScrollView> (#1997)#1997
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/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-cla meta-cla Bot added the CLA Signed label Jul 19, 2026
@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.

@sammy-SC
sammy-SC force-pushed the export-D112353599 branch from 2376c63 to bc80bb5 Compare July 22, 2026 12:00
@meta-codesync meta-codesync Bot changed the title Fix flex-growing content sizing in <ScrollView> Fix flex-growing content sizing in <ScrollView> (#1997) Jul 22, 2026
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
sammy-SC force-pushed the export-D112353599 branch from bc80bb5 to 5e3f574 Compare July 22, 2026 15:24
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 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 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
sammy-SC force-pushed the export-D112353599 branch from 5e3f574 to 69045b6 Compare July 22, 2026 15:38
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
sammy-SC force-pushed the export-D112353599 branch from 69045b6 to abaada9 Compare July 22, 2026 18:54
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
meta-codesync Bot pushed a commit to react/react-native that referenced this pull request Jul 22, 2026
Summary:
X-link: react/yoga#1997

Pull Request resolved: #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

fbshipit-source-id: e6ed62e4733a5e6c60bff2a83d16da3e8336b119
@meta-codesync meta-codesync Bot closed this in 1dc925c Jul 22, 2026
@meta-codesync meta-codesync Bot added the Merged label Jul 22, 2026
@meta-codesync

meta-codesync Bot commented Jul 22, 2026

Copy link
Copy Markdown

This pull request has been merged in 1dc925c.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant