From 6381130236f52b487911c09e030b807f06e77963 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 18 Jul 2026 06:15:35 +0000 Subject: [PATCH] test(showcase): exercise the spec bare-string sort form on a real list view MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The spec/renderer shape-mismatch audit (objectui#2601) found the showcase had ZERO list views using @objectstack/spec ListViewSchema.sort's bare STRING form ('field [asc|desc]') — only the {field,order}[] array form — which is exactly why the 'schema.sort.map is not a function' crash lurked undetected. Add sort: 'estimate_hours desc' to the Task List (tabular) view as a live coverage fixture so the string form is exercised by any browser dogfood / coverage pass. Browser-verified end-to-end on latest main (objectui + framework): the list renders 10 records with no crash, no error boundary, no sort-map error, and the Estimate column is correctly descending (60→40→30→24→20→18→16→16→12→8). Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01HG5LQnPbQbjAAyofghzz3Z --- examples/app-showcase/src/ui/views/task.view.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/examples/app-showcase/src/ui/views/task.view.ts b/examples/app-showcase/src/ui/views/task.view.ts index 9869c40f04..703d758a0a 100644 --- a/examples/app-showcase/src/ui/views/task.view.ts +++ b/examples/app-showcase/src/ui/views/task.view.ts @@ -98,6 +98,13 @@ export const TaskViews = defineView({ { field: 'estimate_hours' }, ], + // @objectstack/spec ListViewSchema.sort accepts a bare STRING + // ("field [asc|desc]"), not only the {field,order}[] array form. This + // is the exact shape that used to crash the renderer with + // "schema.sort.map is not a function" (objectui#2601) — kept here as a + // live coverage fixture so a real list view exercises the string form. + sort: 'estimate_hours desc', + // ADR-0053 — NO `userFilters` here: on an object list view ("views" // mode) the console suppresses them by design (the view switcher is // the only nav control; objectui warns since #2220). End-user filter