-
Notifications
You must be signed in to change notification settings - Fork 1.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
JSApplicationIllegalArgumentException: Error while updating property 'paddingRight' in shadow node of type: RCTAztecView #15016
Comments
I found that this crash was introduced in version 16.4 of the app, with the only code changes including @etoledom, do you perhaps have any insights into whether the changes in that PR may indeed by the culprit here? I'm labelling this with a |
@SiobhyB - It seems to be possible, the release of 16.4 corresponds with the date of the PR + release process. It seems to be a problem on Android's RCTAztecView. Since the origin is (presumably) on RN side, It would be nice to know if this is happening on iOS also. Since I'm not longer working on this project, I'll cc to @hypest and @mchowning (hello! :D ) |
I think the
and looks related to facebook/react-native#20206. Also note that the same error (albeit with a different px value) manifests as when trying to set |
Thanks for pointing me back on the right path here, @hypest! I did some more digging into the reports of this and was able to replicate the crash by adding padding with a value of The following code can be copied/pasted to the web in order to create a page to replicate this crash within the app:
|
Changing the label from |
Thanks for digging deeper and for the html snippet that can replicate the issue! Can you also share how those 0px values came to be? Like, is that a state one can reach via the web controls in Gutenberg, or it is some hand-written html perhaps? Thanks! |
I don't have a solid answer to that, unfortunately. I was able to get the HTML snippet from following Sentry's logs to "live" examples of sites associated with this crash, rather than by "organically" creating it myself. From everything I found in my testing and research, padding controls aren't available in the columns block yet, but will be soon. So, it's my assumption that these users are either copying/pasting their columns from somewhere or creating the HTML themselves. I wouldn't completely rule out some kind of hidden setting I'm missing, but it does seem most likely that this was added manually at this time. |
Ah, I see, thank you Siobhan! @ceyhun can you try to fix this one? I'm thinking that maybe we can detect and remove the |
I have looked a bit into this and I was able to re-create the problematic HTML using the latest version of Gutenberg on Here is the very similar HTML that was generated. I formatted it manually to make it more readable.
In the end there is a style object that gets passed into the {
"paddingBottom":"3px",
"paddingLeft":"4px",
"paddingRight":"2px",
"paddingTop":"1px"
} Layout engine is not able to convert it, and crashes. This happens on iOS as well. Although these are column's props, they get passed through to paragraph block via I'm currently thinking of looking into all the values in the |
Aha, thanks for the findings @ceyhun! My personal take would be to yes, remove the |
Hey! 👋 I think we could do it here instead of doing it for the RichText component, so it's more global. In regards to removing the So we could do the same we do for block styles attributes, only "pick" the things we support, something like: const wrapperProps = pick( wrapperPropsStyle, BLOCK_STYLE_ATTRIBUTES ); And change the variable we use here for the "sanitized" const mergedStyle = {
...baseGlobalColors,
...globalStyle,
...wrapperProps,
}; What do you think? |
Thanks @geriux, it seems to have fixed the issue! I've added you as a reviewer: WordPress/gutenberg#33782 |
Note: Verified the crash was happening as of 17.8, and also verified that it is no longer happening in the latest build of the app so the fix definitely works! Tested on LG G5 (Android 8), Samsung S6 (Android 7), and Pixel 4 (Android 11). Setting the Sentry event as "resolved in the next release" so we can track regression. |
Sentry Url: https://sentry.io/share/issue/946a6f9c27654b0c85636cc60080f81e/
User Count: 345
Count: 1746
First Release: [email protected]+975
First Seen: 2021-02-02T19:13:37.052000Z
Last Seen: 2021-07-12T09:36:11Z
24 Hours: 23
30 Days: 666
The text was updated successfully, but these errors were encountered: