@ai-matrx/records 0.83.2 → 0.84.1

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,22 @@
1
1
  # Changelog — @ai-matrx/records
2
2
 
3
+ ## 0.84.1
4
+
5
+ Automatic changed-only republish (docs/metadata drift since the last tag — see
6
+ `git diff npm/records/v0.84.0..npm/records/v0.84.1 -- apps/shared/records`).
7
+ No source changes intended and no consumer action required.
8
+
9
+ ## 0.84.0 — an empty box is no value; a link is never sorted by its ids
10
+
11
+ - **`createTableDataPort` writes "" as null for every column that is not words** (`blankToNull`, exported from
12
+ `./data/table-port`): a cleared date input sent `post_date: ""` and `record_write` refused it ("Post Date
13
+ takes a date") with nothing on screen (Applets live test, 2026-10-08). Text columns keep "".
14
+ - **A sort by a link (relation) column is refused by name** ("\"Brand\" is a link, so the store cannot sort
15
+ by it."): the store would order by the ids in the cell, a sort that looks like it did nothing.
16
+ - Tests red→green in `src/__tests__/an-empty-box-is-no-value-and-a-link-is-never-sorted-by-id.test.ts`.
17
+ - **Consumer action:** a page that sorted a table source by a link field sorts its rows on the page by the
18
+ links' labels (`@ai-matrx/applets` `sortRows`).
19
+
3
20
  ## 0.83.2
4
21
 
5
22
  Automatic changed-only republish (docs/metadata drift since the last tag — see
@@ -10294,7 +10294,8 @@ function recordingDataSource(source) {
10294
10294
  ...source.opensInOneCall ? { opensInOneCall: true } : {},
10295
10295
  rpc(fn, args, options) {
10296
10296
  return Promise.resolve(source.rpc(fn, args, options)).then((answer) => {
10297
- if (!answer.error && (options?.schema ?? "custom") === "custom") {
10297
+ const schema = options?.schema ?? "custom";
10298
+ if (!answer.error && (schema === "custom" || schema === "platform")) {
10298
10299
  for (const a of answersOf(fn, args, answer.data)) kept.set(seedKey(a.door, a.args), a);
10299
10300
  }
10300
10301
  return answer;