@gonvex/client 0.5.2-staging.26 → 0.5.2-staging.27

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.
@@ -1,6 +1,6 @@
1
1
  import { type ReadCoverage } from './indexeddb-read-view.js';
2
2
  import type { ReducerReadView } from '@gonvex/local-runtime/portable';
3
- import type { LocalReplicaStorage, ReplicaScope, ReplicaSnapshot, ReplicaTransaction, ReplicaWindow, ReplicaRow, ReplicaStorageChanges } from "./local-replica.js";
3
+ import type { LocalReplicaStorage, ReplicaScope, ReplicaSnapshot, ReplicaTransaction, ReplicaWindow, ReplicaRow, ReplicaStorageChanges, ReplicaMetadataCommit } from "./local-replica.js";
4
4
  /** Atomic normalized web persistence for the Gonvex Local Replica. */
5
5
  export declare class IndexedDBLocalReplicaStorage implements LocalReplicaStorage {
6
6
  private readonly database;
@@ -46,12 +46,12 @@ export declare class IndexedDBLocalReplicaStorage implements LocalReplicaStorage
46
46
  rows: ReplicaRow[];
47
47
  } | undefined>;
48
48
  applyTransaction(transaction: ReplicaTransaction, _snapshot: ReplicaSnapshot, scope?: ReplicaScope): Promise<void>;
49
- advanceWatermark(windows: readonly ReplicaWindow[], cursor: ReplicaSnapshot["cursor"], scope?: ReplicaScope): Promise<void>;
49
+ advanceWatermark(windows: readonly ReplicaWindow[], cursor: ReplicaSnapshot["cursor"], scope?: ReplicaScope): Promise<void | ReplicaMetadataCommit>;
50
50
  replaceWindow(window: ReplicaWindow, snapshot: ReplicaSnapshot, scope?: ReplicaScope, projection?: readonly ReplicaRow[]): Promise<void>;
51
51
  applyWindowDelta(window: ReplicaWindow, delta: {
52
52
  upserts: ReplicaRow[];
53
53
  deleted: string[];
54
- }, snapshot: ReplicaSnapshot, scope?: ReplicaScope): Promise<void>;
54
+ }, snapshot: ReplicaSnapshot, scope?: ReplicaScope): Promise<void | ReplicaMetadataCommit>;
55
55
  removeWindow(signature: string, snapshot: ReplicaSnapshot, scope?: ReplicaScope): Promise<void>;
56
56
  replaceSnapshot(snapshot: ReplicaSnapshot, scope?: ReplicaScope): Promise<void>;
57
57
  clear(scope?: ReplicaScope): Promise<void>;
@@ -160,6 +160,7 @@ export class IndexedDBLocalReplicaStorage {
160
160
  // flush still belongs to the caller's original atomic transaction.
161
161
  let batch = [];
162
162
  let bytes = 0;
163
+ let accepted = true;
163
164
  const flush = async () => {
164
165
  if (!batch.length)
165
166
  return;
@@ -167,8 +168,10 @@ export class IndexedDBLocalReplicaStorage {
167
168
  await this.database.windows.bulkPut(batch.flatMap(({ window, value }, index) => {
168
169
  const record = prior[index];
169
170
  const before = record && !record.deleted ? JSON.parse(record.value) : undefined;
170
- if (before?.cursor && (!window.cursor || (before.cursor.epoch === window.cursor.epoch && before.cursor.revision > window.cursor.revision)))
171
+ if (before?.cursor && (!window.cursor || (before.cursor.epoch === window.cursor.epoch && before.cursor.revision > window.cursor.revision))) {
172
+ accepted = false;
171
173
  return [{ ...record, sequence }];
174
+ }
172
175
  // Serialization already isolates persisted values. Copying ordered IDs
173
176
  // and large integrity maps before stringifying doubled temporary memory
174
177
  // for every cursor-only checkpoint.
@@ -186,6 +189,7 @@ export class IndexedDBLocalReplicaStorage {
186
189
  bytes += size;
187
190
  }
188
191
  await flush();
192
+ return accepted;
189
193
  }
190
194
  async saveCursor(scope, cursor) {
191
195
  if (!cursor)
@@ -201,14 +205,14 @@ export class IndexedDBLocalReplicaStorage {
201
205
  }
202
206
  async acceptEpoch(scope, cursor, sequence) {
203
207
  if (!cursor)
204
- return;
208
+ return false;
205
209
  const prior = await this.database.meta.get([scope, 'epoch']);
206
210
  const legacyCursor = prior ? undefined : await this.database.meta.get([scope, 'cursor']);
207
211
  const state = prior ? JSON.parse(prior.value) : legacyCursor ? { current: JSON.parse(legacyCursor.value).epoch, retired: [] } : undefined;
208
212
  if (state?.current === cursor.epoch) {
209
213
  if (!prior)
210
214
  await this.database.meta.put({ scope, key: 'epoch', value: JSON.stringify(state) });
211
- return;
215
+ return false;
212
216
  }
213
217
  if (state?.retired.includes(cursor.epoch))
214
218
  throw new Error('This tab has an obsolete replica epoch. Reconnect before continuing.');
@@ -218,6 +222,7 @@ export class IndexedDBLocalReplicaStorage {
218
222
  await this.database.meta.put({ scope, key: 'resetSequence', value: String(sequence) });
219
223
  }
220
224
  await this.database.meta.put({ scope, key: 'epoch', value: JSON.stringify({ current: cursor.epoch, retired: state ? [...state.retired, state.current] : [] }) });
225
+ return Boolean(state);
221
226
  }
222
227
  async pruneRows(scope, window, ids, cursor, sequence) {
223
228
  if (!ids.length)
@@ -475,13 +480,15 @@ export class IndexedDBLocalReplicaStorage {
475
480
  // A watermark contains no entity changes. Keep this transaction limited to
476
481
  // window metadata and the shared cursor so large normalized replicas are
477
482
  // never rewritten once per retained collection.
478
- await this.database.transaction("rw", this.database.windows, this.database.meta, async () => {
483
+ const receipt = await this.database.transaction("rw", this.database.windows, this.database.meta, async () => {
479
484
  const sequence = await this.nextSequence(normalizedScope);
480
- if (windows.length)
481
- await this.writeWindows(normalizedScope, windows, sequence);
485
+ const accepted = await this.writeWindows(normalizedScope, windows, sequence);
482
486
  await this.saveCursor(normalizedScope, cursor);
487
+ if (accepted && windows.length)
488
+ return { scope: normalizedScope, previousSequence: sequence - 1, sequence };
483
489
  });
484
490
  this.channel?.postMessage({ scope: normalizedScope });
491
+ return receipt;
485
492
  }
486
493
  async replaceWindow(window, snapshot, scope = defaultReplicaScope, projection) {
487
494
  await this.initialize();
@@ -510,16 +517,20 @@ export class IndexedDBLocalReplicaStorage {
510
517
  async applyWindowDelta(window, delta, snapshot, scope = defaultReplicaScope) {
511
518
  await this.initialize();
512
519
  const normalizedScope = normalizeScope(scope);
513
- await this.database.transaction("rw", this.database.entities, this.database.windows, this.database.meta, async () => {
520
+ const receipt = await this.database.transaction("rw", this.database.entities, this.database.windows, this.database.meta, async () => {
514
521
  const sequence = await this.nextSequence(normalizedScope);
515
- await this.acceptEpoch(normalizedScope, window.cursor ?? snapshot.cursor, sequence);
522
+ const reset = await this.acceptEpoch(normalizedScope, window.cursor ?? snapshot.cursor, sequence);
516
523
  const rows = delta.deleted.length ? snapshot.entities[window.entity] ?? {} : {};
517
524
  await this.pruneRows(normalizedScope, window, delta.deleted.filter(id => rows[id] === undefined), window.cursor ?? snapshot.cursor, sequence);
518
525
  await this.writeRows(normalizedScope, window.entity, window.key, delta.upserts, window.cursor ?? snapshot.cursor, sequence);
519
- await this.writeWindows(normalizedScope, [window], sequence);
526
+ const accepted = await this.writeWindows(normalizedScope, [window], sequence);
520
527
  await this.saveCursor(normalizedScope, snapshot.cursor);
528
+ if (accepted && !reset && delta.upserts.length === 0 && delta.deleted.length === 0) {
529
+ return { scope: normalizedScope, previousSequence: sequence - 1, sequence };
530
+ }
521
531
  });
522
532
  this.channel?.postMessage({ scope: normalizedScope });
533
+ return receipt;
523
534
  }
524
535
  async removeWindow(signature, snapshot, scope = defaultReplicaScope) {
525
536
  await this.initialize();
@@ -1 +1 @@
1
- {"version":3,"file":"indexeddb-replica.js","sourceRoot":"","sources":["../src/indexeddb-replica.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexeddb-replica.js","sourceRoot":"","sources":["../src/indexeddb-replica.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,15 @@ export type ReplicaStorageChanges = {
78
78
  };
79
79
  /** Opaque persistence namespace for one deployment/project/tenant identity. */
80
80
  export type ReplicaScope = string;
81
+ /** Returned only after an atomic metadata-only commit accepts the exact supplied
82
+ * windows without changing rows or resetting their epoch. The adjacent sequence
83
+ * pair comes from that transaction; consumers must compare it with their own
84
+ * reconciled sequence before skipping peer catch-up. Older adapters return void. */
85
+ export type ReplicaMetadataCommit = {
86
+ scope: ReplicaScope;
87
+ previousSequence: number;
88
+ sequence: number;
89
+ };
81
90
  /**
82
91
  * Storage implementations must persist the complete transaction atomically.
83
92
  * The SQLite adapter maps this call to BEGIN/apply/cursor/COMMIT; IndexedDB
@@ -112,14 +121,14 @@ export interface LocalReplicaStorage {
112
121
  load(scope?: ReplicaScope): Promise<ReplicaSnapshot | undefined>;
113
122
  applyTransaction(transaction: ReplicaTransaction, snapshot: ReplicaSnapshot, scope?: ReplicaScope): Promise<void>;
114
123
  /** Advance ready Replica Collection cursors without rewriting normalized rows. */
115
- advanceWatermark?(windows: readonly ReplicaWindow[], cursor: ReplicaCursor | undefined, scope?: ReplicaScope): Promise<void>;
124
+ advanceWatermark?(windows: readonly ReplicaWindow[], cursor: ReplicaCursor | undefined, scope?: ReplicaScope): Promise<void | ReplicaMetadataCommit>;
116
125
  /** Persist a normalized Query/Collection materialization atomically. */
117
126
  replaceSnapshot?(snapshot: ReplicaSnapshot, scope?: ReplicaScope): Promise<void>;
118
127
  replaceWindow?(window: ReplicaWindow, snapshot: ReplicaSnapshot, scope?: ReplicaScope, projection?: readonly ReplicaRow[]): Promise<void>;
119
128
  applyWindowDelta?(window: ReplicaWindow, delta: {
120
129
  upserts: ReplicaRow[];
121
130
  deleted: string[];
122
- }, snapshot: ReplicaSnapshot, scope?: ReplicaScope): Promise<void>;
131
+ }, snapshot: ReplicaSnapshot, scope?: ReplicaScope): Promise<void | ReplicaMetadataCommit>;
123
132
  removeWindow?(signature: string, snapshot: ReplicaSnapshot, scope?: ReplicaScope): Promise<void>;
124
133
  clear?(scope?: ReplicaScope): Promise<void>;
125
134
  }
@@ -378,6 +387,7 @@ export declare class LocalReplica implements LocalReplicaView {
378
387
  hasLiveQuery(signature: string): boolean;
379
388
  snapshot(): ReplicaSnapshot;
380
389
  private reconcileCommands;
390
+ private acceptMetadataCommit;
381
391
  private persist;
382
392
  private notify;
383
393
  private markEntityChanged;
@@ -586,7 +586,8 @@ export class LocalReplica {
586
586
  const nextCursor = replicaTransactionFloor(this.cursorValue, nextQueries);
587
587
  const writeScope = this.scopeValue;
588
588
  if (this.storage?.advanceWatermark) {
589
- await this.persist(() => this.storage.advanceWatermark(changedWindows, nextCursor, writeScope));
589
+ const receipt = await this.persist(() => this.storage.advanceWatermark(changedWindows, nextCursor, writeScope));
590
+ this.acceptMetadataCommit(receipt, writeScope);
590
591
  }
591
592
  else if (this.storage?.replaceSnapshot) {
592
593
  // Compatibility for older/custom storage adapters. Current IndexedDB
@@ -759,9 +760,10 @@ export class LocalReplica {
759
760
  const membershipChanged = !sameWindowRowDefinition(previous, window);
760
761
  const rowsChanged = membershipChanged || changedRowIDs.size > 0;
761
762
  const writeScope = this.scopeValue;
763
+ let metadataCommit = undefined;
762
764
  if (!epochChanged && this.storage?.applyWindowDelta && (delta || !rowsChanged)) {
763
765
  const writeDelta = delta ? { upserts: delta.upserts.filter(row => changedRowIDs.has(String(row[input.key]))), deleted: delta.deleted } : { upserts: [], deleted: [] };
764
- await this.persist(() => this.storage.applyWindowDelta(window, writeDelta, snapshot, writeScope));
766
+ metadataCommit = await this.persist(() => this.storage.applyWindowDelta(window, writeDelta, snapshot, writeScope));
765
767
  }
766
768
  else if (this.storage?.replaceWindow) {
767
769
  await this.persist(() => this.storage.replaceWindow(window, snapshot, writeScope, input.rows));
@@ -771,8 +773,12 @@ export class LocalReplica {
771
773
  }
772
774
  if (epochChanged)
773
775
  this.invalidateEntityVersions();
774
- if (this.storage?.readChanges)
776
+ // The adapter can prove that this metadata commit immediately follows our
777
+ // last reconciled sequence. Our next maps already contain that exact write.
778
+ // A peer write in between breaks the proof and retains normal catch-up.
779
+ if (!this.acceptMetadataCommit(metadataCommit, writeScope) && this.storage?.readChanges) {
775
780
  await this.mergeStoredChanges(nextEntities, nextQueries);
781
+ }
776
782
  this.entities = nextEntities;
777
783
  this.liveQueries = nextQueries;
778
784
  if (window.kind === 'replica' && window.completeness === 'complete' && !window.truncated && window.ids.every(id => nextEntities.get(window.entity)?.has(id)))
@@ -1207,9 +1213,18 @@ export class LocalReplica {
1207
1213
  if (changed && notify)
1208
1214
  this.notify();
1209
1215
  }
1216
+ acceptMetadataCommit(receipt, scope) {
1217
+ if (!receipt || receipt.scope !== scope || scope !== this.scopeValue
1218
+ || !Number.isSafeInteger(receipt.previousSequence) || receipt.previousSequence < 0
1219
+ || !Number.isSafeInteger(receipt.sequence) || receipt.sequence !== receipt.previousSequence + 1
1220
+ || receipt.previousSequence !== this.storageSequence)
1221
+ return false;
1222
+ this.storageSequence = receipt.sequence;
1223
+ return true;
1224
+ }
1210
1225
  persist(operation) {
1211
- const attempt = this.persistence.then(async () => { await operation(); });
1212
- this.persistence = attempt.catch(() => undefined);
1226
+ const attempt = this.persistence.then(async () => await operation());
1227
+ this.persistence = attempt.then(() => undefined, () => undefined);
1213
1228
  return attempt;
1214
1229
  }
1215
1230
  notify(executionChanged = false) {