Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 21 additions & 3 deletions .changeset/10393-retire-bare-map-key.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,29 @@ should be migrated there.
- `@object-ui/core`: `recordSourceDataArmForType` no longer lists the `map` and
`view:map` rows, since no block is registered under either key.
- `@object-ui/cli`: the generated known-type list that `objectui check` reads no
longer contains bare `map`, so the check now flags it. ⚠️ `view:map` stays on
longer contains bare `map`, so the check now reports `map` as an unknown
schema type in a file it recognises. ⚠️ `view:map` stays on
that list, because the opt-in protocol placeholder (`registerPlaceholders()`
in `@object-ui/components`) registers it — in the console a `view:map` node
renders that placeholder panel, not a map, and `objectui check` does not flag
it. Search documents for `view:map` directly.
renders that placeholder panel, not a map, and `objectui check` does not report
it as an unknown schema type in a file it recognises. A bare
`{ "type": "view:map" }` with no structural key is listed in `check`'s advisory
did-not-validate list instead, because `view:map` is on the known-type list and
`AnyComponentSchema` has no arm for it; that line does not say the node renders
a placeholder. Search documents for `view:map` directly.

⚠️ **Dated note, 2026-09-25 — `objectui check` flags `map` only in a file it
recognises — objectui#10606.** This entry first said, unscoped, that the check now
flags bare `map`. `check` checks the `type` of each file it recognises, and a file
whose root carries an ObjectUI structural key (`children`, `className`, `body`, …)
is recognised by that key alone. A file with none of those keys is parsed against
the schema and recognised only if it validates; one that does not validate is
listed by name when its root `type` is on that known-type list, and is otherwise
counted as skipped. `map` is no longer on it, so `{ "type": "map" }` is
counted as skipped ("no ObjectUI recogniser admitted") and gets no unknown-type
line, while `{ "type": "map", "className": "h-64" }` gets one. `check` exits
non-zero on unreadable JSON only; the verdict is `objectui validate`'s: it refuses
`{ "type": "map" }` at `type` (`invalid_union`) and exits non-zero.

The `@object-ui/plugin-map` README now describes one registered type, and its
sentence claiming a bare array under `data` reaches the in-memory adapter is
Expand Down
16 changes: 14 additions & 2 deletions .changeset/8760-unfulfilled-chart-stubs.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,25 @@ implementation to match it.

**Breaking, for anyone who authored a retired key.** A document with
`{ "type": "line-chart" }` used to resolve in the registry and then draw nothing; it is
now refused by name — `objectui check` reports `Unknown schema type "line-chart"`, and
`SchemaRenderer` paints the `OBJUI-001` panel instead of an endless skeleton. That is a
now refused by name — `SchemaRenderer` paints the `OBJUI-001` panel instead of an endless
skeleton. `objectui validate` refuses the document at `type` (`invalid_union`). That is a
louder failure for the same broken document, not a new one: no document that previously
DREW is affected. Migrate to `{ "type": "chart", "chartType": "line" | "area" }`, which
`CHART_TYPE_KEYWORD_FAMILIES` resolves. Scored `minor`, not `major`, per
AGENTS.md §版本号策略.

⚠️ **Dated note, 2026-09-25 — `objectui check` warns only in a file it recognises —
objectui#10606.** This entry first said `objectui check` reports `Unknown schema type
"line-chart"` for that document. `check` checks the `type` of each file it recognises, and a
file whose root carries an ObjectUI structural key (`children`, `className`, `body`, …) is
recognised by that key alone. A file with none of those keys is parsed against the schema
and recognised only if it validates; one that does not validate is listed by name when its
root `type` is on the known-type list `check` reads, and is otherwise counted as skipped.
`line-chart` is no longer on that list, so `{ "type": "line-chart" }` is counted as skipped
("no ObjectUI recogniser admitted") and gets no unknown-type line, while
`{ "type": "line-chart", "className": "h-64" }` gets one. `check` exits non-zero on
unreadable JSON only; the verdict is `objectui validate`'s.

**What moved.** The stub lists in `apps/console/src/register-plugins.ts` and
`apps/console/src/preview-gallery.tsx` (both loops, because the doc gate's key universe is
their union — retiring one alone would have changed nothing observable); the dashboard doc
Expand Down
28 changes: 22 additions & 6 deletions .changeset/9533-dashboard-bare-key-converge-plugin-namespace.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,25 @@ Converge the bare `dashboard` key on `plugin-dashboard`, and retire

**Breaking for authored metadata.** `{ "type": "view:dashboard" }` no longer
renders a dashboard. It now resolves to a refusal that names the spelling and
names its replacement, and `objectui check` reports it as an unknown schema
type. `{ "type": "dashboard" }` and `{ "type": "plugin-dashboard:dashboard" }`
both render `DashboardRenderer`, unchanged and newly-working respectively.
names its replacement. `objectui validate` refuses the document at `type`
(`invalid_union`). `{ "type": "dashboard" }` and
`{ "type": "plugin-dashboard:dashboard" }` both render `DashboardRenderer`,
unchanged and newly-working respectively.

⚠️ **Dated note, 2026-09-25 — `objectui check` names the spelling only in a
file it recognises — objectui#10606.** This entry first said `objectui check`
reports `{ "type": "view:dashboard" }` as an unknown schema type, and **What
changed** below said, unscoped, that `check` names the spelling. `check` checks
the `type` of each file it recognises, and a file whose root carries an ObjectUI
structural key (`children`, `className`, `body`, …) is recognised by that key
alone. A file with none of those keys is parsed against the schema and
recognised only if it validates; one that does not validate is listed by name
when its root `type` is on the known-type list `check` reads, and is otherwise
counted as skipped. `view:dashboard` is withheld from that list, so the document
above is counted as skipped ("no ObjectUI recogniser admitted") and gets no
unknown-type line, while `{ "type": "view:dashboard", "className": "h-64" }` gets one.
`check` exits non-zero on unreadable JSON only; the verdict is
`objectui validate`'s.

**What was wrong.** `apps/console` declares the lazy stub for bare `dashboard`
under `plugin-dashboard` — twice, in `preview-gallery.tsx` and
Expand Down Expand Up @@ -44,9 +60,9 @@ key name ONE full type. The retired `view:dashboard` key answers
carrying the same text — registered with `skipFallback: true` so it claims no
bare key. Its spelling is withheld from the derived key universe by declaration
in `scripts/check-doc-component-types.mjs`, the same disposition the
`RETIRED_FIELD_TYPES` tombstones take, so `objectui check` names it rather than
blessing it; `packages/cli/src/utils/known-schema-types.ts` regenerates and loses
that one entry.
`RETIRED_FIELD_TYPES` tombstones take, so `objectui check` names it in a file it
recognises rather than blessing it; `packages/cli/src/utils/known-schema-types.ts`
regenerates and loses that one entry.

**Also published: four new symbols on the package entry.** `src/index.tsx`
re-exports `RETIRED_DASHBOARD_NODE_TYPES`, `RetiredDashboardNodeTombstone`,
Expand Down
Loading