@rindle/optimistic 0.4.2 → 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 +29 -16
- package/dist/backend.d.ts.map +1 -1
- package/dist/backend.js +77 -21
- 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 +93 -30
- 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/
|
|
29
|
-
"@rindle/wasm": "0.4.
|
|
30
|
-
"@rindle/
|
|
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
|
@@ -41,12 +41,16 @@
|
|
|
41
41
|
import {
|
|
42
42
|
CLIENT_MUTATIONS_SCHEMA,
|
|
43
43
|
driveMutationSync,
|
|
44
|
+
insertCell,
|
|
45
|
+
insertPlan,
|
|
44
46
|
isGeneratorMutator,
|
|
45
47
|
isoTx,
|
|
46
48
|
LMID_QUERY_NAME,
|
|
47
49
|
localTableNames,
|
|
48
50
|
normalizedTableSchemas,
|
|
51
|
+
rowsEqual,
|
|
49
52
|
tableSpec,
|
|
53
|
+
toCell,
|
|
50
54
|
} from "@rindle/client";
|
|
51
55
|
import type {
|
|
52
56
|
Ast,
|
|
@@ -54,6 +58,7 @@ import type {
|
|
|
54
58
|
BackendDevObserver,
|
|
55
59
|
ChangeEvent,
|
|
56
60
|
ColsMap,
|
|
61
|
+
ColType,
|
|
57
62
|
IsoTx,
|
|
58
63
|
KeyedRow,
|
|
59
64
|
Mutation,
|
|
@@ -65,7 +70,9 @@ import type {
|
|
|
65
70
|
NormalizedTableSchema,
|
|
66
71
|
OptimisticSource,
|
|
67
72
|
ProgressFrame,
|
|
73
|
+
QueryArg,
|
|
68
74
|
QueryId,
|
|
75
|
+
QueryResultRow,
|
|
69
76
|
RemoteQuery,
|
|
70
77
|
ResultType,
|
|
71
78
|
Schema,
|
|
@@ -81,17 +88,11 @@ import { AggOverlay, type ChildOp, collectAggDefs } from "./agg-overlay.ts";
|
|
|
81
88
|
* `@rindle/client` (the leaf both tiers share). */
|
|
82
89
|
export type { KeyedRow };
|
|
83
90
|
|
|
84
|
-
/**
|
|
85
|
-
* {@link
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
export type
|
|
89
|
-
|
|
90
|
-
/** A row returned by {@link MutationTx.query}: column name → cell, plus each materialized
|
|
91
|
-
* relationship name → its nested row(s) — an array (a plural relationship), or a single row /
|
|
92
|
-
* `null` (a `.one()` relationship). Recursive (nested rows share the shape). Presented
|
|
93
|
-
* identically to a `view.data` row of the same query (203-MUTATOR-READS-DESIGN.md §5.2). */
|
|
94
|
-
export type QueryResultRow = { [key: string]: WireValue | QueryResultRow | QueryResultRow[] };
|
|
91
|
+
/** {@link MutationTx.query}'s query handle ({@link QueryArg}, `{ ast(): Ast }`) and result row
|
|
92
|
+
* ({@link QueryResultRow}) — the SAME types the isomorphic seam uses (203-MUTATOR-READS-DESIGN.md
|
|
93
|
+
* §5.2/§9.1), re-exported from `@rindle/client` so the client and shared-generator surfaces share
|
|
94
|
+
* one definition. */
|
|
95
|
+
export type { QueryArg, QueryResultRow };
|
|
95
96
|
|
|
96
97
|
/** The write handle a client mutator runs against (the client `MutationTx`, §4.2):
|
|
97
98
|
* reads see the current base + this transaction's own staged writes (§4.1).
|
|
@@ -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 {
|
|
@@ -618,6 +657,7 @@ export class OptimisticBackend<S extends ColsMap> implements Backend {
|
|
|
618
657
|
driveMutationSync(gen, {
|
|
619
658
|
apply: (op) => applyOpToTx(tx, op),
|
|
620
659
|
read: (table, pk) => tx.row(table, pk),
|
|
660
|
+
query: (q) => tx.query(q),
|
|
621
661
|
});
|
|
622
662
|
} else {
|
|
623
663
|
(mutator as (t: MutationTx, a: never) => void)(tx, args as never);
|
|
@@ -949,6 +989,9 @@ export class OptimisticBackend<S extends ColsMap> implements Backend {
|
|
|
949
989
|
}
|
|
950
990
|
|
|
951
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);
|
|
952
995
|
// (1) Take every buffered frame at cv ≤ cvMin, in (cv, arrival) order, and fold it:
|
|
953
996
|
// lmid system-query frames advance `confirmedLmid`; data frames fold through the
|
|
954
997
|
// cross-query refcount into ONE net base delta — the §1.3 `D`. Confirmation and
|
|
@@ -982,9 +1025,20 @@ export class OptimisticBackend<S extends ColsMap> implements Backend {
|
|
|
982
1025
|
const pendingChanged = this.pendingMutations.length !== before;
|
|
983
1026
|
|
|
984
1027
|
// (3) The reconcile cycle — only when something can have changed: a base delta to
|
|
985
|
-
// 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`).
|
|
986
1031
|
if (muts.length || pendingChanged) {
|
|
987
|
-
|
|
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
|
+
}
|
|
988
1042
|
}
|
|
989
1043
|
|
|
990
1044
|
// (4) ResultType is the SERVER CHANNEL's state only now (§7): `unknown` while not hydrated,
|
|
@@ -1234,14 +1288,21 @@ function pkColsFromSchema<S extends ColsMap>(schema: Schema<S>): PkCols {
|
|
|
1234
1288
|
return out;
|
|
1235
1289
|
}
|
|
1236
1290
|
|
|
1237
|
-
/** Per-table column order + pk indices
|
|
1238
|
-
|
|
1291
|
+
/** Per-table column order + pk indices + the insert plan (which columns a full insert requires vs
|
|
1292
|
+
* may omit-to-null) + column kinds (for the `json` stringify), for the keyed `MutationTx` methods. */
|
|
1293
|
+
type TableSpecs = Record<
|
|
1294
|
+
string,
|
|
1295
|
+
{ columns: string[]; primaryKey: number[]; required: string[]; nullable: ReadonlySet<string>; types: Record<string, ColType> }
|
|
1296
|
+
>;
|
|
1239
1297
|
|
|
1240
1298
|
function tableSpecsFromSchema<S extends ColsMap>(schema: Schema<S>): TableSpecs {
|
|
1241
1299
|
const out: TableSpecs = {};
|
|
1242
1300
|
for (const name of Object.keys(schema.tables)) {
|
|
1243
1301
|
const { columns, primaryKey } = tableSpec(schema.tables[name]);
|
|
1244
|
-
|
|
1302
|
+
const { required, nullable } = insertPlan(schema.tables[name]);
|
|
1303
|
+
const types: Record<string, ColType> = {};
|
|
1304
|
+
for (const c of columns) types[c] = schema.tables[name].columns[c].type;
|
|
1305
|
+
out[name] = { columns, primaryKey, required, nullable, types };
|
|
1245
1306
|
}
|
|
1246
1307
|
return out;
|
|
1247
1308
|
}
|
|
@@ -1320,7 +1381,8 @@ function trackingTx(
|
|
|
1320
1381
|
};
|
|
1321
1382
|
|
|
1322
1383
|
/** Validate `obj`'s keys against the table's columns; require the pk columns; with
|
|
1323
|
-
* `full`, require
|
|
1384
|
+
* `full`, require every NON-nullable column (a nullable column may be omitted and is filled with
|
|
1385
|
+
* `null` in {@link toCells}, design 206 §6.2). */
|
|
1324
1386
|
const checkColumns = (table: string, obj: KeyedRow, full: boolean): void => {
|
|
1325
1387
|
const s = spec(table);
|
|
1326
1388
|
const unknown = Object.keys(obj).filter((k) => !s.columns.includes(k));
|
|
@@ -1329,7 +1391,7 @@ function trackingTx(
|
|
|
1329
1391
|
`unknown column${unknown.length > 1 ? "s" : ""} ${unknown.join(", ")} on ${table} — columns: ${s.columns.join(", ")}`,
|
|
1330
1392
|
);
|
|
1331
1393
|
}
|
|
1332
|
-
const required = full ? s.
|
|
1394
|
+
const required = full ? s.required : s.primaryKey.map((i) => s.columns[i]);
|
|
1333
1395
|
const missing = required.filter((c) => !(c in obj));
|
|
1334
1396
|
if (missing.length) {
|
|
1335
1397
|
throw new Error(`missing ${full ? "column" : "primary-key column"}${missing.length > 1 ? "s" : ""} ${missing.join(", ")} on ${table}`);
|
|
@@ -1339,7 +1401,13 @@ function trackingTx(
|
|
|
1339
1401
|
const pkCells = (table: string, obj: KeyedRow): WireValue[] =>
|
|
1340
1402
|
spec(table).primaryKey.map((i) => obj[spec(table).columns[i]]);
|
|
1341
1403
|
|
|
1342
|
-
|
|
1404
|
+
// A full insert row: each cell is `obj[c]`, or `null` for an omitted nullable column (design 206
|
|
1405
|
+
// §6.2); a `json` object is stringified for the engine (`toCell`). Non-nullable columns are
|
|
1406
|
+
// guaranteed present by `checkColumns(full)`.
|
|
1407
|
+
const toCells = (table: string, obj: KeyedRow): WireValue[] => {
|
|
1408
|
+
const s = spec(table);
|
|
1409
|
+
return s.columns.map((c) => toCell(insertCell(obj, c), s.types[c]));
|
|
1410
|
+
};
|
|
1343
1411
|
|
|
1344
1412
|
const toKeyed = (table: string, cells: WireValue[]): KeyedRow => {
|
|
1345
1413
|
const out: KeyedRow = {};
|
|
@@ -1411,7 +1479,9 @@ function trackingTx(
|
|
|
1411
1479
|
const current = rawGet(table, pkCells(table, row));
|
|
1412
1480
|
if (!current) return; // rebase-friendly: the row may have vanished upstream
|
|
1413
1481
|
const s = spec(table);
|
|
1414
|
-
|
|
1482
|
+
// Named columns overwrite (a `json` object stringified via `toCell`); unnamed keep `current`,
|
|
1483
|
+
// which the engine already holds as a wire value (a json string), so no re-encode.
|
|
1484
|
+
const next = s.columns.map((c, i) => (c in row ? toCell(row[c], s.types[c]) : current[i]));
|
|
1415
1485
|
edit(table, current, next);
|
|
1416
1486
|
},
|
|
1417
1487
|
upsert: (table, row) => {
|
|
@@ -1461,10 +1531,3 @@ function intersects(a: Set<string>, b: Set<string>): boolean {
|
|
|
1461
1531
|
return false;
|
|
1462
1532
|
}
|
|
1463
1533
|
|
|
1464
|
-
/** Elementwise equality over positional bare-cell rows (the synthetic `__agg` rows are all
|
|
1465
|
-
* scalar cells — group key + count — so identity comparison suffices). */
|
|
1466
|
-
function rowsEqual(a: WireValue[], b: WireValue[]): boolean {
|
|
1467
|
-
if (a.length !== b.length) return false;
|
|
1468
|
-
for (let i = 0; i < a.length; i++) if (a[i] !== b[i]) return false;
|
|
1469
|
-
return true;
|
|
1470
|
-
}
|
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>(
|