Stopgap proposal, mirror of https://www.drupal.org/project/canvas/issues/3591966 on
the Canvas queue.
ui_patterns decorates plugin.manager.sdc; Drupal Canvas class-aliases the same
service, so Canvas's typed accessors receive the decorator and every PropShape call
throws. The first TypeError fires from hook_modules_installed — after the modules are
recorded as installed — so "drush cr" fails permanently while cached pages keep
serving 200: the site looks alive while being unrebuildable. Reproduced on canvas
1.7.1 and 1.10.1 with ui_patterns 2.0.19.
Neither package declares a composer conflict, so Composer installs the pair without
complaint and the breakage only appears at runtime.
The real fix is on the Canvas side:
https://www.drupal.org/project/canvas/issues/3561618 (MR up). Until it lands, one
line here converts the runtime wreck into a resolve-time refusal:
"conflict": {
"drupal/canvas": "*"
}
Patch attached. Filed on both queues so either project can land it first; revert when
canvas#3561618 ships.
| Comment | File | Size | Author |
|---|---|---|---|
| #2 | 3618360-2-composer-conflict-canvas.patch | 1.27 KB | chadmandoo |
| ui_patterns-composer-conflict-canvas.patch | 307 bytes | chadmandoo |
Comments
Comment #2
chadmandoo commentedComment #3
chadmandoo commentedComment #4
pdureau commentedIs it already fixed by #3625036: Read component definitions from our own service, not from plugin.manager.sdc ?