-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Block Editor: Border Radius Control: Empty Values triggers unintended px unit conversion #73324
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
|
This problem appears to be caused by #67544 and was first observed in WordPress 6.9. Let's fix this in RC2 if possible. |
andrewserong
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great catch, this looks really close to me! I think we might need to retain the if block, but just move setting newUnits[ corner ] = next out from the else block. I've added a comment, but the existing behaviour otherwise offers a fallback when toggling units with empty values.
Otherwise once that's fixed up, I think this will be good to get in!
| if ( corner === 'all' ) { | ||
| newUnits.topLeft = next; | ||
| newUnits.topRight = next; | ||
| newUnits.bottomLeft = next; | ||
| newUnits.bottomRight = next; | ||
| } else { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we might still want to retain this if block, but just move newUnits[ corner ] = next; out from the else. Otherwise, what's happening in this PR is that if I don't have a value set, and I change the unit, then when I expand the controls, they revert to px instead of inheriting from the parent / all control:
2025-11-17.17.18.37.mp4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps we could leave the conditional statement unchanged and just explicitly update the flat property?
const onChangeUnit = ( next ) => {
const newUnits = { ...selectedUnits };
if ( corner === 'all' ) {
newUnits.flat = next;
newUnits.topLeft = next;
newUnits.topRight = next;
newUnits.bottomLeft = next;
newUnits.bottomRight = next;
} else {
newUnits[ corner ] = next;
}
setSelectedUnits( newUnits );
};4e508ed0b55443325f10cb6334b2932c.mp4
6c3dd41 to
94c3abf
Compare
@andrewserong, good point. I firstly committed with the simpler fix but then I started looking into it, and testing a bit, trying to understand the meaning behind that conditional, and I ended with the conclusion it was not doing anything in particular. I looked into the previous PR, but I could not find a reason at first glance. Now I see that in the I have reset to my previous commit, preserving that conditional. |
t-hamano
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This approach seems best to me, but I'd appreciate second feedback since I wasn't directly involved with #67544 and we're in the RC phase now 🙏
andrewserong
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the follow-up @SirLouen, this is testing nicely for me now, too! 🚀
I'll merge this in now.
Co-authored-by: SirLouen <[email protected]> Co-authored-by: andrewserong <[email protected]> Co-authored-by: t-hamano <[email protected]> Co-authored-by: sato-jp <[email protected]>
|
I just cherry-picked this PR to the wp/6.9 branch to get it included in the next release: 68b2fa4 |
Changes can be found at https://github.com/WordPress/gutenberg/commits/wp/6.9/. - [Block Bindings: Add unit test coverage for `core/post-data` source](WordPress/gutenberg#73055) - [Block Bindings: Error handling for external sources.](WordPress/gutenberg#72585) - [Notes: Collapse note on blur](WordPress/gutenberg#73158) - [Border-radius values triggers unintended px conversion](WordPress/gutenberg#73324) - [Fix navigation tag entity binding](WordPress/gutenberg#73255) - [DataViews: ensure primary actions are not wrapped in the list layout](WordPress/gutenberg#73345) - [Fix: Fit Text may overflow into the padding area.](WordPress/gutenberg#73327) - [Merge "Icon Size" and "Icon size" translation strings](WordPress/gutenberg#73325) - [Notes: Improve delete confirm message for replies](WordPress/gutenberg#73173) - [Fix: Custom font size taking over fit text.](WordPress/gutenberg#73241) - [Fix a11y of descriptions and alerts for "Invalid" Nav Items](WordPress/gutenberg#73177) - [Stretchy text: Hide variations in Block Inspector (hack)](WordPress/gutenberg#73238) - [Update button label from "Add new note" to "Add new reply"](WordPress/gutenberg#73189) - [Notes: Fix first note creation with pinned sidebar](WordPress/gutenberg#73164) Developed in #10528. See https://make.wordpress.org/core/handbook/about/release-cycle/block-editor-release-process-for-major-releases/#package-updates-and-core-patches. Fixes #64267. Props priethor. git-svn-id: https://develop.svn.wordpress.org/trunk@61262 602fd350-edb4-49c9-b593-d223f7449a82
Changes can be found at https://github.com/WordPress/gutenberg/commits/wp/6.9/. - [Block Bindings: Add unit test coverage for `core/post-data` source](WordPress/gutenberg#73055) - [Block Bindings: Error handling for external sources.](WordPress/gutenberg#72585) - [Notes: Collapse note on blur](WordPress/gutenberg#73158) - [Border-radius values triggers unintended px conversion](WordPress/gutenberg#73324) - [Fix navigation tag entity binding](WordPress/gutenberg#73255) - [DataViews: ensure primary actions are not wrapped in the list layout](WordPress/gutenberg#73345) - [Fix: Fit Text may overflow into the padding area.](WordPress/gutenberg#73327) - [Merge "Icon Size" and "Icon size" translation strings](WordPress/gutenberg#73325) - [Notes: Improve delete confirm message for replies](WordPress/gutenberg#73173) - [Fix: Custom font size taking over fit text.](WordPress/gutenberg#73241) - [Fix a11y of descriptions and alerts for "Invalid" Nav Items](WordPress/gutenberg#73177) - [Stretchy text: Hide variations in Block Inspector (hack)](WordPress/gutenberg#73238) - [Update button label from "Add new note" to "Add new reply"](WordPress/gutenberg#73189) - [Notes: Fix first note creation with pinned sidebar](WordPress/gutenberg#73164) Developed in WordPress/wordpress-develop#10528. See https://make.wordpress.org/core/handbook/about/release-cycle/block-editor-release-process-for-major-releases/#package-updates-and-core-patches. Fixes #64267. Props priethor. Built from https://develop.svn.wordpress.org/trunk@61262 git-svn-id: http://core.svn.wordpress.org/trunk@60574 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Changes can be found at https://github.com/WordPress/gutenberg/commits/wp/6.9/. - [Block Bindings: Add unit test coverage for `core/post-data` source](WordPress/gutenberg#73055) - [Block Bindings: Error handling for external sources.](WordPress/gutenberg#72585) - [Notes: Collapse note on blur](WordPress/gutenberg#73158) - [Border-radius values triggers unintended px conversion](WordPress/gutenberg#73324) - [Fix navigation tag entity binding](WordPress/gutenberg#73255) - [DataViews: ensure primary actions are not wrapped in the list layout](WordPress/gutenberg#73345) - [Fix: Fit Text may overflow into the padding area.](WordPress/gutenberg#73327) - [Merge "Icon Size" and "Icon size" translation strings](WordPress/gutenberg#73325) - [Notes: Improve delete confirm message for replies](WordPress/gutenberg#73173) - [Fix: Custom font size taking over fit text.](WordPress/gutenberg#73241) - [Fix a11y of descriptions and alerts for "Invalid" Nav Items](WordPress/gutenberg#73177) - [Stretchy text: Hide variations in Block Inspector (hack)](WordPress/gutenberg#73238) - [Update button label from "Add new note" to "Add new reply"](WordPress/gutenberg#73189) - [Notes: Fix first note creation with pinned sidebar](WordPress/gutenberg#73164) Developed in WordPress/wordpress-develop#10528. See https://make.wordpress.org/core/handbook/about/release-cycle/block-editor-release-process-for-major-releases/#package-updates-and-core-patches. Fixes #64267. Props priethor. Built from https://develop.svn.wordpress.org/trunk@61262 git-svn-id: https://core.svn.wordpress.org/trunk@60574 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Changes can be found at https://github.com/WordPress/gutenberg/commits/wp/6.9/. [Block Bindings: Add unit test coverage for core/post-data source](WordPress/gutenberg#73055) [Block Bindings: Error handling for external sources.](WordPress/gutenberg#72585) [Notes: Collapse note on blur](WordPress/gutenberg#73158) [Border-radius values triggers unintended px conversion](WordPress/gutenberg#73324) [Fix navigation tag entity binding](WordPress/gutenberg#73255) [DataViews: ensure primary actions are not wrapped in the list layout](WordPress/gutenberg#73345) [Fix: Fit Text may overflow into the padding area.](WordPress/gutenberg#73327) [Merge "Icon Size" and "Icon size" translation strings](WordPress/gutenberg#73325) [Notes: Improve delete confirm message for replies](WordPress/gutenberg#73173) [Fix: Custom font size taking over fit text.](WordPress/gutenberg#73241) [Fix a11y of descriptions and alerts for "Invalid" Nav Items](WordPress/gutenberg#73177) [Stretchy text: Hide variations in Block Inspector (hack)](WordPress/gutenberg#73238) [Update button label from "Add new note" to "Add new reply"](WordPress/gutenberg#73189) [Notes: Fix first note creation with pinned sidebar](WordPress/gutenberg#73164) Developed in #10528. See https://make.wordpress.org/core/handbook/about/release-cycle/block-editor-release-process-for-major-releases/#package-updates-and-core-patches. Reviewed by davidbaumwald. Merges [61262] to the 6.9 branch. Props priethor, ellatrix. See #64267. git-svn-id: https://develop.svn.wordpress.org/branches/6.9@61263 602fd350-edb4-49c9-b593-d223f7449a82
Changes can be found at https://github.com/WordPress/gutenberg/commits/wp/6.9/. [Block Bindings: Add unit test coverage for core/post-data source](WordPress/gutenberg#73055) [Block Bindings: Error handling for external sources.](WordPress/gutenberg#72585) [Notes: Collapse note on blur](WordPress/gutenberg#73158) [Border-radius values triggers unintended px conversion](WordPress/gutenberg#73324) [Fix navigation tag entity binding](WordPress/gutenberg#73255) [DataViews: ensure primary actions are not wrapped in the list layout](WordPress/gutenberg#73345) [Fix: Fit Text may overflow into the padding area.](WordPress/gutenberg#73327) [Merge "Icon Size" and "Icon size" translation strings](WordPress/gutenberg#73325) [Notes: Improve delete confirm message for replies](WordPress/gutenberg#73173) [Fix: Custom font size taking over fit text.](WordPress/gutenberg#73241) [Fix a11y of descriptions and alerts for "Invalid" Nav Items](WordPress/gutenberg#73177) [Stretchy text: Hide variations in Block Inspector (hack)](WordPress/gutenberg#73238) [Update button label from "Add new note" to "Add new reply"](WordPress/gutenberg#73189) [Notes: Fix first note creation with pinned sidebar](WordPress/gutenberg#73164) Developed in WordPress/wordpress-develop#10528. See https://make.wordpress.org/core/handbook/about/release-cycle/block-editor-release-process-for-major-releases/#package-updates-and-core-patches. Reviewed by davidbaumwald. Merges [61262] to the 6.9 branch. Props priethor, ellatrix. See #64267. Built from https://develop.svn.wordpress.org/branches/6.9@61263 git-svn-id: http://core.svn.wordpress.org/branches/6.9@60575 1a063a9b-81f0-0310-95a4-ce76da25c4cd
What?
Closes #73291
If we remove the value of a Border Radius (in a paragraph or a group or anywhere where we have this control), the unit flips to
pxinstead of retaining the selected valueremor whatever.How?
We forgot to add the
flat(single value), unit to theonChangeUnitin the input control whencornerequalsall. At first I thought there could be a difference betweencornertoalland the multiple options alternative, but I think that I any case thenewUnitsshould be set for the corner that is being switched (including thealloption). So there is no point on differentiating them.This was introduced in #67544 but I can't really see in the PR why this differentiation was necessary, so I assume it's a little bug.
Testing Instructions
remfor the units in the Border radiuspxAdditional Testing ideas
Testing Instructions for Keyboard
pxScreenshots or screencast