@ai-matrx/records-ui 0.59.0 → 0.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,43 @@
1
1
  # Changelog — @ai-matrx/records-ui
2
2
 
3
+ ## 0.61.0
4
+
5
+ **A link to a board opens a board, and a cell that is still resolving says what
6
+ it is waiting for.** (lane FRONT-DOOR; VERIFIER-8 HIGH-2 and MEDIUM-1.)
7
+
8
+ * **`?view=` was read by nobody.**
9
+ `/data-v2/<table>?view=kanban` returned 200 and rendered the grid — 40 rows,
10
+ grid headers — and nothing on the screen said the view had been dropped. So a
11
+ bookmarked board was a grid and the link an office manager sent every morning
12
+ had never once opened the board. `TablePage` takes `activeView` (the raw
13
+ `?view=` string) and `onViewChanged`, and the five views — grid, kanban,
14
+ calendar, gallery, dashboards — all deep-link. The ADDRESS OUTRANKS the saved
15
+ view's layout until the person picks another, and then it FOLLOWS them: half a
16
+ deep link is a link that works when you arrive and lies when you copy it out of
17
+ the bar afterwards. `pageViewFromParam` also takes the words people actually
18
+ type (`board`, `cards`, `table`, `dashboard`), and a `?view=` this build has no
19
+ view for is SAID (`unknownViewLine`) rather than silently turned into a grid.
20
+ New: `PAGE_VIEWS`, `PAGE_VIEW_LABEL`, `pageViewFromParam`, `unknownViewLine`,
21
+ `openingView`, type `PageView`.
22
+ * **The relation resolver's per-cell fetch is batched, and it was latent.**
23
+ Measured on the real Rincon Plumbing Jobs grid on 2026-09-21: rows at 2,184 ms,
24
+ the CUSTOMER column resolved at 3,017 ms to real names, about 100 ms of
25
+ "Loading…" and ZERO `record_read` calls — so the 10-13 second column VERIFIER-8
26
+ recorded on 0.57 is already gone. What was still there was the shape behind it:
27
+ the chase for an id the bulk read did not cover fired per cell and committed its
28
+ own `setNames`, so forty uncovered cells cost forty round trips AND forty
29
+ re-renders of the whole grid. Ids now gather and the page asks ONCE A TICK, six
30
+ lanes at a time, with ONE commit for every name it learned.
31
+ * **A cell still resolving after one second says what it went to read.**
32
+ "Loading…" is honest for a moment and a lie with a spinner on it after that.
33
+ New: `useLabelWait`, `SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS`; `scalarText` and
34
+ `renderValue` take the sentence as a last argument (optional — every existing
35
+ call site is unchanged).
36
+
37
+ **Consumer action:** a host route that serves a table page should read `?view=`
38
+ and pass `activeView` + `onViewChanged` to `TablePage`, or its view links stay
39
+ dead. `matrx-frontend`'s `/data-v2/[tableId]` does this as of the same session.
40
+
3
41
  ## 0.59.0
4
42
 
5
43
  **Three things the browser walks found by using the builders on real businesses.**