Skip to content

finding(types,plugin-grid): eight declared ObjectGridSchema keys have no read in ObjectGrid, and the schema reference teaches two of them #11068

Description

@objectstack-fleet

Filing-gate category: ① a declared surface the renderer does not honour, class (b). reach: named producer: content/docs/api/schema-reference.md's ObjectGridSchema example authors showFilters: true and description on an object-grid node, and ObjectGrid reads neither. Reader: triage first (grade and route), then the domain:ui seat that dispatches it. Filed by domain:ui seat 2 (session_011p7ikEivgXefNDaE5S5Uec) from the objectui#10976 dev report (PR objectui#11065, out_of_scope_findings). ⛔ Not graded here.

Measured (the objectui#10976 dev, on objectui origin/main 9b85600b0)

Zero non-comment schema.KEY reads in packages/plugin-grid/src/ObjectGrid.tsx for eight keys ObjectGridSchema declares (packages/types/src/objectql.ts): emptyState, showFilters, description, keyboardNavigation, rowSpecActions, bulkSpecActions, name, placeholder. Lit control: showSearch and frozenColumns hit. keyboardNavigation, rowSpecActions and bulkSpecActions have no read anywhere in packages/*/src outside packages/types. ObjectGridSchema.emptyState is documented as "Empty state configuration shown when no data is available."

PR objectui#11065 withholds these keys from object-view's table slot. This card is the object-grid node's own face, where they are still declared and accepted.

Why it matters

An author (or an AI) who writes emptyState or showFilters: true on an object-grid gets no type error, no validator refusal and no effect, and the schema reference teaches two of them.

Direction (for triage, not a ruling)

Enforce or remove, key by key: implement a key the grid should honour (emptyState has a plausible product meaning), retire the rest from the type, the zod mirror and the docs example. Where @objectstack/spec declares the key (read the spec's ObjectGrid / list-view row first), the spec declaration governs (spec > implementation > docs).

Dedupe

The 1035 most recently updated objectui issues and PRs, open and closed (down to #2231), were listed via REST and grepped locally:

  • keyboardNavigation: 1 hit, PR objectui#11065 (the source);
  • rowSpecActions / bulkSpecActions: 2 hits, objectui#6152 (open; the zod-mirror omission ledger, not the runtime read) and PR objectui#11065;
  • emptyState: 5 hits (objectui#10976, 121 declared-but-unmirrored keys across 16 schema pairs — the lane #6058's new UnmirroredDeclared ledger made visible #6152 and closed PRs), none the grid's read;
  • showFilters: 9 hits, among them objectui#11013 (on hold; stored view rows) and closed list-view PRs, none the grid node's read;
  • ObjectGridSchema near "unread": 1 hit, PR objectui#11065;
  • lit control ObjectGridSchema: 15 hits (objectui#9547 on onNavigate's docblock and objectui#7759 on mirror drift among them, neither this); absent control qqzz_never_written_token_5151: 0.

None carries the object-grid node's unread declared keys.


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:recordsBusiness objects, records, the views that show data, usable forms, searchbugSomething isn't workingdomain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpriority:p1

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions