@multiplatform.one/frappe 7.8.0 → 7.11.0
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 +89 -1
- package/dist/cjs/frappeReact.cjs +54 -30
- package/dist/cjs/frappeReact.native.js +67 -32
- package/dist/cjs/frappeReact.native.js.map +1 -1
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/index.native.js +1 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/sync/index.cjs +97 -13
- package/dist/cjs/sync/index.native.js +127 -13
- package/dist/cjs/sync/index.native.js.map +1 -1
- package/dist/cjs/sync/subscriptionManager.cjs +94 -50
- package/dist/cjs/sync/subscriptionManager.native.js +133 -73
- package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
- package/dist/cjs/sync/types.native.js.map +1 -1
- package/dist/cjs/syncOptionsKey.cjs +59 -0
- package/dist/cjs/syncOptionsKey.native.js +82 -0
- package/dist/cjs/syncOptionsKey.native.js.map +1 -0
- package/dist/esm/frappeReact.mjs +55 -32
- package/dist/esm/frappeReact.mjs.map +1 -1
- package/dist/esm/frappeReact.native.js +68 -34
- package/dist/esm/frappeReact.native.js.map +1 -1
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -2
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/sync/index.mjs +97 -13
- package/dist/esm/sync/index.mjs.map +1 -1
- package/dist/esm/sync/index.native.js +127 -13
- package/dist/esm/sync/index.native.js.map +1 -1
- package/dist/esm/sync/subscriptionManager.mjs +94 -50
- package/dist/esm/sync/subscriptionManager.mjs.map +1 -1
- package/dist/esm/sync/subscriptionManager.native.js +133 -73
- package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
- package/dist/esm/sync/types.mjs.map +1 -1
- package/dist/esm/sync/types.native.js.map +1 -1
- package/dist/esm/syncOptionsKey.mjs +34 -0
- package/dist/esm/syncOptionsKey.mjs.map +1 -0
- package/dist/esm/syncOptionsKey.native.js +54 -0
- package/dist/esm/syncOptionsKey.native.js.map +1 -0
- package/dist/jsx/frappeReact.mjs +55 -32
- package/dist/jsx/frappeReact.mjs.map +1 -1
- package/dist/jsx/frappeReact.native.js +67 -32
- package/dist/jsx/frappeReact.native.js.map +1 -1
- package/dist/jsx/index.js +2 -2
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +2 -2
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +1 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/sync/index.mjs +97 -13
- package/dist/jsx/sync/index.mjs.map +1 -1
- package/dist/jsx/sync/index.native.js +127 -13
- package/dist/jsx/sync/index.native.js.map +1 -1
- package/dist/jsx/sync/subscriptionManager.mjs +94 -50
- package/dist/jsx/sync/subscriptionManager.mjs.map +1 -1
- package/dist/jsx/sync/subscriptionManager.native.js +133 -73
- package/dist/jsx/sync/subscriptionManager.native.js.map +1 -1
- package/dist/jsx/sync/types.mjs.map +1 -1
- package/dist/jsx/sync/types.native.js.map +1 -1
- package/dist/jsx/syncOptionsKey.mjs +34 -0
- package/dist/jsx/syncOptionsKey.mjs.map +1 -0
- package/dist/jsx/syncOptionsKey.native.js +82 -0
- package/dist/jsx/syncOptionsKey.native.js.map +1 -0
- package/package.json +9 -9
- package/src/frappeReact.catchUp.spec.tsx +105 -0
- package/src/frappeReact.ts +62 -38
- package/src/index.ts +8 -1
- package/src/sync/catchUp.spec.ts +142 -0
- package/src/sync/index.ts +108 -8
- package/src/sync/refreshSubscriptions.lifecycle.spec.ts +268 -0
- package/src/sync/refreshSubscriptions.spec.ts +295 -0
- package/src/sync/subscriptionManager.ts +107 -44
- package/src/sync/types.ts +9 -1
- package/src/syncOptionsKey.spec.ts +46 -0
- package/src/syncOptionsKey.ts +45 -0
- package/types/frappeReact.d.ts +6 -1
- package/types/frappeReact.d.ts.map +1 -1
- package/types/index.d.ts +4 -4
- package/types/index.d.ts.map +1 -1
- package/types/sync/index.d.ts +13 -1
- package/types/sync/index.d.ts.map +1 -1
- package/types/sync/subscriptionManager.d.ts +13 -10
- package/types/sync/subscriptionManager.d.ts.map +1 -1
- package/types/sync/types.d.ts +8 -1
- package/types/sync/types.d.ts.map +1 -1
- package/types/syncOptionsKey.d.ts +3 -0
- package/types/syncOptionsKey.d.ts.map +1 -0
|
@@ -77,6 +77,11 @@ function getBrowserJournalStorage() {
|
|
|
77
77
|
return void 0;
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
+
var idleCatchUpState = Object.freeze({
|
|
81
|
+
refreshing: false,
|
|
82
|
+
stale: false,
|
|
83
|
+
error: null
|
|
84
|
+
});
|
|
80
85
|
var SyncModule = /* @__PURE__ */function () {
|
|
81
86
|
"use strict";
|
|
82
87
|
|
|
@@ -101,6 +106,10 @@ var SyncModule = /* @__PURE__ */function () {
|
|
|
101
106
|
_define_property(this, "db", void 0);
|
|
102
107
|
_define_property(this, "realtime", void 0);
|
|
103
108
|
_define_property(this, "options", void 0);
|
|
109
|
+
_define_property(this, "catchUpState", idleCatchUpState);
|
|
110
|
+
_define_property(this, "catchUpEpoch", 0);
|
|
111
|
+
_define_property(this, "disposed", false);
|
|
112
|
+
_define_property(this, "catchUpRun", void 0);
|
|
104
113
|
this.db = db;
|
|
105
114
|
this.realtime = realtime;
|
|
106
115
|
this.options = options;
|
|
@@ -132,9 +141,7 @@ var SyncModule = /* @__PURE__ */function () {
|
|
|
132
141
|
return _this.resetCache();
|
|
133
142
|
},
|
|
134
143
|
onBackfillAll: function onBackfillAll() {
|
|
135
|
-
|
|
136
|
-
scope: import_types.BackfillScope.All
|
|
137
|
-
});
|
|
144
|
+
void _this.catchUp();
|
|
138
145
|
},
|
|
139
146
|
// Realtime reconciliation mutates cache/membership outside the public
|
|
140
147
|
// mutate/backfill entry points — bridge those changes to store listeners.
|
|
@@ -182,26 +189,20 @@ var SyncModule = /* @__PURE__ */function () {
|
|
|
182
189
|
function setupWindowEvents() {
|
|
183
190
|
var _this = this;
|
|
184
191
|
this.cleanupFocus = (0, import_platform.onAppFocus)(function () {
|
|
185
|
-
|
|
186
|
-
scope: import_types.BackfillScope.All
|
|
187
|
-
});
|
|
192
|
+
void _this.catchUp();
|
|
188
193
|
});
|
|
189
194
|
this.cleanupFocusReplay = (0, import_platform.onAppFocus)(function () {
|
|
190
195
|
if (_this.mutationJournal.listPending().length > 0) void _this.replayPending();
|
|
191
196
|
});
|
|
192
197
|
this.cleanupOnlineBackfill = (0, import_platform.onOnline)(function () {
|
|
193
|
-
|
|
194
|
-
scope: import_types.BackfillScope.All
|
|
195
|
-
});
|
|
198
|
+
void _this.catchUp();
|
|
196
199
|
});
|
|
197
200
|
this.cleanupOnlineReplay = (0, import_platform.onOnline)(function () {
|
|
198
201
|
return _this.replayPending();
|
|
199
202
|
});
|
|
200
203
|
if (this.options.cdcInterval && this.options.cdcInterval > 0) {
|
|
201
204
|
this.cdcIntervalHandle = setInterval(function () {
|
|
202
|
-
|
|
203
|
-
scope: import_types.BackfillScope.All
|
|
204
|
-
});
|
|
205
|
+
void _this.catchUp();
|
|
205
206
|
}, this.options.cdcInterval);
|
|
206
207
|
}
|
|
207
208
|
})
|
|
@@ -219,6 +220,9 @@ var SyncModule = /* @__PURE__ */function () {
|
|
|
219
220
|
*/
|
|
220
221
|
async function subscribe(query) {
|
|
221
222
|
var _this = this;
|
|
223
|
+
if (this.options.catchUpStrategy === "snapshot" && query.progressive) {
|
|
224
|
+
throw new Error("Snapshot catch-up does not support progressive subscriptions");
|
|
225
|
+
}
|
|
222
226
|
await this.persistenceManager.whenReady();
|
|
223
227
|
var result = await this.subscriptionManager.subscribe(query);
|
|
224
228
|
this.realtimeHandler.watchDoctype(query.doctype);
|
|
@@ -251,6 +255,111 @@ var SyncModule = /* @__PURE__ */function () {
|
|
|
251
255
|
this.persistenceManager.broadcastMutation(mutation);
|
|
252
256
|
this.emit();
|
|
253
257
|
}
|
|
258
|
+
}, {
|
|
259
|
+
key: "refreshSubscriptions",
|
|
260
|
+
value: (/** Refresh active query snapshots in place. Failures retain the last committed data. */
|
|
261
|
+
async function refreshSubscriptions(options) {
|
|
262
|
+
var epoch = this.catchUpEpoch;
|
|
263
|
+
await this.persistenceManager.whenReady();
|
|
264
|
+
if (this.disposed || epoch !== this.catchUpEpoch) return [];
|
|
265
|
+
var results = await this.subscriptionManager.refreshSubscriptions(options);
|
|
266
|
+
if (!this.disposed && epoch === this.catchUpEpoch) this.emit();
|
|
267
|
+
return results;
|
|
268
|
+
})
|
|
269
|
+
}, {
|
|
270
|
+
key: "getCatchUpState",
|
|
271
|
+
value: function getCatchUpState() {
|
|
272
|
+
return this.catchUpState;
|
|
273
|
+
}
|
|
274
|
+
}, {
|
|
275
|
+
key: "publishCatchUp",
|
|
276
|
+
value: function publishCatchUp(state) {
|
|
277
|
+
this.catchUpState = Object.freeze(state);
|
|
278
|
+
var _iteratorNormalCompletion = true,
|
|
279
|
+
_didIteratorError = false,
|
|
280
|
+
_iteratorError = void 0;
|
|
281
|
+
try {
|
|
282
|
+
for (var _iterator = this.storeListeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
283
|
+
var listener = _step.value;
|
|
284
|
+
listener();
|
|
285
|
+
}
|
|
286
|
+
} catch (err) {
|
|
287
|
+
_didIteratorError = true;
|
|
288
|
+
_iteratorError = err;
|
|
289
|
+
} finally {
|
|
290
|
+
try {
|
|
291
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
292
|
+
_iterator.return();
|
|
293
|
+
}
|
|
294
|
+
} finally {
|
|
295
|
+
if (_didIteratorError) {
|
|
296
|
+
throw _iteratorError;
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}, {
|
|
302
|
+
/** Observes lifecycle/retry failures in state; explicit backfill still rejects. */
|
|
303
|
+
key: "catchUp",
|
|
304
|
+
value: function catchUp() {
|
|
305
|
+
var _this = this;
|
|
306
|
+
if (this.disposed) return Promise.resolve(this.catchUpState);
|
|
307
|
+
if (this.catchUpRun) {
|
|
308
|
+
if (this.catchUpRun.attempt === 0) this.catchUpRun.trailing = true;
|
|
309
|
+
return this.catchUpRun.promise;
|
|
310
|
+
}
|
|
311
|
+
var epoch = this.catchUpEpoch;
|
|
312
|
+
var run = {
|
|
313
|
+
trailing: false,
|
|
314
|
+
attempt: 0,
|
|
315
|
+
promise: Promise.resolve(this.catchUpState)
|
|
316
|
+
};
|
|
317
|
+
this.catchUpRun = run;
|
|
318
|
+
run.promise = Promise.resolve().then(async function () {
|
|
319
|
+
var error = null;
|
|
320
|
+
var active = function active2() {
|
|
321
|
+
return !_this.disposed && _this.catchUpEpoch === epoch;
|
|
322
|
+
};
|
|
323
|
+
do {
|
|
324
|
+
if (!active()) return _this.catchUpState;
|
|
325
|
+
run.trailing = false;
|
|
326
|
+
error = null;
|
|
327
|
+
try {
|
|
328
|
+
if (_this.options.catchUpStrategy === "snapshot") {
|
|
329
|
+
var results = await _this.refreshSubscriptions();
|
|
330
|
+
var failures = results.filter(function (result) {
|
|
331
|
+
return !result.ok && _this.subscriptionManager.getSubscription(result.subscriptionId) && !_this.subscriptionManager.isRestoredSubscription(result.subscriptionId);
|
|
332
|
+
});
|
|
333
|
+
if (failures.length) error = new AggregateError(failures.map(function (failure) {
|
|
334
|
+
return failure.error;
|
|
335
|
+
}), "Some subscriptions could not refresh. Showing previous data.");
|
|
336
|
+
} else {
|
|
337
|
+
await _this.backfill({
|
|
338
|
+
scope: import_types.BackfillScope.All
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
} catch (caught) {
|
|
342
|
+
error = caught;
|
|
343
|
+
}
|
|
344
|
+
} while (
|
|
345
|
+
// Bound a burst to one trailing read, including triggers during that read.
|
|
346
|
+
active() && run.trailing && run.attempt++ === 0);
|
|
347
|
+
if (active()) {
|
|
348
|
+
_this.catchUpRun = void 0;
|
|
349
|
+
_this.publishCatchUp({
|
|
350
|
+
refreshing: false,
|
|
351
|
+
stale: error !== null,
|
|
352
|
+
error
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
return _this.catchUpState;
|
|
356
|
+
});
|
|
357
|
+
this.publishCatchUp({
|
|
358
|
+
...this.catchUpState,
|
|
359
|
+
refreshing: true
|
|
360
|
+
});
|
|
361
|
+
return run.promise;
|
|
362
|
+
}
|
|
254
363
|
}, {
|
|
255
364
|
key: "backfill",
|
|
256
365
|
value: (
|
|
@@ -258,8 +367,9 @@ var SyncModule = /* @__PURE__ */function () {
|
|
|
258
367
|
* Reconciles local state by fetching changes since stored cursors.
|
|
259
368
|
*/
|
|
260
369
|
async function backfill(args) {
|
|
370
|
+
var epoch = this.catchUpEpoch;
|
|
261
371
|
await this.subscriptionManager.backfill(args);
|
|
262
|
-
this.emit();
|
|
372
|
+
if (!this.disposed && epoch === this.catchUpEpoch) this.emit();
|
|
263
373
|
})
|
|
264
374
|
}, {
|
|
265
375
|
key: "replayPending",
|
|
@@ -483,6 +593,9 @@ var SyncModule = /* @__PURE__ */function () {
|
|
|
483
593
|
/** Clears subscriptions, cache, journal, and temp id mappings. */
|
|
484
594
|
key: "resetCache",
|
|
485
595
|
value: function resetCache() {
|
|
596
|
+
this.catchUpEpoch++;
|
|
597
|
+
this.catchUpRun = void 0;
|
|
598
|
+
this.catchUpState = idleCatchUpState;
|
|
486
599
|
this.realtimeHandler.unwatchAll();
|
|
487
600
|
this.subscriptionManager.clear();
|
|
488
601
|
this.normalizedCache.clear();
|
|
@@ -495,6 +608,7 @@ var SyncModule = /* @__PURE__ */function () {
|
|
|
495
608
|
value: (/** Cleanup and dispose of resources */
|
|
496
609
|
async function dispose() {
|
|
497
610
|
var _this_cleanupFocus, _this, _this_cleanupFocusReplay, _this1, _this_cleanupOnlineBackfill, _this2, _this_cleanupOnlineReplay, _this3;
|
|
611
|
+
this.disposed = true;
|
|
498
612
|
this.storeListeners.clear();
|
|
499
613
|
this.realtimeEventListeners.clear();
|
|
500
614
|
this.resetCache();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","sync_exports","SyncModule","module","exports","import_platform","require","import_mutationEngine","import_mutationJournal","import_normalizedCache","import_persistence","import_realtime","import_rehydration","import_subscriptionManager","import_types","_class_call_check","instance","Constructor","TypeError","_defineProperties","props","i","length","descriptor","configurable","writable","_create_class","protoProps","staticProps","_define_property","obj","getBrowserJournalStorage","window","document","storage","localStorage","getItem","setItem","unused","SyncModule2","db","realtime","_this","options","arguments","Set","normalizedCache","NormalizedCache","maxSize","maxCacheSize","mutationJournal","MutationJournal","ttl","mutationTTL","enableAutoCleanup","subscriptionManager","SubscriptionManager","rehydrationManager","RehydrationManager","emit","mutationEngine","MutationEngine","onStoreChange","realtimeOptions","onResetCache","resetCache","onBackfillAll","backfill","scope","BackfillScope","All","onRealtimeEvent","event","_this_options_onRealtimeEvent","_this_options","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","realtimeEventListeners","Symbol","iterator","_step","next","done","listener","err","return","realtimeHandler","RealtimeHandler","persistenceManager","PersistenceManager","setupWindowEvents","cleanupFocus","onAppFocus","cleanupFocusReplay","listPending","replayPending","cleanupOnlineBackfill","onOnline","cleanupOnlineReplay","cdcInterval","cdcIntervalHandle","setInterval","subscribe","query","whenReady","result","watchDoctype","doctype","refresh","then","unsubscribe","subscriptionId","subscription","getSubscription","unwatchDoctype","mutate","mutation","broadcastMutation","args","getMutationEntries","entries","id","entry","_entry_createdAt","_entry_retryCount","_entry_error_message","push","operation","docname","status","createdAt","retryCount","error","message","String","dismissMutation","remove","getDocFromCache","getDocsForSubscription","getPage","page","getNextBatch","cursorDocId","limit","getPageInfo","refetchDocs","docs","Docs","subscribeStore","storeListeners","add"],"sources":["../../../src/sync/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","sync_exports","SyncModule","module","exports","import_platform","require","import_mutationEngine","import_mutationJournal","import_normalizedCache","import_persistence","import_realtime","import_rehydration","import_subscriptionManager","import_types","_class_call_check","instance","Constructor","TypeError","_defineProperties","props","i","length","descriptor","configurable","writable","_create_class","protoProps","staticProps","_define_property","obj","getBrowserJournalStorage","window","document","storage","localStorage","getItem","setItem","unused","idleCatchUpState","freeze","refreshing","stale","error","SyncModule2","db","realtime","_this","options","arguments","Set","normalizedCache","NormalizedCache","maxSize","maxCacheSize","mutationJournal","MutationJournal","ttl","mutationTTL","enableAutoCleanup","subscriptionManager","SubscriptionManager","rehydrationManager","RehydrationManager","emit","mutationEngine","MutationEngine","onStoreChange","realtimeOptions","onResetCache","resetCache","onBackfillAll","catchUp","onRealtimeEvent","event","_this_options_onRealtimeEvent","_this_options","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","realtimeEventListeners","Symbol","iterator","_step","next","done","listener","err","return","realtimeHandler","RealtimeHandler","persistenceManager","PersistenceManager","setupWindowEvents","cleanupFocus","onAppFocus","cleanupFocusReplay","listPending","replayPending","cleanupOnlineBackfill","onOnline","cleanupOnlineReplay","cdcInterval","cdcIntervalHandle","setInterval","subscribe","query","catchUpStrategy","progressive","Error","whenReady","result","watchDoctype","doctype","refresh","then","unsubscribe","subscriptionId","subscription","getSubscription","unwatchDoctype","mutate","mutation","broadcastMutation","refreshSubscriptions","epoch","catchUpEpoch","disposed","results","getCatchUpState","catchUpState","publishCatchUp","state","storeListeners","Promise","resolve","catchUpRun","attempt","trailing","promise","run","active","active2","failures","filter","ok","isRestoredSubscription","AggregateError","map","failure","backfill","scope","BackfillScope","All","caught","args","getMutationEntries","entries","id","entry","_entry_createdAt","_entry_retryCount","_entry_error_message","push","operation","docname","status","createdAt","retryCount","message","String","dismissMutation","remove","getDocFromCache","getDocsForSubscription","getPage","page","getNextBatch","cursorDocId","limit"],"sources":["../../../src/sync/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@ import { extractSingleName, matchesFilters } from "./filters.mjs";
|
|
|
3
3
|
import { BackfillScope, defaultPageLength, Order } from "./types.mjs";
|
|
4
4
|
import { VirtualPageManager } from "./virtualPageManager.mjs";
|
|
5
5
|
class SubscriptionManager {
|
|
6
|
+
refreshes = /* @__PURE__ */new Map();
|
|
6
7
|
subscriptions = /* @__PURE__ */new Map();
|
|
7
8
|
virtualPageManager;
|
|
8
9
|
backfillManager;
|
|
@@ -55,6 +56,7 @@ class SubscriptionManager {
|
|
|
55
56
|
cursor,
|
|
56
57
|
checkpoint
|
|
57
58
|
} = await this.fetchInitialRows(query);
|
|
59
|
+
this.seedRows(query, rows);
|
|
58
60
|
const subscription = {
|
|
59
61
|
id: subscriptionId,
|
|
60
62
|
query,
|
|
@@ -69,8 +71,8 @@ class SubscriptionManager {
|
|
|
69
71
|
subscription.boundaries = {
|
|
70
72
|
firstItem: rows[0],
|
|
71
73
|
lastItem: rows[rows.length - 1],
|
|
72
|
-
offset: query.limitStart
|
|
73
|
-
pageSize: query.limit
|
|
74
|
+
offset: query.limitStart ?? 0,
|
|
75
|
+
pageSize: query.limit ?? defaultPageLength
|
|
74
76
|
};
|
|
75
77
|
}
|
|
76
78
|
subscription.metadata = {
|
|
@@ -89,9 +91,89 @@ class SubscriptionManager {
|
|
|
89
91
|
checkpoint
|
|
90
92
|
};
|
|
91
93
|
}
|
|
94
|
+
async refreshSubscriptions(options = {}) {
|
|
95
|
+
const subscriptions = [...this.subscriptions.values()].filter(subscription => (this.subRefCounts.get(subscription.id) ?? 0) > 0 && (!options.doctypes || options.doctypes.includes(subscription.query.doctype)));
|
|
96
|
+
return Promise.all(subscriptions.map(subscription => this.refreshSubscription(subscription)));
|
|
97
|
+
}
|
|
98
|
+
refreshSubscription(subscription) {
|
|
99
|
+
const subscriptionId = subscription.id;
|
|
100
|
+
if (subscription.query.progressive) {
|
|
101
|
+
return Promise.resolve({
|
|
102
|
+
subscriptionId,
|
|
103
|
+
ok: false,
|
|
104
|
+
error: new Error("Snapshot refresh does not support progressive subscriptions")
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
const existing = this.refreshes.get(subscriptionId);
|
|
108
|
+
if (existing) {
|
|
109
|
+
existing.requested = true;
|
|
110
|
+
return existing.promise;
|
|
111
|
+
}
|
|
112
|
+
const state = {
|
|
113
|
+
requested: false,
|
|
114
|
+
promise: Promise.resolve({
|
|
115
|
+
subscriptionId,
|
|
116
|
+
ok: false
|
|
117
|
+
})
|
|
118
|
+
};
|
|
119
|
+
const active = () => this.refreshes.get(subscriptionId) === state && this.subscriptions.get(subscriptionId) === subscription && (this.subRefCounts.get(subscriptionId) ?? 0) > 0;
|
|
120
|
+
state.promise = Promise.resolve().then(async () => {
|
|
121
|
+
try {
|
|
122
|
+
while (true) {
|
|
123
|
+
state.requested = false;
|
|
124
|
+
try {
|
|
125
|
+
const {
|
|
126
|
+
rows,
|
|
127
|
+
cursor,
|
|
128
|
+
checkpoint
|
|
129
|
+
} = await this.fetchInitialRows(subscription.query);
|
|
130
|
+
if (!active()) {
|
|
131
|
+
return {
|
|
132
|
+
subscriptionId,
|
|
133
|
+
ok: false,
|
|
134
|
+
error: new Error("Subscription is no longer active")
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
if (state.requested) continue;
|
|
138
|
+
this.seedRows(subscription.query, rows);
|
|
139
|
+
subscription.docIds = rows.map(row => row.name);
|
|
140
|
+
subscription.cursor = cursor;
|
|
141
|
+
subscription.checkpoint = checkpoint;
|
|
142
|
+
subscription.boundaries = rows.length ? {
|
|
143
|
+
firstItem: rows[0],
|
|
144
|
+
lastItem: rows[rows.length - 1],
|
|
145
|
+
offset: subscription.query.limitStart ?? 0,
|
|
146
|
+
pageSize: subscription.query.limit ?? defaultPageLength
|
|
147
|
+
} : void 0;
|
|
148
|
+
subscription.metadata = {
|
|
149
|
+
itemsBeforePage: 0,
|
|
150
|
+
itemsAfterPage: 0
|
|
151
|
+
};
|
|
152
|
+
subscription.stale = false;
|
|
153
|
+
return {
|
|
154
|
+
subscriptionId,
|
|
155
|
+
ok: true
|
|
156
|
+
};
|
|
157
|
+
} catch (error) {
|
|
158
|
+
if (active() && state.requested) continue;
|
|
159
|
+
if (active()) subscription.stale = true;
|
|
160
|
+
return {
|
|
161
|
+
subscriptionId,
|
|
162
|
+
ok: false,
|
|
163
|
+
error
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
} finally {
|
|
168
|
+
if (this.refreshes.get(subscriptionId) === state) this.refreshes.delete(subscriptionId);
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
this.refreshes.set(subscriptionId, state);
|
|
172
|
+
return state.promise;
|
|
173
|
+
}
|
|
92
174
|
/**
|
|
93
175
|
* Performs the initial subscription fetch (single doc via getDoc, lists via
|
|
94
|
-
* getDocList)
|
|
176
|
+
* getDocList) and computes the CDC checkpoint
|
|
95
177
|
* as the max `modified` across returned rows. Shared by fresh subscribes
|
|
96
178
|
* and adopted-subscription refreshes so both have identical semantics.
|
|
97
179
|
*/
|
|
@@ -129,10 +211,6 @@ class SubscriptionManager {
|
|
|
129
211
|
rows = response;
|
|
130
212
|
}
|
|
131
213
|
}
|
|
132
|
-
for (const row of rows) {
|
|
133
|
-
if (!row.doctype) row.doctype = query.doctype;
|
|
134
|
-
this.normalizedCache.upsert(row);
|
|
135
|
-
}
|
|
136
214
|
let checkpoint = void 0;
|
|
137
215
|
for (const row of rows) {
|
|
138
216
|
if (!row.modified) continue;
|
|
@@ -144,6 +222,12 @@ class SubscriptionManager {
|
|
|
144
222
|
checkpoint
|
|
145
223
|
};
|
|
146
224
|
}
|
|
225
|
+
seedRows(query, rows) {
|
|
226
|
+
for (const row of rows) {
|
|
227
|
+
if (!row.doctype) row.doctype = query.doctype;
|
|
228
|
+
this.normalizedCache.upsert(row);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
147
231
|
/**
|
|
148
232
|
* Re-adopts a subscription restored from a persisted snapshot when an
|
|
149
233
|
* identical query subscribes: the cached membership renders immediately and
|
|
@@ -161,7 +245,7 @@ class SubscriptionManager {
|
|
|
161
245
|
if (!subscription) return void 0;
|
|
162
246
|
this.queryKeyToSubId.set(queryKey, restoredId);
|
|
163
247
|
this.subRefCounts.set(restoredId, 1);
|
|
164
|
-
const refresh = this.
|
|
248
|
+
const refresh = this.refreshSubscription(subscription);
|
|
165
249
|
const rows = this.getDocsForSubscription(restoredId);
|
|
166
250
|
return {
|
|
167
251
|
subscriptionId: restoredId,
|
|
@@ -170,48 +254,6 @@ class SubscriptionManager {
|
|
|
170
254
|
refresh
|
|
171
255
|
};
|
|
172
256
|
}
|
|
173
|
-
/**
|
|
174
|
-
* Network refresh for an adopted subscription with fresh-subscribe
|
|
175
|
-
* semantics: an authoritative page fetch replaces membership and recomputes
|
|
176
|
-
* the checkpoint (identical to what a brand-new subscribe would produce).
|
|
177
|
-
* On failure (offline) the cached membership and the restored CDC
|
|
178
|
-
* checkpoint are kept and the subscription is marked stale — the next
|
|
179
|
-
* backfill trigger drains changes from that checkpoint. Never rejects.
|
|
180
|
-
*/
|
|
181
|
-
async refreshAdoptedSubscription(subscription) {
|
|
182
|
-
try {
|
|
183
|
-
const {
|
|
184
|
-
rows,
|
|
185
|
-
cursor,
|
|
186
|
-
checkpoint
|
|
187
|
-
} = await this.fetchInitialRows(subscription.query);
|
|
188
|
-
subscription.checkpoint = checkpoint;
|
|
189
|
-
subscription.cursor = cursor;
|
|
190
|
-
subscription.docIds = rows.map(row => row.name);
|
|
191
|
-
if (rows.length > 0) {
|
|
192
|
-
subscription.boundaries = {
|
|
193
|
-
firstItem: rows[0],
|
|
194
|
-
lastItem: rows[rows.length - 1],
|
|
195
|
-
offset: subscription.query.limitStart || 0,
|
|
196
|
-
pageSize: subscription.query.limit || 20
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
subscription.metadata = {
|
|
200
|
-
itemsBeforePage: 0,
|
|
201
|
-
itemsAfterPage: 0
|
|
202
|
-
};
|
|
203
|
-
subscription.stale = false;
|
|
204
|
-
return {
|
|
205
|
-
ok: true
|
|
206
|
-
};
|
|
207
|
-
} catch (error) {
|
|
208
|
-
subscription.stale = true;
|
|
209
|
-
return {
|
|
210
|
-
ok: false,
|
|
211
|
-
error
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
257
|
/**
|
|
216
258
|
* Registers a subscription restored from a persisted snapshot. Restored
|
|
217
259
|
* subscriptions are dormant: they hold the persisted query, CDC checkpoint,
|
|
@@ -286,6 +328,7 @@ class SubscriptionManager {
|
|
|
286
328
|
this.subRefCounts.set(subscriptionId, refCount);
|
|
287
329
|
return;
|
|
288
330
|
}
|
|
331
|
+
this.refreshes.delete(subscriptionId);
|
|
289
332
|
this.subRefCounts.delete(subscriptionId);
|
|
290
333
|
let queryKey;
|
|
291
334
|
for (const [key, id] of this.queryKeyToSubId) {
|
|
@@ -611,6 +654,7 @@ class SubscriptionManager {
|
|
|
611
654
|
return name1 < name2 ? -1 : name1 > name2 ? 1 : 0;
|
|
612
655
|
}
|
|
613
656
|
clear() {
|
|
657
|
+
this.refreshes.clear();
|
|
614
658
|
this.subscriptions.clear();
|
|
615
659
|
this.queryKeyToSubId.clear();
|
|
616
660
|
this.subRefCounts.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BackfillManager","extractSingleName","matchesFilters","BackfillScope","defaultPageLength","Order","VirtualPageManager","SubscriptionManager","subscriptions","Map","virtualPageManager","backfillManager","queryKeyToSubId","subRefCounts","restoredByQueryKey","restoredAt","db","normalizedCache","options","constructor","batchSize","pageSize","maxPages","backfillMaxPages","subscribe","query","queryKey","JSON","stringify","existingId","get","has","set","rows","getDocsForSubscription","checkpoint","subscriptionId","rows2","checkpoint2","adopted","adoptRestoredSubscription","cryptoRandomId","cursor","fetchInitialRows","subscription","id","docIds","map","row","name","tombstones","length","boundaries","firstItem","lastItem","offset","limitStart","limit","metadata","itemsBeforePage","itemsAfterPage","progressive","registerSubscription","queryFields","fields","Array","from","Set","singleName","filters","document","getDoc","doctype","error","errorWithStatus","status","listOptions","orderBy","useCursorPagination","response","getDocList","data","upsert","modified","restoredId","delete","refresh","refreshAdoptedSubscription","stale","ok","restoreSubscription","snapshotSub","activeId","previousId","isArray","Date","now","isRestoredSubscription","gcRestoredSubscriptions","ttl","restoredSubscriptionTTL","restoredAtMs","key","unsubscribe","refCount","persistKey","getSubscription","virtualSub","getProgressiveCache","filter","id2","out","push","getPage","page","getNextBatch","cursorDocId","getPageInfo","backfill","args","scope","All","values","backfillSub","Subscriptions","Doctypes","doctypes","Docs","docTarget","docs","deleted","modifiedAfter","madeProgress","has_more","deletedRef","deletedDoctype","remove","currentName","match","includes","firstDoc","lastDoc","resortSubscriptionDocIds","cleanupTombstones","onBackfill","fetched","orderByArray","sort","firstId","secondId","secondDoc","orderByField","field","ascending","order","Desc","firstValue","secondValue","firstIsNullish","secondIsNullish","updateSubscriptionMembership","doc","subscriptionsNeedingRehydration","isExisting","handleRemoteCreate","docId","handleRemoteDelete","handleRemoteUpdate","removeFromAllSubscriptions","affectedSubscriptions","hadDocument","getAllSubscriptions","getVirtualPageManager","insertDocumentIntoSubscription","insertIndex","findInsertionIndex","splice","left","right","mid","Math","floor","midDoc","comparison","compareDocuments","doc1","doc2","value1","value2","isAsc","isNull1","isNull2","name1","name2","clear","maxAge","tombstoneMaxAge","maxCount","tombstoneMaxCount","subscriptionsToClean","Boolean","size","timestamp","entries","a","b","toRemove","slice","crypto","randomUUID","random","toString"],"sources":["../../../src/sync/subscriptionManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["BackfillManager","extractSingleName","matchesFilters","BackfillScope","defaultPageLength","Order","VirtualPageManager","SubscriptionManager","refreshes","Map","subscriptions","virtualPageManager","backfillManager","queryKeyToSubId","subRefCounts","restoredByQueryKey","restoredAt","db","normalizedCache","options","constructor","batchSize","pageSize","maxPages","backfillMaxPages","subscribe","query","queryKey","JSON","stringify","existingId","get","has","set","rows","getDocsForSubscription","checkpoint","subscriptionId","rows2","checkpoint2","adopted","adoptRestoredSubscription","cryptoRandomId","cursor","fetchInitialRows","seedRows","subscription","id","docIds","map","row","name","tombstones","length","boundaries","firstItem","lastItem","offset","limitStart","limit","metadata","itemsBeforePage","itemsAfterPage","progressive","registerSubscription","refreshSubscriptions","values","filter","doctypes","includes","doctype","Promise","all","refreshSubscription","resolve","ok","error","Error","existing","requested","promise","state","active","then","stale","delete","queryFields","fields","Array","from","Set","singleName","filters","document","getDoc","errorWithStatus","status","listOptions","orderBy","useCursorPagination","response","getDocList","data","modified","upsert","restoredId","refresh","restoreSubscription","snapshotSub","activeId","previousId","isArray","Date","now","isRestoredSubscription","gcRestoredSubscriptions","ttl","restoredSubscriptionTTL","restoredAtMs","key","unsubscribe","refCount","persistKey","getSubscription","virtualSub","getProgressiveCache","id2","out","push","getPage","page","getNextBatch","cursorDocId","getPageInfo","backfill","args","scope","All","backfillSub","Subscriptions","Doctypes","Docs","docTarget","docs","deleted","modifiedAfter","madeProgress","has_more","deletedRef","deletedDoctype","remove","currentName","match","firstDoc","lastDoc","resortSubscriptionDocIds","cleanupTombstones","onBackfill","fetched","orderByArray","sort","firstId","secondId","secondDoc","orderByField","field","ascending","order","Desc","firstValue","secondValue","firstIsNullish","secondIsNullish","updateSubscriptionMembership","doc","subscriptionsNeedingRehydration","isExisting","handleRemoteCreate","docId","handleRemoteDelete","handleRemoteUpdate","removeFromAllSubscriptions","affectedSubscriptions","hadDocument","getAllSubscriptions","getVirtualPageManager","insertDocumentIntoSubscription","insertIndex","findInsertionIndex","splice","left","right","mid","Math","floor","midDoc","comparison","compareDocuments","doc1","doc2","value1","value2","isAsc","isNull1","isNull2","name1","name2","clear","maxAge","tombstoneMaxAge","maxCount","tombstoneMaxCount","subscriptionsToClean","Boolean","size","timestamp","entries","a","b","toRemove","slice","crypto","randomUUID","random","toString"],"sources":["../../../src/sync/subscriptionManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|