fix: #3614521 Pin Canvas component versions that actually exist
Closes #3614521.
Every install of the recipe logged Canvas component-version warnings and fell back to the active version:
[warning] Component version `31ecc6cc06f17d4e` not found for component `block.system_menu_block.secondary`, falling back to active version `7206ccf6a90c8941`.
[warning] Component version `c336f6157683ac13` not found for component `block.views_block.news-latest`, falling back to active version `6815ab2dcfe29656`.Two distinct causes, both fixed here:
| File | Key | Was | Now |
|---|---|---|---|
canvas.component.block.views_block.news-latest.yml |
active_version |
4323a6a9e7c31f97 |
6815ab2dcfe29656 |
canvas.component.block.system_menu_block.secondary.yml |
active_version |
31ecc6cc06f17d4e |
7206ccf6a90c8941 |
canvas.pattern.latest_news_posts.yml |
component_version |
c336f6157683ac13 |
6815ab2dcfe29656 |
The first two declared an active_version that no longer matched the hash Canvas derives from that component's own versioned_properties.active settings. The third referenced a version the component never offers.
Determinism checked before pinning — two independent fresh installs (the dev site and a separate browser-installed build) compute identical hashes, so this removes the warnings rather than relocating them.
Verified
Fresh drush site:install recipes/educare after the change:
- Zero component-version warnings; installation complete.
- No regression: default theme
vartheme_bs5_educare; 20 programs / 40 events / 15 news / 3 pages; 17 media; 12 Canvas pages;/,/news,/programs,/events,/aboutall return 200.
3 files, 3 lines.
Checkpoints:
- File an issue
- Addition/Change/Update/Fix
- Testing to ensure no regression
- Automated unit testing coverage
- Automated functional testing coverage
- UX/UI designer responsibilities
- Readability
- Accessibility
- Performance
- Security
- Documentation
- Code review by maintainers
- Full testing and approval
- Credit contributors
- Review with the product owner
- Release notes snippet
- Release
AI-Generated: Yes
Edited by Rajab Natshah