-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Fix editor crash caused by missing type conversion in EditorStyles component #49882
Merged
talldan
merged 2 commits into
trunk
from
fix/editor-crash-caused-by-missing-type-conversion
Apr 19, 2023
Merged
Fix editor crash caused by missing type conversion in EditorStyles component #49882
talldan
merged 2 commits into
trunk
from
fix/editor-crash-caused-by-missing-type-conversion
Apr 19, 2023
Conversation
This file contains 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
talldan
added
[Type] Bug
An existing feature does not function as intended
[Package] Block editor
/packages/block-editor
labels
Apr 18, 2023
Size Change: +12 B (0%) Total Size: 1.37 MB
ℹ️ View Unchanged
|
scruffian
approved these changes
Apr 18, 2023
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 looking at this. The fix looks good to me.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
[Package] Block editor
/packages/block-editor
[Type] Bug
An existing feature does not function as intended
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.
What?
It looks like a recent change to the
EditorStyles
in the PR from #49239 can cause an editor crash. That code attempts to callfilter
on thestyles
variable, but that variable can sometimes be an object instead of an array (though I don't know why that can happen).We can see this was previously handled by the
transformStyles
function where it converts astyles
object to an array usingObject.values
:https://github.com/WordPress/gutenberg/blob/trunk/packages/block-editor/src/utils/transform-styles/index.js#L21
But the new filtering code added in #49239 doesn't handle object types, only arrays, and that causes the error
styles.filter is not a function
.How?
Ensure the value is converted to an array before attempting to filter.
I've also updated the doc block for
transformStyles
to match what the function does.Testing Instructions
I'm not sure how to reproduce the issue, I've just observed the problem on a private site and diagnosed the issue.