@rindle/optimistic 0.4.3 → 0.4.4
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/README.md +30 -61
- package/dist/backend.d.ts +23 -1
- package/dist/backend.d.ts.map +1 -1
- package/dist/backend.js +58 -16
- package/dist/backend.js.map +1 -1
- package/dist/client.d.ts +9 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +22 -5
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/local-persist.d.ts +102 -0
- package/dist/local-persist.d.ts.map +1 -0
- package/dist/local-persist.js +957 -0
- package/dist/local-persist.js.map +1 -0
- package/package.json +6 -5
- package/src/backend.ts +58 -12
- package/src/client.ts +31 -5
- package/src/index.ts +15 -0
- package/src/local-persist.ts +1129 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-persist.js","sourceRoot":"","sources":["../src/local-persist.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rindle/optimistic",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.4",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -25,14 +25,15 @@
|
|
|
25
25
|
"README.md"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@rindle/remote": "0.4.
|
|
29
|
-
"@rindle/wasm": "0.4.
|
|
30
|
-
"@rindle/client": "0.4.
|
|
31
|
-
"@rindle/normalized": "0.4.
|
|
28
|
+
"@rindle/remote": "0.4.4",
|
|
29
|
+
"@rindle/wasm": "0.4.4",
|
|
30
|
+
"@rindle/client": "0.4.4",
|
|
31
|
+
"@rindle/normalized": "0.4.4"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@types/node": "^22.10.0",
|
|
35
35
|
"typescript": "^5.7.0",
|
|
36
|
+
"@rindle/narrator": "0.4.4",
|
|
36
37
|
"@rindle/replica": "0.0.0"
|
|
37
38
|
},
|
|
38
39
|
"scripts": {
|
package/src/backend.ts
CHANGED
|
@@ -48,6 +48,7 @@ import {
|
|
|
48
48
|
LMID_QUERY_NAME,
|
|
49
49
|
localTableNames,
|
|
50
50
|
normalizedTableSchemas,
|
|
51
|
+
rowsEqual,
|
|
51
52
|
tableSpec,
|
|
52
53
|
toCell,
|
|
53
54
|
} from "@rindle/client";
|
|
@@ -338,6 +339,12 @@ export class OptimisticBackend<S extends ColsMap> implements Backend {
|
|
|
338
339
|
* pending delta `displayed = server_base ⊕ local_pending_delta` is applied from. */
|
|
339
340
|
private readonly overlay = new AggOverlay();
|
|
340
341
|
private handler: (qid: QueryId, ev: ChangeEvent) => void = () => {};
|
|
342
|
+
// The local qids whose reconcile-cycle batch delivery this release is their FIRST hydration (empty
|
|
343
|
+
// → full): their batch is the initial result set arriving as a delta, so it is stamped `catchUp`
|
|
344
|
+
// and the Store maps it to the `snapshot` change-phase (a narrator ignores it by default). Non-null
|
|
345
|
+
// only for the duration of the reconcile cycle in `onProgress`; a re-hydrate after a drop is a real
|
|
346
|
+
// footprint diff (genuine change) and is NOT remapped. See {@link ChangeEvent} `catchUp`.
|
|
347
|
+
private catchUpQids: Set<QueryId> | null = null;
|
|
341
348
|
/** The Store's commit-boundary handler ({@link Backend.onCommitBoundary}), forwarded from the
|
|
342
349
|
* local engine's `dispatch` brackets so the Store folds every affected view before notifying any
|
|
343
350
|
* subscriber (cross-view-atomic notification). All this backend's data deltas originate from the
|
|
@@ -376,6 +383,9 @@ export class OptimisticBackend<S extends ColsMap> implements Backend {
|
|
|
376
383
|
* touches its tables. Cached so `onPending` fires only on transitions (invoke ↔ confirm). */
|
|
377
384
|
private readonly pendingState = new Map<QueryId, boolean>();
|
|
378
385
|
private pendingHandler: (qid: QueryId, pending: boolean) => void = () => {};
|
|
386
|
+
/** The local-persistence write-through tap (`207-LOCAL-TABLE-PERSISTENCE-DESIGN.md` §5.1):
|
|
387
|
+
* {@link writeLocal} invokes it post-commit; {@link applyLocalReplica} deliberately does not. */
|
|
388
|
+
private localWriteObserver: ((mutations: Mutation[]) => void) | null = null;
|
|
379
389
|
|
|
380
390
|
constructor(
|
|
381
391
|
schema: Schema<S>,
|
|
@@ -384,7 +394,12 @@ export class OptimisticBackend<S extends ColsMap> implements Backend {
|
|
|
384
394
|
opts: OptimisticBackendOptions,
|
|
385
395
|
) {
|
|
386
396
|
this.local = new WasmBackend(schema);
|
|
387
|
-
this.local.onEvent((qid, ev) =>
|
|
397
|
+
this.local.onEvent((qid, ev) => {
|
|
398
|
+
// Stamp a newly-hydrating query's reconcile batch as a catch-up (initial-hydration) delivery,
|
|
399
|
+
// so the Store phases it as a `snapshot` rather than narrating the whole first result set.
|
|
400
|
+
const stamped = ev.type === "batch" && this.catchUpQids?.has(qid) ? { ...ev, catchUp: true } : ev;
|
|
401
|
+
this.handler(qid, stamped);
|
|
402
|
+
});
|
|
388
403
|
// Forward the local engine's commit brackets up to the Store (cross-view-atomic notification):
|
|
389
404
|
// every data delta this backend emits comes from `this.local`, so its commit boundaries are ours.
|
|
390
405
|
this.local.onCommitBoundary((phase) => this.boundaryHandler(phase));
|
|
@@ -570,9 +585,33 @@ export class OptimisticBackend<S extends ColsMap> implements Backend {
|
|
|
570
585
|
* straight to the local engine, OUTSIDE the optimistic pending stack — a local table is
|
|
571
586
|
* untracked, so it never rebases, reverts, or waits on a confirmation. Rejects a synced/tracked
|
|
572
587
|
* table (the local engine's `writeLocal` is the chokepoint). Reconcile is synchronous and
|
|
573
|
-
* non-reentrant (A5), so a local write can never interleave with an open server cycle.
|
|
588
|
+
* non-reentrant (A5), so a local write can never interleave with an open server cycle.
|
|
589
|
+
*
|
|
590
|
+
* Fires the {@link onLocalWrite} observer AFTER the engine commit but BEFORE subscriber
|
|
591
|
+
* delivery — i.e. for exactly the batches that passed the M2 guard and committed (the
|
|
592
|
+
* persistence layer's write-through tap, `207-LOCAL-TABLE-PERSISTENCE-DESIGN.md` §5.1). A
|
|
593
|
+
* subscriber throwing during delivery re-raises out of this call, but only after the tap has
|
|
594
|
+
* seen the batch: a committed write can never be invisible to the persistence plane. */
|
|
574
595
|
writeLocal(mutations: Mutation[]): void {
|
|
575
|
-
this.local.writeLocal(mutations);
|
|
596
|
+
this.local.writeLocal(mutations, () => this.localWriteObserver?.(mutations));
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
/** The write-through tap for the local-persistence layer (207 §5.1): `observer` sees every
|
|
600
|
+
* {@link writeLocal} batch post-commit. One observer (the layer); a later registration
|
|
601
|
+
* replaces it. The observer must not throw — a persistence failure degrades durability, never
|
|
602
|
+
* the write path (P9); the layer catches internally. */
|
|
603
|
+
onLocalWrite(observer: (mutations: Mutation[]) => void): void {
|
|
604
|
+
this.localWriteObserver = observer;
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
/** Apply a REPLICATED local batch (a restore snapshot / a leader `commit` — 207 §5.1): delegates
|
|
608
|
+
* to the engine's `writeLocal`, so the M2 locality guard still fires (P8 — a corrupt record
|
|
609
|
+
* naming a synced table dies loudly here), but does NOT invoke the {@link onLocalWrite}
|
|
610
|
+
* observer — the echo guard is structural, so the persistence layer can never re-enter itself.
|
|
611
|
+
* `onCommitted` fires post-commit pre-delivery (same anchor as {@link writeLocal}'s tap): the
|
|
612
|
+
* layer updates its mirror there, so a subscriber throw can never desync mirror from engine. */
|
|
613
|
+
applyLocalReplica(mutations: Mutation[], onCommitted?: () => void): void {
|
|
614
|
+
this.local.writeLocal(mutations, onCommitted);
|
|
576
615
|
}
|
|
577
616
|
|
|
578
617
|
onEvent(handler: (qid: QueryId, ev: ChangeEvent) => void): void {
|
|
@@ -950,6 +989,9 @@ export class OptimisticBackend<S extends ColsMap> implements Backend {
|
|
|
950
989
|
}
|
|
951
990
|
|
|
952
991
|
private onProgress(frame: ProgressFrame): void {
|
|
992
|
+
// Snapshot which local views are already hydrated BEFORE this release folds: any that cross into
|
|
993
|
+
// hydrated below get their first result set as this cycle's batch, which must phase as a snapshot.
|
|
994
|
+
const wasHydrated = new Set(this.hydrated);
|
|
953
995
|
// (1) Take every buffered frame at cv ≤ cvMin, in (cv, arrival) order, and fold it:
|
|
954
996
|
// lmid system-query frames advance `confirmedLmid`; data frames fold through the
|
|
955
997
|
// cross-query refcount into ONE net base delta — the §1.3 `D`. Confirmation and
|
|
@@ -983,9 +1025,20 @@ export class OptimisticBackend<S extends ColsMap> implements Backend {
|
|
|
983
1025
|
const pendingChanged = this.pendingMutations.length !== before;
|
|
984
1026
|
|
|
985
1027
|
// (3) The reconcile cycle — only when something can have changed: a base delta to
|
|
986
|
-
// fold in, or a pending set that shrank (its optimistic layer must rewind out).
|
|
1028
|
+
// fold in, or a pending set that shrank (its optimistic layer must rewind out). The batch it
|
|
1029
|
+
// emits for any view that JUST became hydrated is that view's initial result set, so mark those
|
|
1030
|
+
// qids so the local-event forwarder stamps their batch `catchUp` (→ Store phases it `snapshot`).
|
|
987
1031
|
if (muts.length || pendingChanged) {
|
|
988
|
-
|
|
1032
|
+
let newlyHydrated: Set<QueryId> | null = null;
|
|
1033
|
+
for (const qid of this.hydrated) {
|
|
1034
|
+
if (!wasHydrated.has(qid)) (newlyHydrated ??= new Set()).add(qid);
|
|
1035
|
+
}
|
|
1036
|
+
this.catchUpQids = newlyHydrated;
|
|
1037
|
+
try {
|
|
1038
|
+
this.runReconcileCycle(muts);
|
|
1039
|
+
} finally {
|
|
1040
|
+
this.catchUpQids = null;
|
|
1041
|
+
}
|
|
989
1042
|
}
|
|
990
1043
|
|
|
991
1044
|
// (4) ResultType is the SERVER CHANNEL's state only now (§7): `unknown` while not hydrated,
|
|
@@ -1478,10 +1531,3 @@ function intersects(a: Set<string>, b: Set<string>): boolean {
|
|
|
1478
1531
|
return false;
|
|
1479
1532
|
}
|
|
1480
1533
|
|
|
1481
|
-
/** Elementwise equality over positional bare-cell rows (the synthetic `__agg` rows are all
|
|
1482
|
-
* scalar cells — group key + count — so identity comparison suffices). */
|
|
1483
|
-
function rowsEqual(a: WireValue[], b: WireValue[]): boolean {
|
|
1484
|
-
if (a.length !== b.length) return false;
|
|
1485
|
-
for (let i = 0; i < a.length; i++) if (a[i] !== b[i]) return false;
|
|
1486
|
-
return true;
|
|
1487
|
-
}
|
package/src/client.ts
CHANGED
|
@@ -22,6 +22,7 @@ import type { OptimisticBackend } from "./backend.ts";
|
|
|
22
22
|
import type { ClientRegistry, MutationTx } from "./backend.ts";
|
|
23
23
|
import { resetStableClientID, stableClientID } from "./client-id.ts";
|
|
24
24
|
import { createOptimisticStore, type MutateFn } from "./index.ts";
|
|
25
|
+
import { attachLocalPersistence, type LocalPersistence, type PersistLocalOptions } from "./local-persist.ts";
|
|
25
26
|
import type { Store } from "@rindle/client";
|
|
26
27
|
|
|
27
28
|
/** Must mirror `DEFAULT_RINDLE_API_ROUTES` in `@rindle/api-server` (the app-wire contract;
|
|
@@ -61,6 +62,14 @@ export interface RindleClientOptions<S extends ColsMap, R extends ClientRegistry
|
|
|
61
62
|
clientID?: string;
|
|
62
63
|
/** A policy rejection's reason (the prediction's snap-back rides the lmid release). */
|
|
63
64
|
onRejected?: (envelope: MutationEnvelope, reason: string) => void;
|
|
65
|
+
/** Persist `local: true` tables across reloads and keep them live-coherent across tabs
|
|
66
|
+
* (`207-LOCAL-TABLE-PERSISTENCE-DESIGN.md`). `user` is the storage identity (§3.2) — one IDB
|
|
67
|
+
* database per (origin, user); pass a sentinel like `"anon"` for a signed-out mode. When set,
|
|
68
|
+
* `createRindleClient` awaits the initial restore before returning, so the first render never
|
|
69
|
+
* flashes empty local state (§5.2). Logout is `deleteLocalPersistence(user)` — never implicit.
|
|
70
|
+
* Per-table opt-out: declare `table(name, { local: "session" })` for local state that must stay
|
|
71
|
+
* ephemeral and per-tab (e.g. selection) even with persistence on (§5.4). */
|
|
72
|
+
persistLocal?: PersistLocalOptions;
|
|
64
73
|
queue?: { maxBatch?: number; retryDelayMs?: (attempt: number) => number };
|
|
65
74
|
/** Development-only recovery knobs. Keep off in production: a mutation gap means state loss
|
|
66
75
|
* or two writers sharing a clientID, and should be investigated. */
|
|
@@ -146,18 +155,34 @@ export async function createRindleClient<S extends ColsMap, R extends ClientRegi
|
|
|
146
155
|
user: opts.user,
|
|
147
156
|
});
|
|
148
157
|
|
|
158
|
+
// Local-table persistence (207 §5.2): attach immediately after the store exists — before any
|
|
159
|
+
// app write can reach `writeLocal` — and AWAIT the initial restore (one `getAll` over small
|
|
160
|
+
// tables) so the first render never flashes empty local state. Restored rows arrive as ordinary
|
|
161
|
+
// deltas, so correctness never needed the gate — only UX does.
|
|
162
|
+
let persistence: LocalPersistence | undefined;
|
|
163
|
+
if (opts.persistLocal) {
|
|
164
|
+
persistence = attachLocalPersistence(backend, opts.schema, opts.persistLocal);
|
|
165
|
+
await persistence.ready;
|
|
166
|
+
}
|
|
167
|
+
|
|
149
168
|
// Drain folds before the tab goes away (FOLDED-MUTATIONS-DESIGN §0.1/§3): a fold deliberately
|
|
150
169
|
// holds its server write through the debounce window, so an unclean navigation would otherwise
|
|
151
170
|
// lose the applied-locally tail. `pagehide`/`beforeunload` is the last-chance flush; `close`
|
|
152
|
-
// also drains.
|
|
171
|
+
// also drains. The same hook is the persistence layer's best-effort final forward/persist
|
|
172
|
+
// (207 §9 — bounds the unacked-tail loss). (Best-effort: an unclean crash still loses the
|
|
173
|
+
// tail — an accepted cost, §0.1.)
|
|
153
174
|
const flushFolds = () => backend.flushFolds();
|
|
175
|
+
const onPageHide = () => {
|
|
176
|
+
flushFolds();
|
|
177
|
+
void persistence?.flush();
|
|
178
|
+
};
|
|
154
179
|
// Structural typing — this package has no DOM lib, but the browser global carries these.
|
|
155
180
|
const target = globalThis as unknown as {
|
|
156
181
|
addEventListener?: (type: string, listener: () => void) => void;
|
|
157
182
|
removeEventListener?: (type: string, listener: () => void) => void;
|
|
158
183
|
};
|
|
159
|
-
target.addEventListener?.("pagehide",
|
|
160
|
-
target.addEventListener?.("beforeunload",
|
|
184
|
+
target.addEventListener?.("pagehide", onPageHide);
|
|
185
|
+
target.addEventListener?.("beforeunload", onPageHide);
|
|
161
186
|
|
|
162
187
|
return {
|
|
163
188
|
store,
|
|
@@ -167,8 +192,9 @@ export async function createRindleClient<S extends ColsMap, R extends ClientRegi
|
|
|
167
192
|
clientID,
|
|
168
193
|
close: () => {
|
|
169
194
|
flushFolds();
|
|
170
|
-
target.removeEventListener?.("pagehide",
|
|
171
|
-
target.removeEventListener?.("beforeunload",
|
|
195
|
+
target.removeEventListener?.("pagehide", onPageHide);
|
|
196
|
+
target.removeEventListener?.("beforeunload", onPageHide);
|
|
197
|
+
persistence?.close(); // releases leadership + the channel + the IDB handle (207 P10)
|
|
172
198
|
source.close();
|
|
173
199
|
},
|
|
174
200
|
};
|
package/src/index.ts
CHANGED
|
@@ -49,6 +49,21 @@ export { createRindleClient } from "./client.ts";
|
|
|
49
49
|
export type { RindleClient, RindleClientOptions } from "./client.ts";
|
|
50
50
|
export { resetStableClientID, stableClientID } from "./client-id.ts";
|
|
51
51
|
|
|
52
|
+
// Local-table persistence (207-LOCAL-TABLE-PERSISTENCE-DESIGN.md): durable, cross-tab `local: true`
|
|
53
|
+
// tables. `createRindleClient` wires it via the `persistLocal` option; a standalone backend attaches
|
|
54
|
+
// with `attachLocalPersistence`; `deleteLocalPersistence` is the sanctioned logout hook (§3.2).
|
|
55
|
+
export { attachLocalPersistence, deleteLocalPersistence } from "./local-persist.ts";
|
|
56
|
+
export type {
|
|
57
|
+
LocalPersistence,
|
|
58
|
+
PersistChannel,
|
|
59
|
+
PersistDb,
|
|
60
|
+
PersistEnv,
|
|
61
|
+
PersistLocalOptions,
|
|
62
|
+
PersistMeta,
|
|
63
|
+
RowState,
|
|
64
|
+
StoredRow,
|
|
65
|
+
} from "./local-persist.ts";
|
|
66
|
+
|
|
52
67
|
/** A {@link Store} over an {@link OptimisticBackend}, plus the named-mutator entry
|
|
53
68
|
* (`mutate.createIssue(args)` — the §9 dream shape) and the §6 lifecycle surface. */
|
|
54
69
|
export function createOptimisticStore<S extends ColsMap, R extends ClientRegistry>(
|