@ai-matrx/records 0.58.20 → 0.58.22

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,11 +1,27 @@
1
1
  # Changelog — @ai-matrx/records
2
2
 
3
- ## 0.58.20
3
+ ## 0.58.22 (2026-09-26 — lane data-tables-grid-overhaul)
4
+
5
+ * **`useTable` re-reads on the table's shape nudge** (`tableShapeChanged`, or the realtime port's
6
+ table notice) exactly as `useFields` does. A table's own declaration moves with its shape — its
7
+ row label (`title_field`), name and sort — so an open record panel now names its record by a new
8
+ row label the moment it changes, instead of only once reopened. No consumer action.
9
+
10
+ ## 0.58.21
4
11
 
5
12
  Automatic changed-only republish (docs/metadata drift since the last tag — see
6
- `git diff npm/records/v0.58.19..npm/records/v0.58.20 -- apps/shared/records`).
13
+ `git diff npm/records/v0.58.20..npm/records/v0.58.21 -- apps/shared/records`).
7
14
  No source changes intended and no consumer action required.
8
15
 
16
+ ## 0.58.20 (2026-09-26 — cut by the automatic republish; carries lane data-tables-grid-overhaul, merge tranche 6k)
17
+
18
+ * **`useRecordPage(tableId, { pageSize, page, filter, search, sort, viewId })`** (`/react`) — one page
19
+ through `client.listPage` (`custom.read_records_page`): the store sorts, searches, filters and
20
+ counts; `total` is the matching set this reader may see. Realtime-aware exactly like
21
+ `useRecords`: a notice re-reads only the ids it names and patches them into the page (a row the
22
+ page does not hold costs one page read). `tableId: null` reads nothing. The realtime half is one
23
+ shared helper for both hooks. New types `UseRecordPageOptions`, `UseRecordPageState`.
24
+
9
25
  ## 0.58.19
10
26
 
11
27
  Automatic changed-only republish (docs/metadata drift since the last tag — see
@@ -8051,13 +8051,17 @@ function useAsync(run, deps, share) {
8051
8051
  return { ...state, reload, setData };
8052
8052
  }
8053
8053
  function useTable(tableId) {
8054
+ const revision = useShapeRevision(tableId);
8055
+ (0, import_react2.useEffect)(() => {
8056
+ if (tableId) registerShapeInterest(tableId);
8057
+ }, [tableId]);
8054
8058
  return useAsync(
8055
8059
  async (client) => {
8056
8060
  if (!tableId) return { ok: true, data: null };
8057
8061
  return client.tableRead({ table_id: tableId });
8058
8062
  },
8059
- [tableId],
8060
- tableId ? `table:${tableId}` : null
8063
+ [tableId, revision],
8064
+ tableId ? `table:${tableId}:${revision}` : null
8061
8065
  );
8062
8066
  }
8063
8067
  function useTables() {