Skip to content

console(grid): density / row-height change is saved as a flat top-level rowHeight on the whole served view envelope — the save door drops it with 200 and the density reverts on reload #11625

Description

@objectstack-fleet

QA-source: objectstack-ai/objectstack#21782 · records-forms.grid-personalization · acceptance[1]

Clause A2 of records-forms.grid-personalization fails in the ObjectStack 17.7 pre-release checklist run objectstack-ai/objectstack#21782 (framework subject 316be321e, console pin 2e818d0b51ec). An independent verifier (VF3, RUNNER rule 7; live twice, plus code) confirmed it: P2. It predates the 17.6.0 console pin 31971ff1e; no open duplicate was found. Owner: objectui. The server drop is by design, so the fix is client-side. An optional framework follow-up: the save answer could flag discarded undeclared envelope keys.

Reproduction

  1. Stock showcase, admin. Open /_console/apps/com.example.showcase/showcase_task (also reproduced on …/view/showcase_task.grid).
  2. Click "Density: Compact (click to cycle)". It changes to "Comfortable" and rows go from 41 px to 45 px.
  3. Wire: PUT /api/v1/meta/view/showcase_task.default → 200 "Saved customization overlay". The body is the full served item (config{…}, _provenance, scope, _diagnostics) plus a flat "rowHeight":"medium".
  4. Server truth: GET /api/v1/meta/view/showcase_task.default has no rowHeight, either at top level or in config.
  5. Reload in a fresh context. Expected: Comfortable. Actual: "Density: Compact" and 41 px rows.
  6. Control: a PUT with config.rowHeight:"tall" reads back "rowHeight":"tall".

Mechanism

Done when

The density patch is persisted inside config, so it survives reload (pinned), for both stock and saved views.


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:p2

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions