Problem/Motivation
A fresh install of the site template aborts partway. drush site:install varbase --yes installer_site_template_form.add_ons=horizonaid fails at the config step with, for example:
There were validation errors in canvas.content_template.node.event.full: - 'd3ef992079effe12' is not a version that exists on component config entity 'sdc.vartheme_bs5_horizonaid.date'. Available versions: '69cd1843b2f2a0e5'.
Measured on 3 August 2026: eight component instances failed, plus four "prop is not defined" errors. The install stops after the config actions and before the default content import, so the site is left half-installed: theme and vocabularies applied, two nodes, and /home returning 404. Because the process reports config success first, it can read as a working build unless the exit code is checked.
Root cause. It is not a stale hash. During install, Canvas's component config entities lag the theme's own code: on the half-installed site the date component's active version listed the old prop set while the definition on disk hashed to the version the recipe pins. A single drush cache:rebuild after the install re-audits the components and registers exactly the hashes the recipe pins. So the pins are correct for the theme; they are simply not available in the window the recipe runs in. The theme ships no canvas.component.sdc.* config, so those entities are generated during install and not refreshed before the recipe's config actions run.
This is the ordering problem already flagged in #3614494's MR !19 ("pinning component_version hashes at all currently breaks a fresh install... a separate defect, not introduced here, and it is not fixed by this MR"). Filing it here as its own issue rather than reopening or MR'ing that one.
Steps to reproduce
- On a clean environment, run
drush site:install varbase --yes installer_site_template_form.add_ons=horizonaid(or pick Horizon Aid in the browser installer's site-template picker). - Watch the install log: it reports validation errors for several
canvas.content_template.node.event.fullcomponent instances (hash mismatches onsdc.vartheme_bs5_horizonaid.*components, plus "prop is not defined" errors), then stops before the default content import. - Check the resulting site: theme and vocabularies are applied, but only two nodes exist and
/homereturns 404.
Proposed resolution
Stop pinning hashes for this template. Two facts point the same way:
canvas.content_template.node.event.card.ymlships as a config file in the recipe and pinscomponent_version: activefor every component. It has never hit this failure.canvas.content_template.node.event.fullis applied as asimpleConfigUpdateaction inrecipe.ymlwith explicit hashes, and it is the one that fails.
Setting active directly in saved config is rejected by config validation ('active' is not a version that exists...), so active is resolved by Canvas when a recipe imports a config file, not by a config action. The fix is therefore to move the node.event.full tree out of the recipe.yml action and ship it as config/canvas.content_template.node.event.full.yml with component_version: active, matching the card template.
Note for whoever picks this up: re-applying the recipe onto the half-installed site is not a workaround; it hits ConfigConfigurator's "already exists and does not match" on config another recipe owns. Verification has to be a clean install.
Remaining tasks
- ✅ File an issue
- ❌ Addition/Change/Update/Fix
- ❌ Testing to ensure no regression
- ➖ Automated unit/functional testing coverage
- ➖ Developer Documentation support
- ➖ User Guide Documentation support
- ➖ UX/UI designer responsibilities
- ➖ Accessibility and Readability
- ❌ Reviewed by a human
- ❌ Code review by maintainers
- ❌ Full testing and approval
- ❌ Credit contributors
- ❌ Review with the product owner
- ❌ Update Release Notes
- ❌ Release
User interface changes
- N/A
API changes
- N/A
Data model changes
- N/A
Release notes snippet
- N/A
AI-Generated: Yes
Issue fork horizonaid-3614665
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #4
rajab natshah✅ Released horizonaid-1.0.0-alpha1
Comment #5
rajab natshahComment #6
rajab natshah