Skip to content

26 sections author span: 'full' and do not span the row at modal width — measured pixel-identical to writing nothing, and 24 of them were rewritten INTO that spelling by PR #1605 #1870

Description

@os-steve

Restart-when: a published @objectstack/console > 17.4.0 whose .objectui-sha contains objectstack-ai/objectui@bd09957380 (PR #9253) — probe the installed console bundle: span: 'full' in a 3-column section emits @md:col-span-2 as well as @2XL:col-span-3; not the issue state

Measured while discharging #1694 (the absolute-colspan-discouraged question), in Chromium against objectstack dev on pinned @objectstack/* 17.4.0. ⛔ Filed rather than fixed: the sites are this repo's, the cause is the renderer's.

The measurement

span: 'full' compiles to a single class, @2xl:col-span-3, gated at the top breakpoint only. Rendered geometry for one field in an authored 3-column section:

authored 390px (1 col) 720px (2 col) 1700px (3 col)
(no attribute) 358px 285px 495px
span: 'full' 358px 285px 1517px
colSpan: 2 358px 586px 1006px

⇒ at the modal width, span: 'full' is pixel-identical to writing nothing — one column of two — while the colSpan spelling the platform discourages spans correctly there. Overflow was 0px in every configuration at every width; the readings were taken twice with a settle and were stable both times.

Why this repo has 26 of them

grep -rn "span: 'full'" src/ → 26 today. grep -rn "colSpan" src/ → 0.

24 of the 26 are there because PR #1605 rewrote colSpan: 2 into span: 'full' — to clear the absolute-colspan-discouraged warning. #1694 has now measured that warning's claim ("a fixed span only aligns at one width") and found it false at all three widths it names.

⇒ the rule steered this app out of a spelling that aligned everywhere and into one that silently does nothing at the middle width. ⭐ That is the finding: not a noisy rule, a rule whose advice made the reference app measurably worse — and no gate could see it, because the app is conformant.

What is actually broken for a reader today

Every authored "this field takes the whole row" intent is honoured on a wide page and dropped in a modal, which is where a record is most often edited. Nobody has audited which of the 26 sites care; some may look fine at half width by accident.

⛔ What NOT to do

What unblocks it

objectstack#17328 carries both halves: the false rule message and this breakpoint gating (the objectui renderer half is flagged there for platform triage). When it ships in a released line, this card is a re-measurement — ⭐ re-measure, ⛔ do not act on the table above; it is stale from the moment it was written — and then whichever spelling actually spans at all three widths.

⚠️ If the platform's answer is "span: 'full' is correct and the top-breakpoint gating is intended", then this card becomes a content question instead: 26 authored intents that the product deliberately does not honour in a modal, and the docs and the authoring guidance both say otherwise.

Refs: #1694 (the measurement, closed) · PR #1605 (the rewrite that created the 24) · #1524 (the noise question, closed) · objectstack#17328 (upstream) · #806 (why source reading is not acceptable here)


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

No one assigned

    Labels

    bugSomething isn't workingmetadataDeclarative metadata — schema, security posture, UI surfacesui

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions