fix: newly added Block Grid area blocks never render a preview (#322) - #333
Open
rickbutterfield wants to merge 1 commit into
Open
fix: newly added Block Grid area blocks never render a preview (#322)#333rickbutterfield wants to merge 1 commit into
rickbutterfield wants to merge 1 commit into
Conversation
Umbraco's UmbBlockGridEntryContext derives layoutAreas as layout?.areas. A brand-new block starts with an empty layout entry, so layoutAreas stays undefined until content is added to an area or the document is saved and reloaded. The #293 guard deferred the initial render whenever a block had configured areas but layoutAreas hadn't arrived yet, and for new blocks that guard never released, leaving the preview permanently blank. Remove the defer/early-return so new blocks render immediately; #filterLayouts() already defaults each area's items to [] when layoutAreas is missing, and the existing re-render trigger in observeBlockValue still fires once real layoutAreas data arrives, preserving the #293 fix for saved blocks. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J3ybE1j7L5X32L7k4mvgYz
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #322 — a newly added, unsaved Block Grid block with areas never renders a preview.
Why this is still happening on released 6.1.0: PR #323 already fixed this same bug, but only on
v6/dev.v6/devwas merged intov6/mainfor the 6.1.0 release before #323 landed, so the fix never made it into a release — matching the original report (6.1.0) and the two follow-up comments on #322 reporting the bug persists on 5.5.0/17.6.0 (and that downgrading to 5.4.1 works around it).Root cause: Umbraco's
UmbBlockGridEntryContextderiveslayoutAreasaslayout?.areas. A brand-new block is created with an emptypartialLayoutEntry: {}, so its layout entry has noareaskey at all —layoutAreasstaysundefineduntil content is added into an area or the document is saved and reloaded.The #293 fix added a guard that deferred the initial preview render whenever a block had configured areas but
layoutAreashadn't arrived yet, to avoid a transient incomplete render. For brand-new blocks that guard never releases, so the preview stays permanently blank and the area's "Add new Layout" button (part of the server-rendered markup) is unreachable.Fix: Removed the defer/early-return in
#observeBlockPropertyValue, mirroring #323 exactly.#filterLayouts()already defaults each area'sitemsto[]whenlayoutAreasis missing, so rendering immediately is safe and correct for new blocks. The existing re-render trigger inobserveBlockValue(fired whenlayoutAreastransitions from absent to present) is untouched, so the #293 fix for saved blocks with a content/settings-vs-layoutAreas race is preserved.src/Umbraco.Community.BlockPreview.UI/src/blockEditor/block-grid-preview.custom-view.element.ts— remove the defer guardwwwroot/App_Plugins/...) to include the changeTest plan
v6/devandv6/mainhad byte-identical source for this file prior to this change, so Fix: newly added Block Grid area blocks never render a preview #323's compiled bundle diff is attributable solely to this fixnode --checkon the rebuilt bundle passesGenerated by Claude Code