@gonvex/client 0.5.2-staging.23 → 0.5.2-staging.25
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/dist/browser-upgrades.js
CHANGED
|
@@ -4,10 +4,17 @@ import { migrateClientData, migrationChain } from "./client-upgrades.js";
|
|
|
4
4
|
/** All app access goes through version-fenced SDK stores, including old tabs. */
|
|
5
5
|
export function browserUpgradeStorage(options) {
|
|
6
6
|
const replica = new IndexedDBLocalReplicaStorage(options.replicaName);
|
|
7
|
-
const queue = new Dexie(options.outboxName);
|
|
7
|
+
const queue = new Dexie(options.outboxName, { cache: 'disabled' });
|
|
8
|
+
// SDK fences and peer notifications own journal delivery. These stores are
|
|
9
|
+
// never used by Dexie.liveQuery; its mutation ranges and cache transaction
|
|
10
|
+
// observers add unused allocations and callbacks to durable admission.
|
|
11
|
+
queue.unuse({ stack: 'dbcore', name: 'Cache' });
|
|
12
|
+
queue.unuse({ stack: 'dbcore', name: 'Observability' });
|
|
8
13
|
queue.version(1).stores({ entries: "++id, state, nextAttemptAt" });
|
|
9
14
|
queue.version(2).stores({ entries: "++id, scope, state, nextAttemptAt, [scope+state], [scope+nextAttemptAt]" });
|
|
10
|
-
const meta = new Dexie(`${options.replicaName}-upgrades
|
|
15
|
+
const meta = new Dexie(`${options.replicaName}-upgrades`, { cache: 'disabled' });
|
|
16
|
+
meta.unuse({ stack: 'dbcore', name: 'Cache' });
|
|
17
|
+
meta.unuse({ stack: 'dbcore', name: 'Observability' });
|
|
11
18
|
meta.version(1).stores({ state: "&key" });
|
|
12
19
|
const lockName = `gonvex-upgrade:${options.replicaName}:${options.outboxName}`;
|
|
13
20
|
const locks = globalThis.navigator?.locks;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-upgrades.js","sourceRoot":"","sources":["../src/browser-upgrades.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAA6C,MAAM,sBAAsB,CAAC;AAiBpH,iFAAiF;AACjF,MAAM,UAAU,qBAAqB,CAAC,OAA8B;IAGlE,MAAM,OAAO,GAAG,IAAI,4BAA4B,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAA2D,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-upgrades.js","sourceRoot":"","sources":["../src/browser-upgrades.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2385,6 +2385,25 @@ export class GonvexClient {
|
|
|
2385
2385
|
this.clearReplicaRetry(subscription, true);
|
|
2386
2386
|
raiseReplicaCursorFloor(subscription, message.cursor);
|
|
2387
2387
|
const upserts = (message.upserts ?? []).filter((row) => asReplicaRow(row) !== undefined).map(row => asReplicaRow(row));
|
|
2388
|
+
const cursorOnly = this.serverCapabilities.replicaWatermark === 1
|
|
2389
|
+
&& prior?.source === "server" && prior.completeness === "complete"
|
|
2390
|
+
&& prior.cursor?.epoch === message.cursor.epoch && prior.hashes !== undefined
|
|
2391
|
+
&& (message.upserts?.length ?? 0) === 0 && (message.deleted?.length ?? 0) === 0
|
|
2392
|
+
&& (!message.hashes || (Object.keys(message.hashes).length === Object.keys(prior.hashes).length
|
|
2393
|
+
&& Object.entries(message.hashes).every(([id, hash]) => prior.hashes[id] === hash)));
|
|
2394
|
+
if (cursorOnly) {
|
|
2395
|
+
// No entity, membership or integrity value changed. The negotiated
|
|
2396
|
+
// ordered watermark checkpoints these ready windows together, rather
|
|
2397
|
+
// than making one IndexedDB transaction for every unchanged collection.
|
|
2398
|
+
// Keep the durable window cursor old until that checkpoint succeeds.
|
|
2399
|
+
const snapshot = { type: "replica.snapshot", id: subscription.id, path: subscription.path,
|
|
2400
|
+
result: [], cursor: message.cursor, key: prior.key, mode: prior.mode,
|
|
2401
|
+
orderBy: prior.orderBy, orderDirection: prior.orderDirection, maxRows: prior.maxRows, maxBytes: prior.maxBytes };
|
|
2402
|
+
subscription.lastMessage = snapshot;
|
|
2403
|
+
this.acknowledgeOptimisticSource(subscription.key, message.originCommandIds);
|
|
2404
|
+
this.emitReplicaMessage(subscription, snapshot, scope);
|
|
2405
|
+
return;
|
|
2406
|
+
}
|
|
2388
2407
|
// Incremental integrity is safe only for full projected row images. Older
|
|
2389
2408
|
// partial-row protocols keep the full normalized rehash on replica.ready.
|
|
2390
2409
|
const canCarryHashes = prior?.hashes && subscription.columns?.length
|
|
@@ -2538,7 +2557,15 @@ export class GonvexClient {
|
|
|
2538
2557
|
&& window.completeness === completeness
|
|
2539
2558
|
&& window.mode === mode
|
|
2540
2559
|
&& window.truncated === truncated;
|
|
2541
|
-
|
|
2560
|
+
const cursorOnlyCheckpoint = this.serverCapabilities.replicaWatermark === 1
|
|
2561
|
+
&& hashesWereStored && window.source === "server"
|
|
2562
|
+
&& window.cursor?.epoch === message.cursor.epoch
|
|
2563
|
+
&& window.cursor.revision < message.cursor.revision
|
|
2564
|
+
&& window.completeness === completeness && window.mode === mode && window.truncated === truncated;
|
|
2565
|
+
if (readyAlreadyPersisted || cursorOnlyCheckpoint) {
|
|
2566
|
+
// Integrity was checked against this exact committed membership above.
|
|
2567
|
+
// A cursor-only ready frame shares the subsequent durable watermark;
|
|
2568
|
+
// reducer confirmations still wait for that barrier, including failure.
|
|
2542
2569
|
// Connection-wide freshness remains a separate summary. Collection
|
|
2543
2570
|
// state combines it with this subscription's isUpToDate bit, so one
|
|
2544
2571
|
// ready window cannot make another hydrated cache authoritative.
|