Issue #3620442: Pin block component versions to active in the header and footer page regions

Issue: https://www.drupal.org/project/varbase_starter/issues/3620442

What this changes

Five block.* component_version pins become active:

  • config/canvas.page_region.vartheme_bs5.header.yml — block.system_branding_block, block.system_menu_block.main
  • config/canvas.page_region.vartheme_bs5.footer.yml — block.system_menu_block.secondary, block.system_menu_block.social-media-menu, block.system_menu_block.footer

Why

Canvas auto-creates a component config entity per block plugin (provider: system on an installed site), and recipes do not overwrite config that already exists — so the recipe's own canvas.component.block.*.yml never imports and the hash it declared can be left unreferenced. VersionedConfigEntityBase::assertVersionExists() then throws:

OutOfRangeException: The requested version `…` is not available.

active is always a key in versioned_properties, so it cannot dangle; Canvas resolves it to the local component version at import time. The Horizon Aid footer already used active, which is why the footer there did not fail while the header did.

Varbase Starter is the reference template the other Vardot site templates are cloned from, so the pattern propagates from here. Same fix on the two projects that inherited it:

It is currently masked on Varbase by canvas MR !927 (https://www.drupal.org/i/3585221), carried in vardot/varbase-patches and being removed — after which a stale pin is a 500 on Varbase too.

The sdc.* pins are deliberately left alone. Those components ship with vartheme_bs5, so this recipe controls their payload, their hashes are deterministic, and pinning them is an intentional guarantee.

Checkpoints

  • 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

AI-Generated: Yes

Edited by Rajab Natshah

Merge request reports

Loading
Loading