@ai-matrx/records-ui 0.92.2 → 0.93.2

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,46 @@
1
1
  # Changelog — @ai-matrx/records-ui
2
2
 
3
+ ## 0.93.2 (2026-09-26 — files from the app's own window; notes read formatted)
4
+
5
+ - **New host port `pickFiles({ multiple, accept? }) → file ids | null`.** An attachment cell opens
6
+ the host's own file window (the app binds its cloud-files picker; several files when the column
7
+ holds several) and writes what was picked beside what the cell holds in ONE versioned write — the
8
+ store's attachment door turns each file id into its kernel File record. A cancelled window writes
9
+ nothing. With only `upload` bound the editor offers the upload; with neither it says no file
10
+ store is bound (`NO_UPLOAD_REASON`), never a dead button. The editor is `AttachmentControl`
11
+ (`src/gridAttachments.tsx`), used by every surface's `FieldControl`.
12
+ - **A file chip names its file and opens it.** An attachment value reads as the File record's own
13
+ name, linked through `hrefForFile` to the file behind it (`AttachmentChips`); unbound, plain words
14
+ that say the file cannot be opened here.
15
+ - **`renderText` gains slot `"cell"`.** In the merged grid a long-text cell reads through the
16
+ host's renderer (markdown, formatted, clipped to the row); the whole-text dialog gains a Preview
17
+ through the same slot. Unbound, or on the classic grid, the words as typed.
18
+
19
+ ## 0.93.1 (2026-09-26 — choice counts match the store's words)
20
+
21
+ - The live store groups a choice column by the option's WORD ("In Progress"), so 0.93.0 printed
22
+ "(0)" beside every option on the Camarillo service board. A count now matches the option by its
23
+ word, id or key, each once.
24
+
25
+ ## 0.93.0 (2026-09-26 — merged-grid tails before review 2)
26
+
27
+ - **An empty screen says why it is empty — one resolver for every layout** (`src/emptyState.tsx`).
28
+ A search, a column filter, the view's filter or a link's question that matches nothing says "No
29
+ rows match these filters" with Clear filters (it used to say "No records yet — Add the first row"
30
+ over a table of a thousand rows). A refused read says the store's sentence; only a truly empty
31
+ table offers "Add the first row". The grid (merged and classic) and the kanban, calendar and
32
+ gallery all ask the same resolver. `Grid` / `ViewSwitcher` take `onClearFilter` to clear the
33
+ view's own filter; `TablePage` binds it to the same clear the Filter control uses.
34
+ - **The phone's Tools sheet holds Colours and Summaries** — "Colour rows by", "Colour rules…", and
35
+ "Summarize a column … as …", through the same writes the header menus use.
36
+ - **A choice column's header filter counts its options** — "Scheduled (312)", counted by the store
37
+ (`custom.record_aggregate` grouped by the column, under the view's filter and every other column's
38
+ filter). The aggregate door takes no search, so while a search is typed the list shows no counts
39
+ rather than counts that ignore it.
40
+ - **A change notice names the row as it is now.** Typing the first name into a row's label column
41
+ said "Changed Title on Untitled" (the name was read from the row before the write); it now says
42
+ the new name, and clearing a name says the one it had (`changedRecordName`).
43
+
3
44
  ## 0.92.2
4
45
 
5
46
  Automatic changed-only republish (docs/metadata drift since the last tag — see