@lotics/app-sdk 0.125.7 → 0.125.8

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.
@@ -246,9 +246,9 @@ Reads paginate two different ways, and the difference is load-bearing:
246
246
  opaque cursor instead of counting an offset, so a deep scroll stays O(page) and — the reason it
247
247
  matters — **never skips or duplicates a row as the set shifts** under concurrent inserts/deletes.
248
248
  The cursor is internal: the hook sends it and reads the next one back; you never see it. The
249
- server keysets a single sortable key (the runtime `sort`, else the template's own order on a
250
- column it projects, else the record id) and falls back to offset transparently for a multi-key
251
- sort, or a `first` key, it can't seek. So an infinite feed needs **no
249
+ server keysets the sort's column keys (the runtime `sort`, else the template's own order on the
250
+ columns it projects, else the record id) and falls back to offset transparently for a `first`
251
+ key it can't seek. So an infinite feed needs **no
252
252
  dedupe** — key rows by `__source_record_id` for stable React keys, not to guard against repeats.
253
253
  - **`page`, `limit`, `queryAll` and manual `rpc("query", { limit, offset })` use offset
254
254
  pagination** — count `offset` rows, skip them, return the next page. Two consequences a keyset
package/docs/queries.md CHANGED
@@ -878,7 +878,7 @@ template as derived nodes, in this order: `filter` (narrow) → `sort` (order)
878
878
  `offset` (`limit` clamped to the 10,000-row cap, §10); `useQuery` with `more` opts into **keyset
879
879
  (seek)** by sending `keyset: true` + the prior page's `cursor`, and the server returns the next
880
880
  `next_cursor` (null on the last page). Seek stays O(page) and never skips/duplicates a row as the
881
- set shifts, falling back to offset for a multi-key sort, or a `first` key, it can't seek.
881
+ set shifts, falling back to offset for a `first` key it can't seek.
882
882
  - **`count: true`** — returns `{ total }` only: a COUNT over the *filtered* set, ignoring
883
883
  sort/limit/offset. Drives "Page 1 of N". With **`count_by: "<column>"`** the same scan also
884
884
  returns `counts` — rows per value of that projected column (a multi-value row under each value,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lotics/app-sdk",
3
- "version": "0.125.7",
3
+ "version": "0.125.8",
4
4
  "description": "The SDK a Lotics custom-code app reads and writes through — typed hooks over the host bridge, cell readers, mount() and AppRouter",
5
5
  "type": "module",
6
6
  "exports": {