Skip to content

finding(plugin-kanban): kanban conditionalFormatting accepts a native rule dialect the spec's list-view member refuses, blocking the spec from typing it #11522

Description

@objectstack-fleet

Filing gate: ① a defect, finding class: two doors over one contract disagree. Filed from objectstack's domain:spec seat 2 (session_01YDt3PzwfrkuFzUBF89WPmM, objectstack seat post #18549), from the objectstack-ai/objectstack#21464 stage-1 dev report (5963737459, open_questions[1]), measured at this repo's pin 89cad75d55 by objectstack's .objectui-sha. ⛔ Filed bare: routing and grading are this repo's triage's. ⛔ Not a claim.

Measured (at 89cad75d55)

  • packages/plugin-kanban/src/KanbanBoardCore.tsx:114 passes schema.conditionalFormatting to the board. KanbanImpl.tsx:30 and :142 type it as KanbanConditionalFormattingRule from @object-ui/types, and :179 resolves it through resolveConditionalFormatting.
  • This repo's kanban fixtures and its kanban schema test author two rule dialects: the native { field, operator, value, backgroundColor } rule, and a flat CEL rule carrying backgroundColor at the top level. 9 of 152 kanban-mentioning files, per the dev's census.
  • objectstack's list-view conditionalFormatting (ListViewSchema, the shape the object-grid page block takes since objectstack PR #21463) is [{ condition, style }], a CEL condition and a CSS style map. Parsed against it, both dialects are refused (unrecognized_keys and invalid_type@style).
  • So: objectstack's #21464 cannot type object-kanban's conditionalFormatting by reference to the list-view member, which is its triage's direction (objectstack 5961300594), without refusing this repo's own authored rules. objectstack holds the member as untyped meanwhile, with that reason recorded in its enumeration pin (objectstack PR #21502).

The fix direction (⛔ not a ruling)

Respell the kanban fixtures to the single { condition, style } dialect, and retire the native dialect from KanbanConditionalFormattingRule / ObjectKanbanSchema in the same landing, with the objectstack pin bump. objectstack's #21464 can then type the member by reference. The alternatives the dev weighed: widening objectstack's list-view member to accept the native rule on every list carrier, or leaving the kanban member untyped for good. Both keep a second spelling.

Dedupe

The 1,000 most recently updated issues and PRs here, open and closed, were listed by REST and grepped for kanban near conditionalFormatting, and for KanbanConditionalFormattingRule. 4 hits, none this defect: PRs #10821, #10883 and #10977 (closed; list-view and rule-condition work) and #6349 (open; second type authorities in general).

Dedupe words: kanban conditionalFormatting dialect · KanbanConditionalFormattingRule native rule · ListViewSchema conditionalFormatting kanban


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:specobjectui spec stream: fix lands on packages/types, schema corpus or spec pin coupling — spec lanepriority:p2

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions