@multiplatform.one/frappe 7.8.0 → 7.10.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.
Files changed (41) hide show
  1. package/README.md +31 -1
  2. package/dist/cjs/index.native.js.map +1 -1
  3. package/dist/cjs/sync/index.cjs +7 -0
  4. package/dist/cjs/sync/index.native.js +9 -0
  5. package/dist/cjs/sync/index.native.js.map +1 -1
  6. package/dist/cjs/sync/subscriptionManager.cjs +94 -50
  7. package/dist/cjs/sync/subscriptionManager.native.js +133 -73
  8. package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
  9. package/dist/esm/index.mjs.map +1 -1
  10. package/dist/esm/index.native.js.map +1 -1
  11. package/dist/esm/sync/index.mjs +7 -0
  12. package/dist/esm/sync/index.mjs.map +1 -1
  13. package/dist/esm/sync/index.native.js +9 -0
  14. package/dist/esm/sync/index.native.js.map +1 -1
  15. package/dist/esm/sync/subscriptionManager.mjs +94 -50
  16. package/dist/esm/sync/subscriptionManager.mjs.map +1 -1
  17. package/dist/esm/sync/subscriptionManager.native.js +133 -73
  18. package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
  19. package/dist/jsx/index.js.map +1 -1
  20. package/dist/jsx/index.mjs.map +1 -1
  21. package/dist/jsx/index.native.js.map +1 -1
  22. package/dist/jsx/sync/index.mjs +7 -0
  23. package/dist/jsx/sync/index.mjs.map +1 -1
  24. package/dist/jsx/sync/index.native.js +9 -0
  25. package/dist/jsx/sync/index.native.js.map +1 -1
  26. package/dist/jsx/sync/subscriptionManager.mjs +94 -50
  27. package/dist/jsx/sync/subscriptionManager.mjs.map +1 -1
  28. package/dist/jsx/sync/subscriptionManager.native.js +133 -73
  29. package/dist/jsx/sync/subscriptionManager.native.js.map +1 -1
  30. package/package.json +6 -6
  31. package/src/index.ts +5 -1
  32. package/src/sync/index.ts +12 -0
  33. package/src/sync/refreshSubscriptions.lifecycle.spec.ts +268 -0
  34. package/src/sync/refreshSubscriptions.spec.ts +295 -0
  35. package/src/sync/subscriptionManager.ts +107 -44
  36. package/types/index.d.ts +1 -1
  37. package/types/index.d.ts.map +1 -1
  38. package/types/sync/index.d.ts +4 -0
  39. package/types/sync/index.d.ts.map +1 -1
  40. package/types/sync/subscriptionManager.d.ts +13 -10
  41. package/types/sync/subscriptionManager.d.ts.map +1 -1
package/README.md CHANGED
@@ -205,6 +205,36 @@ SyncModule (orchestrator)
205
205
  └── Active tab priority handoff
206
206
  ```
207
207
 
208
+ ## Refresh mounted snapshots
209
+
210
+ ```typescript
211
+ const results = await sync.refreshSubscriptions({ doctypes: ["Task"] });
212
+ const failures = results.filter((result) => !result.ok);
213
+ ```
214
+
215
+ `refreshSubscriptions()` refreshes every active subscription. `doctypes: []` or
216
+ unknown doctypes select none; dormant persisted subscriptions are excluded.
217
+ Shared subscriptions return one result per id. No `persistKey` is required.
218
+ `SubscriptionRefreshOptions` and `SubscriptionRefreshResult` are exported from
219
+ the package root.
220
+
221
+ Each refresh reads the original fields, filters, order and query window. An
222
+ omitted or null limit uses the default page length; `limit: 0` stays unlimited.
223
+ Accepted responses replace membership, including deletions and empty results,
224
+ while mounted collections keep their identity. Cached documents outside that
225
+ membership remain available to other subscriptions.
226
+
227
+ Failures return `{ subscriptionId, ok: false, error }`, retain the last committed
228
+ snapshot and mark the active subscription stale. Progressive subscriptions return
229
+ `Snapshot refresh does not support progressive subscriptions` without fetching or
230
+ changing their pagination state. Other selected subscriptions still refresh.
231
+
232
+ Requests overlapping an in-flight read coalesce into a trailing read. All callers
233
+ receive its final outcome; superseded responses never commit. Detaching the last
234
+ consumer or resetting the cache invalidates pending refreshes. Re-adoption serves
235
+ cached rows immediately and coordinates its background refresh with explicit calls.
236
+ Store readers are notified when selected operations settle.
237
+
208
238
  ## Conflict Resolution
209
239
 
210
240
  ```typescript
@@ -259,7 +289,7 @@ const sync = new SyncModule(db, realtime, {
259
289
  ## Testing
260
290
 
261
291
  ```bash
262
- npm test
292
+ pnpm test
263
293
  ```
264
294
 
265
295
  ## License
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","AsyncBatcher","import_pacer2","AsyncDebouncer","AsyncQueuer","AsyncRateLimiter","AsyncThrottler","AuthModule","import_auth","Batcher","CallModule","import_call","DbModule","import_db","Debouncer","FieldMergeStrategy","import_merge","FileModule","import_file","FilterOperator","import_filters","FrappeApp","import_frappeApp","FrappeError","import_types","HttpClient","import_http","MergeStrategy","OPTIMISTIC_TEMP_PREFIX","import_optimistic","Operation","import_types2","Order","Queuer","RateLimiter","RealtimeModule","import_realtime","RealtimePlatform","SyncModule","import_sync","Throttler","TreeDbModule","import_db4","__getActiveSyncModule","import_frappeReact","and","import_db3","asyncBatch","asyncDebounce","asyncQueue","asyncRateLimit","asyncThrottle","avg","batch","canEvaluateClientSide","clearSSRCookies","count","createCollection","import_db2","createFixtureCollection","import_collection","createFrappeCollection","createOptimisticAction","createRateLimitedBatch","import_pacer","createTransaction","debounce","defaultPageLength","deleteCookie","eq","extractFilterFields","extractSingleName","fixtureCollectionOptions","formatFilter","frappeCollectionOptions","frappePlugin","import_plugin","default","getClientEvaluationBlockers","getCookie","getFrappeSyncModule","gt","gte","hasServerOnlyOperators","ilike","inArray","invalidateCookieCache","isNull","isOptimisticTempId","isTreeOperator","isUndefined","like","lt","lte","matchesFilters","max","min","newOptimisticTempId","normalizeFilters","not","or","parseDependsOn","import_doctype","parseFormLayout","queue","rateLimit","runOptimisticRpc","setCookie","setSSRCookies","sum","throttle","useDebouncedSearch","useDocTypeMeta","useDocTypeSearch","useFrappeCollection","useFrappeConnection","useFrappeDoctypeEvents","useFrappeInfiniteList","useFrappePendingMutations","useInfiniteScroll","useLinkSearch","useLinkTitle","useLiveQuery","import_useLiveQuery","useThrottledPagination","validateFilters","module","exports","require","__reExport"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","AsyncBatcher","import_pacer2","AsyncDebouncer","AsyncQueuer","AsyncRateLimiter","AsyncThrottler","AuthModule","import_auth","Batcher","CallModule","import_call","DbModule","import_db","Debouncer","FieldMergeStrategy","import_merge","FileModule","import_file","FilterOperator","import_filters","FrappeApp","import_frappeApp","FrappeError","import_types","HttpClient","import_http","MergeStrategy","OPTIMISTIC_TEMP_PREFIX","import_optimistic","Operation","import_types2","Order","Queuer","RateLimiter","RealtimeModule","import_realtime","RealtimePlatform","SyncModule","import_sync","Throttler","TreeDbModule","import_db4","__getActiveSyncModule","import_frappeReact","and","import_db3","asyncBatch","asyncDebounce","asyncQueue","asyncRateLimit","asyncThrottle","avg","batch","canEvaluateClientSide","clearSSRCookies","count","createCollection","import_db2","createFixtureCollection","import_collection","createFrappeCollection","createOptimisticAction","createRateLimitedBatch","import_pacer","createTransaction","debounce","defaultPageLength","deleteCookie","eq","extractFilterFields","extractSingleName","fixtureCollectionOptions","formatFilter","frappeCollectionOptions","frappePlugin","import_plugin","default","getClientEvaluationBlockers","getCookie","getFrappeSyncModule","gt","gte","hasServerOnlyOperators","ilike","inArray","invalidateCookieCache","isNull","isOptimisticTempId","isTreeOperator","isUndefined","like","lt","lte","matchesFilters","max","min","newOptimisticTempId","normalizeFilters","not","or","parseDependsOn","import_doctype","parseFormLayout","queue","rateLimit","runOptimisticRpc","setCookie","setSSRCookies","sum","throttle","useDebouncedSearch","useDocTypeMeta","useDocTypeSearch","useFrappeCollection","useFrappeConnection","useFrappeDoctypeEvents","useFrappeInfiniteList","useFrappePendingMutations","useInfiniteScroll","useLinkSearch","useLinkTitle","useLiveQuery","import_useLiveQuery","useThrottledPagination","validateFilters","module","exports","require","__reExport"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -165,6 +165,13 @@ class SyncModule {
165
165
  this.persistenceManager.broadcastMutation(mutation);
166
166
  this.emit();
167
167
  }
168
+ /** Refresh active query snapshots in place. Failures retain the last committed data. */
169
+ async refreshSubscriptions(options) {
170
+ await this.persistenceManager.whenReady();
171
+ const results = await this.subscriptionManager.refreshSubscriptions(options);
172
+ this.emit();
173
+ return results;
174
+ }
168
175
  /**
169
176
  * Reconciles local state by fetching changes since stored cursors.
170
177
  */
@@ -251,6 +251,15 @@ var SyncModule = /* @__PURE__ */function () {
251
251
  this.persistenceManager.broadcastMutation(mutation);
252
252
  this.emit();
253
253
  }
254
+ }, {
255
+ key: "refreshSubscriptions",
256
+ value: (/** Refresh active query snapshots in place. Failures retain the last committed data. */
257
+ async function refreshSubscriptions(options) {
258
+ await this.persistenceManager.whenReady();
259
+ var results = await this.subscriptionManager.refreshSubscriptions(options);
260
+ this.emit();
261
+ return results;
262
+ })
254
263
  }, {
255
264
  key: "backfill",
256
265
  value: (
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","sync_exports","__export","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","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_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","call","_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","name","get","getDocsForSubscription","getPage","page","getNextBatch","cursorDocId","limit","getPageInfo","refetchDocs","docs","Docs","subscribeStore","storeListeners","add","delete","subscribeRealtimeEvents"],"sources":["../../../src/sync/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","sync_exports","__export","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","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_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","call","_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","refreshSubscriptions","results","args","getMutationEntries","entries","id","entry","_entry_createdAt","_entry_retryCount","_entry_error_message","push","operation","docname","status","createdAt","retryCount","error","message","String","dismissMutation","remove","getDocFromCache","name","get","getDocsForSubscription","getPage","page","getNextBatch","cursorDocId","limit","getPageInfo","refetchDocs","docs","Docs","subscribeStore","storeListeners","add","delete","subscribeRealtimeEvents"],"sources":["../../../src/sync/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -30,6 +30,7 @@ var import_filters = require("./filters.cjs");
30
30
  var import_types = require("./types.cjs");
31
31
  var import_virtualPageManager = require("./virtualPageManager.cjs");
32
32
  class SubscriptionManager {
33
+ refreshes = /* @__PURE__ */new Map();
33
34
  subscriptions = /* @__PURE__ */new Map();
34
35
  virtualPageManager;
35
36
  backfillManager;
@@ -82,6 +83,7 @@ class SubscriptionManager {
82
83
  cursor,
83
84
  checkpoint
84
85
  } = await this.fetchInitialRows(query);
86
+ this.seedRows(query, rows);
85
87
  const subscription = {
86
88
  id: subscriptionId,
87
89
  query,
@@ -96,8 +98,8 @@ class SubscriptionManager {
96
98
  subscription.boundaries = {
97
99
  firstItem: rows[0],
98
100
  lastItem: rows[rows.length - 1],
99
- offset: query.limitStart || 0,
100
- pageSize: query.limit || 20
101
+ offset: query.limitStart ?? 0,
102
+ pageSize: query.limit ?? import_types.defaultPageLength
101
103
  };
102
104
  }
103
105
  subscription.metadata = {
@@ -116,9 +118,89 @@ class SubscriptionManager {
116
118
  checkpoint
117
119
  };
118
120
  }
121
+ async refreshSubscriptions(options = {}) {
122
+ const subscriptions = [...this.subscriptions.values()].filter(subscription => (this.subRefCounts.get(subscription.id) ?? 0) > 0 && (!options.doctypes || options.doctypes.includes(subscription.query.doctype)));
123
+ return Promise.all(subscriptions.map(subscription => this.refreshSubscription(subscription)));
124
+ }
125
+ refreshSubscription(subscription) {
126
+ const subscriptionId = subscription.id;
127
+ if (subscription.query.progressive) {
128
+ return Promise.resolve({
129
+ subscriptionId,
130
+ ok: false,
131
+ error: new Error("Snapshot refresh does not support progressive subscriptions")
132
+ });
133
+ }
134
+ const existing = this.refreshes.get(subscriptionId);
135
+ if (existing) {
136
+ existing.requested = true;
137
+ return existing.promise;
138
+ }
139
+ const state = {
140
+ requested: false,
141
+ promise: Promise.resolve({
142
+ subscriptionId,
143
+ ok: false
144
+ })
145
+ };
146
+ const active = () => this.refreshes.get(subscriptionId) === state && this.subscriptions.get(subscriptionId) === subscription && (this.subRefCounts.get(subscriptionId) ?? 0) > 0;
147
+ state.promise = Promise.resolve().then(async () => {
148
+ try {
149
+ while (true) {
150
+ state.requested = false;
151
+ try {
152
+ const {
153
+ rows,
154
+ cursor,
155
+ checkpoint
156
+ } = await this.fetchInitialRows(subscription.query);
157
+ if (!active()) {
158
+ return {
159
+ subscriptionId,
160
+ ok: false,
161
+ error: new Error("Subscription is no longer active")
162
+ };
163
+ }
164
+ if (state.requested) continue;
165
+ this.seedRows(subscription.query, rows);
166
+ subscription.docIds = rows.map(row => row.name);
167
+ subscription.cursor = cursor;
168
+ subscription.checkpoint = checkpoint;
169
+ subscription.boundaries = rows.length ? {
170
+ firstItem: rows[0],
171
+ lastItem: rows[rows.length - 1],
172
+ offset: subscription.query.limitStart ?? 0,
173
+ pageSize: subscription.query.limit ?? import_types.defaultPageLength
174
+ } : void 0;
175
+ subscription.metadata = {
176
+ itemsBeforePage: 0,
177
+ itemsAfterPage: 0
178
+ };
179
+ subscription.stale = false;
180
+ return {
181
+ subscriptionId,
182
+ ok: true
183
+ };
184
+ } catch (error) {
185
+ if (active() && state.requested) continue;
186
+ if (active()) subscription.stale = true;
187
+ return {
188
+ subscriptionId,
189
+ ok: false,
190
+ error
191
+ };
192
+ }
193
+ }
194
+ } finally {
195
+ if (this.refreshes.get(subscriptionId) === state) this.refreshes.delete(subscriptionId);
196
+ }
197
+ });
198
+ this.refreshes.set(subscriptionId, state);
199
+ return state.promise;
200
+ }
119
201
  /**
120
202
  * Performs the initial subscription fetch (single doc via getDoc, lists via
121
- * getDocList), seeds the normalized cache, and computes the CDC checkpoint
203
+ * getDocList) and computes the CDC checkpoint
122
204
  * as the max `modified` across returned rows. Shared by fresh subscribes
123
205
  * and adopted-subscription refreshes so both have identical semantics.
124
206
  */
@@ -156,10 +238,6 @@ class SubscriptionManager {
156
238
  rows = response;
157
239
  }
158
240
  }
159
- for (const row of rows) {
160
- if (!row.doctype) row.doctype = query.doctype;
161
- this.normalizedCache.upsert(row);
162
- }
163
241
  let checkpoint = void 0;
164
242
  for (const row of rows) {
165
243
  if (!row.modified) continue;
@@ -171,6 +249,12 @@ class SubscriptionManager {
171
249
  checkpoint
172
250
  };
173
251
  }
252
+ seedRows(query, rows) {
253
+ for (const row of rows) {
254
+ if (!row.doctype) row.doctype = query.doctype;
255
+ this.normalizedCache.upsert(row);
256
+ }
257
+ }
174
258
  /**
175
259
  * Re-adopts a subscription restored from a persisted snapshot when an
176
260
  * identical query subscribes: the cached membership renders immediately and
@@ -188,7 +272,7 @@ class SubscriptionManager {
188
272
  if (!subscription) return void 0;
189
273
  this.queryKeyToSubId.set(queryKey, restoredId);
190
274
  this.subRefCounts.set(restoredId, 1);
191
- const refresh = this.refreshAdoptedSubscription(subscription);
275
+ const refresh = this.refreshSubscription(subscription);
192
276
  const rows = this.getDocsForSubscription(restoredId);
193
277
  return {
194
278
  subscriptionId: restoredId,
@@ -197,48 +281,6 @@ class SubscriptionManager {
197
281
  refresh
198
282
  };
199
283
  }
200
- /**
201
- * Network refresh for an adopted subscription with fresh-subscribe
202
- * semantics: an authoritative page fetch replaces membership and recomputes
203
- * the checkpoint (identical to what a brand-new subscribe would produce).
204
- * On failure (offline) the cached membership and the restored CDC
205
- * checkpoint are kept and the subscription is marked stale — the next
206
- * backfill trigger drains changes from that checkpoint. Never rejects.
207
- */
208
- async refreshAdoptedSubscription(subscription) {
209
- try {
210
- const {
211
- rows,
212
- cursor,
213
- checkpoint
214
- } = await this.fetchInitialRows(subscription.query);
215
- subscription.checkpoint = checkpoint;
216
- subscription.cursor = cursor;
217
- subscription.docIds = rows.map(row => row.name);
218
- if (rows.length > 0) {
219
- subscription.boundaries = {
220
- firstItem: rows[0],
221
- lastItem: rows[rows.length - 1],
222
- offset: subscription.query.limitStart || 0,
223
- pageSize: subscription.query.limit || 20
224
- };
225
- }
226
- subscription.metadata = {
227
- itemsBeforePage: 0,
228
- itemsAfterPage: 0
229
- };
230
- subscription.stale = false;
231
- return {
232
- ok: true
233
- };
234
- } catch (error) {
235
- subscription.stale = true;
236
- return {
237
- ok: false,
238
- error
239
- };
240
- }
241
- }
242
284
  /**
243
285
  * Registers a subscription restored from a persisted snapshot. Restored
244
286
  * subscriptions are dormant: they hold the persisted query, CDC checkpoint,
@@ -313,6 +355,7 @@ class SubscriptionManager {
313
355
  this.subRefCounts.set(subscriptionId, refCount);
314
356
  return;
315
357
  }
358
+ this.refreshes.delete(subscriptionId);
316
359
  this.subRefCounts.delete(subscriptionId);
317
360
  let queryKey;
318
361
  for (const [key, id] of this.queryKeyToSubId) {
@@ -638,6 +681,7 @@ class SubscriptionManager {
638
681
  return name1 < name2 ? -1 : name1 > name2 ? 1 : 0;
639
682
  }
640
683
  clear() {
684
+ this.refreshes.clear();
641
685
  this.subscriptions.clear();
642
686
  this.queryKeyToSubId.clear();
643
687
  this.subRefCounts.clear();