Problem/Motivation
On a site installed from the released pair (recipe 1.0.2 with theme 1.0.3) the Home page prints an exception message in the Podcasts section, and the Canvas editor shows the same error for the Home page and in the component preview:
OutOfRangeException occurred during rendering of component ... in Page Home (1), field components: The requested version `f7a537484db43170` is not available. Available versions: `9fb40dd09ba177f4`, `7c8b7b626a4fbd83`, `de3d2ab04711f861`, `e151432379f663fb`.A component instance in shipped content names a version of its component, and Canvas can only render a version its component config holds. The content template canvas.content_template.node.podcast.rightup_show references version f7a537484db43170 of the button, but the recipe's canvas.component.sdc.vartheme_bs5_rightup.button ships only 7c8b7b626a4fbd83, de3d2ab04711f861 and e151432379f663fb. Theme 1.0.3 generates 9fb40dd09ba177f4 when the site is installed, so nothing provides the version the template asks for.
The same gap exists for the group and text components: 11 references in 6 content templates name versions the recipe does not ship (button, group and text). The group and text references work today only because theme 1.0.3 happens to generate the same hashes at install. A later theme release that changes those components would break them in the same way. Nothing in CI compares what the content references with what the recipe ships.
Steps to reproduce
- Run
ddev composer create-project drupal/cmsand install with the browser installer, picking The Rightup (recipe 1.0.2, theme 1.0.3). - Open the Home page: the Podcasts section shows the OutOfRangeException text.
- Open
/canvas/editor/canvas_page/1: the same error is reported.
Proposed resolution
- Re-export the button, group and text component configs so they ship every version the content uses.
- Add scenarios to the functional suite (
tests/features/15-quality/15-05-component-versions.feature): one checks from the recipe's own files that every component version the content uses is one the recipe ships, and the others visit the key pages as a visitor and fail if an OutOfRangeException or the unexpected error page is shown.
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
- None. The Home page and the Canvas editor render without the error.
API changes
- N/A
Data model changes
- Three component configs gain the versions the content already references.
Release notes snippet
- The Home page and the Canvas editor no longer fail with an OutOfRangeException about a missing component version.
AI-Generated: Yes. Drafted and tested with Claude Code, reviewed by the contributor.
Issue fork rightup-3628401
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 #3
rajab natshahComment #5
rajab natshah✅ Released rightup-1.0.3