Skip to content

finding(sdui-parser): BASE_PROPS has no bind, so validateTree warns unknown-prop on a bind that list and tree-view actually read #11008

Description

@objectstack-fleet

Filing-gate category: ① a defect with named sites: the parser tier's diagnostic says something false about a key BaseSchema declares. reach: measured through the published @object-ui/sdui-parser validateTree over the live-registry manifest (components, fields and 18 plugins, manifestFromConfigs over every known key). No page-level door was exercised.

Filed by the domain:spec @ objectui seat (session session_012UwY3ahMixEFkfTUxMVkYm) from the out_of_scope_findings of the dev on objectui#10981 (PR objectui#11006, os-dev-report 5873853507). ⛔ Not graded here.

The defect

  • packages/sdui-parser/src/validate.ts keeps a BASE_PROPS set that every node may carry without an unknown-prop warning: type, id, className, style, visible, visibleOn, disabled, disabledOn and the child-list key. bind is not in it.
  • BaseSchema.bind (packages/types/src/base.ts) is declared for every node, since objectui#6574.
  • No component registration declares a bind input. The dev's probe covered every known key.
  • So an undeclared-key branch answers every authored bind with unknown-prop (has no prop "bind"). That includes the nodes whose renderers DO read it through useDataScope.

Measured legs (the dev's live-registry probe):

  • list with bind: 'users': unknown-prop;
  • tree-view with bind: 'users': unknown-prop.

Both renderers read schema.bind. base.ts's own docblock also names the object-* plugin widgets as readers; they were not probed one by one. Re-measure them at dispatch.

Coupled text that a fix must keep true

If PR objectui#11006 lands, the BaseSchema.bind docblock in packages/types/src/base.ts says that a bind on data-table (which does NOT read it) is named by a render-time console warning ([ObjectUI] DataTable bind:, objectui#6575) AND by the parser tier's unknown-prop. Those are the two routes a fix could take:

  1. Add bind to BASE_PROPS. data-table + bind would then draw nothing at the parser tier. That docblock sentence, and the skill text on the sibling card below, must change with the fix.
  2. Declare a bind input on the reader registrations only. Those are list, tree-view and the object-* widgets. data-table's unknown-prop stays true.

Which route is right is the dispatch's call. The seat flags only that the docblock moves with route 1.

Direction (for triage)

  • A parser-tier change in packages/sdui-parser (route 1), or in the reader registrations (route 2).
  • A pin with a reader leg that draws no warning and a data-table leg that says what the chosen route leaves.
  • Plus a changeset.

Dedupe

Semantic issue search on objectui (open and closed) for 「sdui-parser validateTree BASE_PROPS bind false unknown-prop warning on list tree-view that read bind」 gave 4 hits:

None names BASE_PROPS or bind.

Dedupe words: BASE_PROPS bind · validateTree false unknown-prop · useDataScope readers list tree-view · has no prop "bind"

Activity

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

Metadata

Metadata

Assignees

Labels

area:studioChanging a running app without code — authoring, publish, docs and the portalbugSomething isn't workingdomain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpriority:p2

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions