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

  1. 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).
  2. Watch the install log: it reports validation errors for several canvas.content_template.node.event.full component instances (hash mismatches on sdc.vartheme_bs5_horizonaid.* components, plus "prop is not defined" errors), then stops before the default content import.
  3. Check the resulting site: theme and vocabularies are applied, but only two nodes exist and /home returns 404.

Proposed resolution

Stop pinning hashes for this template. Two facts point the same way:

  • canvas.content_template.node.event.card.yml ships as a config file in the recipe and pins component_version: active for every component. It has never hit this failure.
  • canvas.content_template.node.event.full is applied as a simpleConfigUpdate action in recipe.yml with 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

Command icon 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

rajab natshah created an issue. See original summary.

  • rajab natshah committed f0b84349 on 1.0.x
    fix: #3614665 Make a fresh install of the site template complete
    
rajab natshah’s picture

Assigned: Unassigned » josebc
Status: Active » Needs review
Issue tags: +horizonaid-1.0.0-alpha1
rajab natshah’s picture

Assigned: josebc » mohammed j. razem
rajab natshah’s picture

Assigned: mohammed j. razem » Unassigned
Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.