Investigate why the Canvas UI seems to not apply client-side transforms
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3535024. --> Reported by: [wim leers](https://www.drupal.org/user/99777) Related to !86 !122 >>> <h3 id="overview">Overview</h3> <p>Grab a &#9749;&#65039; and go and read <span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/canvas/-/work_items/3528396" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/canvas/-/work_items/3528396</a></span>.</p> <p>Over there, we worked around it purely on the BE, but it's <strong>likely still a bug in the handling of client-side transforms &mdash; possibly on the BE not providing them, possibly on the FE not applying them</strong>.</p> <p>We need to get to the bottom of that still, and ideally would remove the work-around that MR added:</p> <pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // &#128161; Automatically inform developers of missing client-side transforms,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // which is the most likely explanation for a value sent by the XB UI<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // not being accepted by the field type. However, gracefully degrade and<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // log a deprecation error.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // @see https://en.wikipedia.org/wiki/Robustness_principle<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ($source-&gt;fieldItemList-&gt;count() &gt; 0 &amp;&amp; $source-&gt;fieldItemList-&gt;isEmpty()) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // @todo Investigate in https://www.drupal.org/project/experience_builder/issues/3535024, and preferably add extra guardrails and convert this to an exception<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // @phpcs:ignore Drupal.Semantics.FunctionTriggerError.TriggerErrorTextLayoutRelaxed<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @trigger_error(sprintf('Client-side transformation for the `%s` prop failed: `%s` provided, but the %s data type logic considers it to be empty, hence indicating a mismatch.', $prop, json_encode($prop_value), $source-&gt;getSourceType()), E_USER_DEPRECATED);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; continue;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</pre><h3 id="proposed-resolution">Proposed resolution</h3> <p>TBD, investigate.</p> <h3 id="ui-changes">User interface changes</h3> > Related issue: [Issue #3528396](https://www.drupal.org/node/3528396) > Related issue: [Issue #3549005](https://www.drupal.org/node/3549005) > Related issue: [Issue #3499554](https://www.drupal.org/node/3499554)
issue