removeReason, updateReasons are never called when a component becomes more compatible
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3585530. --> Reported by: [mglaman](https://www.drupal.org/user/2416470) Related to !936 >>> <h3 id="overview">Overview</h3> <p>I used Claude Code to create an SDC from a Loveable design and it made a `logo_url` prop with the shape of:</p> <p>{"type":"string","contentMediaType":"image/*","format":"uri-reference"}</p> <p>I changed it to be a lot so I could place the branding block, then cleared caches.</p> <p>But the component is still incompatible for the same reasons.</p> <p>I used `drush config:get` to get the component config... and it was correct and generated without the `logo_url` prop and `status: true`</p> <p>And I can find it in the components panel to add to my site still</p> <h3 id="proposed-resolution">Proposed resolution</h3> <p>Make sure reasons are synchronized properly. </p> <pre>&nbsp;&nbsp;&nbsp; // All other components:<br>&nbsp;&nbsp;&nbsp; // 1. create a Component config entity if it does not exist yet, or<br>&nbsp;&nbsp;&nbsp; // 2. if the computed settings changed, create a new version on the existing<br>&nbsp;&nbsp;&nbsp; // 3. if other metadata changed, update it (no new version!)<br>&nbsp;&nbsp;&nbsp; foreach ($eligible_component_ids as $source_specific_component_id) {</pre><p> purge reasons here</p> <p>updateReasons isn't really used because we always call storeReasons</p> <h3 id="ui-changes">User interface changes</h3>
issue