Closed fluiddot closed 6 months ago
After investigating the issue, I found out the culprit. The crash is related to footnotes, which it's logic is part of the updates made in the hook useEntityBlockEditor
. Let me share the trace of this logic to better explain the issue:
Hook useEntityBlockEditor
is used in the Provider
component and in core/block
(synced pattern):
In useEntityBlockEditor
, the function onChange
updates footnotes. This function is triggered when there's an update in the block, for instance, when an attribute is updated.
However, it only processes footnotes when the meta
property of the entity is defined. This is not the case for the majority of blocks, but it is for core/block
.
As part of the footnotes logic, the function getFootnotesOrder
calls getRichTextValuesCached
.
At the same time, the function getRichTextValuesCached
uses getRichTextValues
.
getRichTextValues
is a private API that is not exported in the native version:
Hence, the issue would be solved by simply exporting getRichTextValues
.
Following https://github.com/wordpress-mobile/WordPress-iOS/issues/22776#issuecomment-1980697867, seems the issue can also be reproduced in Cover block.
Describe the bug
In the mobile native version, we only cover the functionality of rendering the synced pattern. We don't support yet editing the content. However, its content might change locally due to side effects triggered during rendering.
As an example, having an Image block with a URL that doesn't contain the query parameter
w
(width) leads to an update. In this case, the Image block sets the width based on the size attribute and updates the URL. This update makes the editor crash with the errorundefined is not a function
.To Reproduce
Preparation:
?w=1024
).Steps:
Expected behavior The editor shouldn't crash when using synced patterns.
Screenshots
Smartphone (please complete the following information):
Additional context N/A