Repository navigation
Conversation
|
I'll fix CI failures and address comments from users with write access that start with 'Devin'.
|
…en sizing flex lines
staging-devin-ai-integration
Bot
force-pushed
the
devin/1791558808-flex-stretch-cross-definite-container
branch
from
October 9, 2026 16:42
5646a46 to
ac4c49c
Compare
This branch has not been deployed
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.
Objective
Split out of #1242 (fix 3 of 3 there; independent of the other two).
When sizing the flex lines (
determine_hypothetical_cross_sizeinsrc/compute/flexbox.rs), a cross size ofstretchnow resolves against the container's cross size if that size is definite, instead of contributing the item's content size. The resolved size is clamped by the item's min/max cross sizes and floored at its padding + border. The item is still stretched to its flex line afterwards indetermine_used_cross_size. (csswg-drafts #11784)If the container's cross size is indefinite, behaviour is unchanged.
Context
Tests
Five new
gentestfixtures with expectations generated from Chrome:flex_wrap_row_item_height_stretch_{definite,indefinite}_container,flex_wrap_column_item_width_stretch_definite_container{,_wide_sibling}andflex_row_item_height_stretch_definite_container_align_start.WPT
Results via Blitz CI for this change alone (DioxusLabs/blitz#1157, subtests passing, Blitz
main-> pinned to this PR). Four subtests gained and two lost acrosscss:css-sizing/stretch/flex-line-003css-sizing/stretch/flex-line-004Known regressions
Both come from existing Taffy behaviour that
stretchnow resolves against, rather than from the rule itself:flex-line-004subtests 1-2 (subtest 4 is fixed). The container isflex-flow: column wrap; width: min-contentwith two lines. Chrome sizes it to the widest item (26px); Taffy sizes it to the sum of its lines (52px). The items now stretch to 52px rather than staying at their 26px content size.min-height == max-heightandheight: auto. A wrapping row container withmin-height: 100px; max-height: 100pxandheight: stretchitems gives 100px items; Chrome gives the content height. Taffy treats equal min and max sizes as a definite size, sohas_definite_cross_sizeis true; Chrome does not. No fixture covers this.Test coverage gaps
.maybe_clamp(transferred_min_cross, transferred_max_cross).max(padding_border_sum)on the new arm is removed.has_definite_cross_sizeguard is removed.Feedback wanted
Whether to land this given the two regressions above, or to fix the underlying differences first.
Link to Devin session: https://dioxus.staging.devinenterprise.com/sessions/3a06d93089f2434ba3519a7813dea1e8
Open in Devin Desktop: https://dioxus.staging.devinenterprise.com/desktop/session/3a06d93089f2434ba3519a7813dea1e8?variant=devin-insiders
Requested by: @nicoburns