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
{{ message }}
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Docs gallery: the basic-tooltip and basic-hover-card entries render a completely blank tile — each authors a key its renderer never reads #4626
Measured while implementing #4616 (the gallery registration widening). Filed unassigned; not fixed there — both types are registered by @object-ui/components and neither tile is a registration failure, so they fall outside that card's scope. Duplicate-searched (keyword + the two entry paths + renderChildren): no open issue covers it.
The defect
Rendering all 423 catalog entries the way SchemaThumbnail renders them, these two produce no DOM of their own at all — the harness wrapper is empty:
body > div > div.group/sidebar-wrapper > div.w-full.p-4 (nothing inside)
They are not red tiles, so no OBJUI-001 sweep would ever notice them; they are blank cards on a published page. Two different causes, same result.
packages/components/src/renderers/overlay/tooltip.tsx reads schema.trigger and schema.body and never looks at children, so TooltipTrigger asChild gets nothing and the tile is empty. The registry meta for the type lists trigger and body as its slots, so the renderer is the one following the declared surface here.
2. components-overlay-hover-card/basic-hover-card
Both slots author value where the text renderer reads content:
{
"type": "hover-card",
"trigger": { "type": "text", "value": "Hover over me" },
"content": { "type": "text", "value": "This is the hover card content" }
}
packages/components/src/renderers/basic/text.tsx renders schema.content; value is not a key it reads, so both nodes render empty and the trigger has nothing to clone.
Why this is worth a card rather than a two-line patch
Both are one-key corrections, but the class is the interesting part: nothing rejects an authored key the renderer does not read. A schema naming children where the component declares trigger, or value where it declares content, publishes clean and renders blank — which is precisely the failure mode AI-authored metadata produces most often, and the catalog is the corpus those tools retrieve from. Worth deciding whether unknown keys on a registered type should be a publish-time rejection rather than silence.
Both entries are named as explicit exclusions, with this issue number, in examples/schema-catalog/test/catalog-gallery-render.test.tsx — the non-vacuity control there ("the tile drew something of its own") is what surfaced them, and removing the exclusions is the natural last step of fixing this.
Activity
fix(site): the catalog gallery registers every plugin its entries need (
fix(examples): catalog entries author the keys their renderers read (o…