You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a block has the same id as its parent page (e.g., page id: box with a child block id: box), the page fails to render. Client.js:88 looks up the page root block via RootSlots.map[config.pageConfig.blockId]. At runtime, Slots.js:39 registers blocks in a flat map by blockId — when a child block shares the page's blockId, it overwrites the page entry, so the client tries to render the child block as the page root.
Duplicate child blockIds are otherwise fine — they share state (intentional for visibility toggling) and render correctly because children are iterated from the slot tree, not looked up from the map. Only the page-vs-child collision is broken.
Expected Behavior
A child block with the same blockId as the page should not prevent the page from rendering. The page root entry in the slot map should not be overwritable by child blocks.
Bug
When a block has the same
idas its parent page (e.g., pageid: boxwith a child blockid: box), the page fails to render.Client.js:88looks up the page root block viaRootSlots.map[config.pageConfig.blockId]. At runtime,Slots.js:39registers blocks in a flat map byblockId— when a child block shares the page'sblockId, it overwrites the page entry, so the client tries to render the child block as the page root.Duplicate child
blockIds are otherwise fine — they share state (intentional for visibility toggling) and render correctly because children are iterated from the slot tree, not looked up from the map. Only the page-vs-child collision is broken.Expected Behavior
A child block with the same
blockIdas the page should not prevent the page from rendering. The page root entry in the slot map should not be overwritable by child blocks.