@multiplatform.one/frappe 7.7.6 → 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.
- package/README.md +31 -1
- package/dist/cjs/auth.native.js.map +1 -1
- package/dist/cjs/call.native.js.map +1 -1
- package/dist/cjs/collection.cjs +4 -1
- package/dist/cjs/collection.native.js +4 -1
- package/dist/cjs/collection.native.js.map +1 -1
- package/dist/cjs/common/types.native.js.map +1 -1
- package/dist/cjs/core/http.native.js.map +1 -1
- package/dist/cjs/core/types.native.js.map +1 -1
- package/dist/cjs/core/wire.native.js.map +1 -1
- package/dist/cjs/db.native.js.map +1 -1
- package/dist/cjs/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
- package/dist/cjs/devtools/index.native.js.map +1 -1
- package/dist/cjs/devtools/plugin.native.js.map +1 -1
- package/dist/cjs/devtools/theme.native.js.map +1 -1
- package/dist/cjs/doctype.cjs +25 -8
- package/dist/cjs/doctype.native.js +26 -9
- package/dist/cjs/doctype.native.js.map +1 -1
- package/dist/cjs/file.native.js.map +1 -1
- package/dist/cjs/fixtureDb.native.js.map +1 -1
- package/dist/cjs/fixtures.native.js.map +1 -1
- package/dist/cjs/frappeApp.native.js.map +1 -1
- package/dist/cjs/frappeReact.cjs +1 -0
- package/dist/cjs/frappeReact.native.js +2 -1
- package/dist/cjs/frappeReact.native.js.map +1 -1
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/index.native.js +3 -2
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/optimistic.native.js.map +1 -1
- package/dist/cjs/pacer.cjs +1 -0
- package/dist/cjs/pacer.native.js +1 -0
- package/dist/cjs/pacer.native.js.map +1 -1
- package/dist/cjs/plugin/index.native.js.map +1 -1
- package/dist/cjs/realtime.native.js.map +1 -1
- package/dist/cjs/sync/backfill.native.js.map +1 -1
- package/dist/cjs/sync/filters.native.js.map +1 -1
- package/dist/cjs/sync/index.cjs +7 -0
- package/dist/cjs/sync/index.native.js +9 -0
- package/dist/cjs/sync/index.native.js.map +1 -1
- package/dist/cjs/sync/merge.native.js.map +1 -1
- package/dist/cjs/sync/mutationEngine.native.js.map +1 -1
- package/dist/cjs/sync/mutationJournal.native.js.map +1 -1
- package/dist/cjs/sync/normalizedCache.native.js.map +1 -1
- package/dist/cjs/sync/persistence.native.js.map +1 -1
- package/dist/cjs/sync/realtime.native.js.map +1 -1
- package/dist/cjs/sync/rehydration.native.js.map +1 -1
- package/dist/cjs/sync/storage.native.js.map +1 -1
- package/dist/cjs/sync/subscriptionManager.cjs +96 -54
- package/dist/cjs/sync/subscriptionManager.native.js +136 -77
- package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
- package/dist/cjs/sync/types.cjs +3 -1
- package/dist/cjs/sync/types.native.js +3 -1
- package/dist/cjs/sync/types.native.js.map +1 -1
- package/dist/cjs/sync/virtualPageManager.native.js.map +1 -1
- package/dist/cjs/useLiveQuery.native.js.map +1 -1
- package/dist/cjs/util.native.js.map +1 -1
- package/dist/esm/auth.native.js.map +1 -1
- package/dist/esm/call.native.js.map +1 -1
- package/dist/esm/collection.mjs +5 -2
- package/dist/esm/collection.mjs.map +1 -1
- package/dist/esm/collection.native.js +5 -2
- package/dist/esm/collection.native.js.map +1 -1
- package/dist/esm/common/types.native.js.map +1 -1
- package/dist/esm/core/http.native.js.map +1 -1
- package/dist/esm/core/types.native.js.map +1 -1
- package/dist/esm/core/wire.native.js.map +1 -1
- package/dist/esm/db.native.js.map +1 -1
- package/dist/esm/devtools/FrappeDevtoolsPanel.native.js.map +1 -1
- package/dist/esm/devtools/index.native.js.map +1 -1
- package/dist/esm/devtools/plugin.native.js.map +1 -1
- package/dist/esm/devtools/theme.native.js.map +1 -1
- package/dist/esm/doctype.mjs +25 -8
- package/dist/esm/doctype.mjs.map +1 -1
- package/dist/esm/doctype.native.js +26 -9
- package/dist/esm/doctype.native.js.map +1 -1
- package/dist/esm/file.native.js.map +1 -1
- package/dist/esm/fixtureDb.native.js.map +1 -1
- package/dist/esm/fixtures.native.js.map +1 -1
- package/dist/esm/frappeApp.native.js.map +1 -1
- package/dist/esm/frappeReact.mjs +1 -0
- package/dist/esm/frappeReact.mjs.map +1 -1
- package/dist/esm/frappeReact.native.js +1 -0
- 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/optimistic.native.js.map +1 -1
- package/dist/esm/pacer.mjs +1 -0
- package/dist/esm/pacer.mjs.map +1 -1
- package/dist/esm/pacer.native.js +1 -0
- package/dist/esm/pacer.native.js.map +1 -1
- package/dist/esm/plugin/index.native.js.map +1 -1
- package/dist/esm/realtime.native.js.map +1 -1
- package/dist/esm/sync/backfill.native.js.map +1 -1
- package/dist/esm/sync/filters.native.js.map +1 -1
- package/dist/esm/sync/index.mjs +7 -0
- package/dist/esm/sync/index.mjs.map +1 -1
- package/dist/esm/sync/index.native.js +9 -0
- package/dist/esm/sync/index.native.js.map +1 -1
- package/dist/esm/sync/merge.native.js.map +1 -1
- package/dist/esm/sync/mutationEngine.native.js.map +1 -1
- package/dist/esm/sync/mutationJournal.native.js.map +1 -1
- package/dist/esm/sync/normalizedCache.native.js.map +1 -1
- package/dist/esm/sync/persistence.native.js.map +1 -1
- package/dist/esm/sync/realtime.native.js.map +1 -1
- package/dist/esm/sync/rehydration.native.js.map +1 -1
- package/dist/esm/sync/storage.native.js.map +1 -1
- package/dist/esm/sync/subscriptionManager.mjs +97 -55
- package/dist/esm/sync/subscriptionManager.mjs.map +1 -1
- package/dist/esm/sync/subscriptionManager.native.js +137 -78
- package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
- package/dist/esm/sync/types.mjs +2 -1
- package/dist/esm/sync/types.mjs.map +1 -1
- package/dist/esm/sync/types.native.js +2 -1
- package/dist/esm/sync/types.native.js.map +1 -1
- package/dist/esm/sync/virtualPageManager.native.js.map +1 -1
- package/dist/esm/useLiveQuery.native.js.map +1 -1
- package/dist/esm/util.native.js.map +1 -1
- package/dist/jsx/collection.mjs +5 -2
- package/dist/jsx/collection.mjs.map +1 -1
- package/dist/jsx/collection.native.js +4 -1
- package/dist/jsx/collection.native.js.map +1 -1
- package/dist/jsx/doctype.mjs +25 -8
- package/dist/jsx/doctype.mjs.map +1 -1
- package/dist/jsx/doctype.native.js +26 -9
- package/dist/jsx/doctype.native.js.map +1 -1
- package/dist/jsx/frappeReact.mjs +1 -0
- package/dist/jsx/frappeReact.mjs.map +1 -1
- package/dist/jsx/frappeReact.native.js +1 -0
- 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/pacer.mjs +1 -0
- package/dist/jsx/pacer.mjs.map +1 -1
- package/dist/jsx/pacer.native.js +1 -0
- package/dist/jsx/pacer.native.js.map +1 -1
- package/dist/jsx/sync/index.mjs +7 -0
- package/dist/jsx/sync/index.mjs.map +1 -1
- package/dist/jsx/sync/index.native.js +9 -0
- package/dist/jsx/sync/index.native.js.map +1 -1
- package/dist/jsx/sync/subscriptionManager.mjs +97 -55
- package/dist/jsx/sync/subscriptionManager.mjs.map +1 -1
- package/dist/jsx/sync/subscriptionManager.native.js +136 -77
- package/dist/jsx/sync/subscriptionManager.native.js.map +1 -1
- package/dist/jsx/sync/types.mjs +2 -1
- package/dist/jsx/sync/types.mjs.map +1 -1
- package/dist/jsx/sync/types.native.js +3 -1
- package/dist/jsx/sync/types.native.js.map +1 -1
- package/package.json +6 -6
- package/src/collection.ts +29 -4
- package/src/collectionLimitParity.spec.ts +135 -0
- package/src/devtools/FrappeDevtoolsPanel.spec.tsx +4 -2
- package/src/doctype.ts +47 -15
- package/src/frappeReact.ts +11 -2
- package/src/index.ts +6 -2
- package/src/pacer.ts +8 -3
- package/src/sync/index.ts +12 -0
- package/src/sync/refreshSubscriptions.lifecycle.spec.ts +268 -0
- package/src/sync/refreshSubscriptions.spec.ts +295 -0
- package/src/sync/subscriptionManager.spec.ts +41 -2
- package/src/sync/subscriptionManager.ts +115 -55
- package/src/sync/types.ts +10 -0
- package/types/collection.d.ts +24 -2
- package/types/collection.d.ts.map +1 -1
- package/types/doctype.d.ts.map +1 -1
- package/types/frappeReact.d.ts +6 -2
- package/types/frappeReact.d.ts.map +1 -1
- package/types/index.d.ts +2 -2
- package/types/index.d.ts.map +1 -1
- package/types/pacer.d.ts +6 -2
- package/types/pacer.d.ts.map +1 -1
- package/types/sync/index.d.ts +4 -0
- 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 +9 -0
- package/types/sync/types.d.ts.map +1 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { BackfillManager } from "./backfill.mjs";
|
|
2
2
|
import { extractSingleName, matchesFilters } from "./filters.mjs";
|
|
3
|
-
import { BackfillScope, Order } from "./types.mjs";
|
|
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
|
*/
|
|
@@ -118,10 +200,8 @@ class SubscriptionManager {
|
|
|
118
200
|
filters: query.filters,
|
|
119
201
|
orderBy: query.orderBy
|
|
120
202
|
};
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
if (query.limitStart != null) listOptions.limitStart = query.limitStart;
|
|
124
|
-
}
|
|
203
|
+
listOptions.limit = query.limit ?? defaultPageLength;
|
|
204
|
+
if (query.limitStart != null) listOptions.limitStart = query.limitStart;
|
|
125
205
|
if (this.options.useCursorPagination) listOptions.cursor = void 0;
|
|
126
206
|
const response = await this.db.getDocList(query.doctype, listOptions);
|
|
127
207
|
if (typeof response === "object" && response !== null && "data" in response) {
|
|
@@ -131,10 +211,6 @@ class SubscriptionManager {
|
|
|
131
211
|
rows = response;
|
|
132
212
|
}
|
|
133
213
|
}
|
|
134
|
-
for (const row of rows) {
|
|
135
|
-
if (!row.doctype) row.doctype = query.doctype;
|
|
136
|
-
this.normalizedCache.upsert(row);
|
|
137
|
-
}
|
|
138
214
|
let checkpoint = void 0;
|
|
139
215
|
for (const row of rows) {
|
|
140
216
|
if (!row.modified) continue;
|
|
@@ -146,6 +222,12 @@ class SubscriptionManager {
|
|
|
146
222
|
checkpoint
|
|
147
223
|
};
|
|
148
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
|
+
}
|
|
149
231
|
/**
|
|
150
232
|
* Re-adopts a subscription restored from a persisted snapshot when an
|
|
151
233
|
* identical query subscribes: the cached membership renders immediately and
|
|
@@ -163,7 +245,7 @@ class SubscriptionManager {
|
|
|
163
245
|
if (!subscription) return void 0;
|
|
164
246
|
this.queryKeyToSubId.set(queryKey, restoredId);
|
|
165
247
|
this.subRefCounts.set(restoredId, 1);
|
|
166
|
-
const refresh = this.
|
|
248
|
+
const refresh = this.refreshSubscription(subscription);
|
|
167
249
|
const rows = this.getDocsForSubscription(restoredId);
|
|
168
250
|
return {
|
|
169
251
|
subscriptionId: restoredId,
|
|
@@ -172,48 +254,6 @@ class SubscriptionManager {
|
|
|
172
254
|
refresh
|
|
173
255
|
};
|
|
174
256
|
}
|
|
175
|
-
/**
|
|
176
|
-
* Network refresh for an adopted subscription with fresh-subscribe
|
|
177
|
-
* semantics: an authoritative page fetch replaces membership and recomputes
|
|
178
|
-
* the checkpoint (identical to what a brand-new subscribe would produce).
|
|
179
|
-
* On failure (offline) the cached membership and the restored CDC
|
|
180
|
-
* checkpoint are kept and the subscription is marked stale — the next
|
|
181
|
-
* backfill trigger drains changes from that checkpoint. Never rejects.
|
|
182
|
-
*/
|
|
183
|
-
async refreshAdoptedSubscription(subscription) {
|
|
184
|
-
try {
|
|
185
|
-
const {
|
|
186
|
-
rows,
|
|
187
|
-
cursor,
|
|
188
|
-
checkpoint
|
|
189
|
-
} = await this.fetchInitialRows(subscription.query);
|
|
190
|
-
subscription.checkpoint = checkpoint;
|
|
191
|
-
subscription.cursor = cursor;
|
|
192
|
-
subscription.docIds = rows.map(row => row.name);
|
|
193
|
-
if (rows.length > 0) {
|
|
194
|
-
subscription.boundaries = {
|
|
195
|
-
firstItem: rows[0],
|
|
196
|
-
lastItem: rows[rows.length - 1],
|
|
197
|
-
offset: subscription.query.limitStart || 0,
|
|
198
|
-
pageSize: subscription.query.limit || 20
|
|
199
|
-
};
|
|
200
|
-
}
|
|
201
|
-
subscription.metadata = {
|
|
202
|
-
itemsBeforePage: 0,
|
|
203
|
-
itemsAfterPage: 0
|
|
204
|
-
};
|
|
205
|
-
subscription.stale = false;
|
|
206
|
-
return {
|
|
207
|
-
ok: true
|
|
208
|
-
};
|
|
209
|
-
} catch (error) {
|
|
210
|
-
subscription.stale = true;
|
|
211
|
-
return {
|
|
212
|
-
ok: false,
|
|
213
|
-
error
|
|
214
|
-
};
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
257
|
/**
|
|
218
258
|
* Registers a subscription restored from a persisted snapshot. Restored
|
|
219
259
|
* subscriptions are dormant: they hold the persisted query, CDC checkpoint,
|
|
@@ -288,6 +328,7 @@ class SubscriptionManager {
|
|
|
288
328
|
this.subRefCounts.set(subscriptionId, refCount);
|
|
289
329
|
return;
|
|
290
330
|
}
|
|
331
|
+
this.refreshes.delete(subscriptionId);
|
|
291
332
|
this.subRefCounts.delete(subscriptionId);
|
|
292
333
|
let queryKey;
|
|
293
334
|
for (const [key, id] of this.queryKeyToSubId) {
|
|
@@ -613,6 +654,7 @@ class SubscriptionManager {
|
|
|
613
654
|
return name1 < name2 ? -1 : name1 > name2 ? 1 : 0;
|
|
614
655
|
}
|
|
615
656
|
clear() {
|
|
657
|
+
this.refreshes.clear();
|
|
616
658
|
this.subscriptions.clear();
|
|
617
659
|
this.queryKeyToSubId.clear();
|
|
618
660
|
this.subRefCounts.clear();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BackfillManager","extractSingleName","matchesFilters","BackfillScope","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":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BackfillManager } from "./backfill.native.js";
|
|
2
2
|
import { extractSingleName, matchesFilters } from "./filters.native.js";
|
|
3
|
-
import { BackfillScope, Order } from "./types.native.js";
|
|
3
|
+
import { BackfillScope, defaultPageLength, Order } from "./types.native.js";
|
|
4
4
|
import { VirtualPageManager } from "./virtualPageManager.native.js";
|
|
5
5
|
function _class_call_check(instance, Constructor) {
|
|
6
6
|
if (!(instance instanceof Constructor)) {
|
|
@@ -46,6 +46,7 @@ var SubscriptionManager = /* @__PURE__ */function () {
|
|
|
46
46
|
function SubscriptionManager2(db, normalizedCache) {
|
|
47
47
|
var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
|
|
48
48
|
_class_call_check(this, SubscriptionManager2);
|
|
49
|
+
_define_property(this, "refreshes", /* @__PURE__ */new Map());
|
|
49
50
|
_define_property(this, "subscriptions", /* @__PURE__ */new Map());
|
|
50
51
|
_define_property(this, "virtualPageManager", void 0);
|
|
51
52
|
_define_property(this, "backfillManager", void 0);
|
|
@@ -90,6 +91,7 @@ var SubscriptionManager = /* @__PURE__ */function () {
|
|
|
90
91
|
cursor,
|
|
91
92
|
checkpoint: checkpoint1
|
|
92
93
|
} = await this.fetchInitialRows(query);
|
|
94
|
+
this.seedRows(query, rows1);
|
|
93
95
|
var subscription = {
|
|
94
96
|
id: subscriptionId,
|
|
95
97
|
query,
|
|
@@ -103,11 +105,12 @@ var SubscriptionManager = /* @__PURE__ */function () {
|
|
|
103
105
|
tombstones: /* @__PURE__ */new Map()
|
|
104
106
|
};
|
|
105
107
|
if (rows1.length > 0) {
|
|
108
|
+
var _query_limitStart, _query_limit;
|
|
106
109
|
subscription.boundaries = {
|
|
107
110
|
firstItem: rows1[0],
|
|
108
111
|
lastItem: rows1[rows1.length - 1],
|
|
109
|
-
offset: query.limitStart
|
|
110
|
-
pageSize: query.limit
|
|
112
|
+
offset: (_query_limitStart = query.limitStart) !== null && _query_limitStart !== void 0 ? _query_limitStart : 0,
|
|
113
|
+
pageSize: (_query_limit = query.limit) !== null && _query_limit !== void 0 ? _query_limit : defaultPageLength
|
|
111
114
|
};
|
|
112
115
|
}
|
|
113
116
|
subscription.metadata = {
|
|
@@ -126,12 +129,110 @@ var SubscriptionManager = /* @__PURE__ */function () {
|
|
|
126
129
|
checkpoint: checkpoint1
|
|
127
130
|
};
|
|
128
131
|
}
|
|
132
|
+
}, {
|
|
133
|
+
key: "refreshSubscriptions",
|
|
134
|
+
value: async function refreshSubscriptions() {
|
|
135
|
+
var _this = this;
|
|
136
|
+
var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
137
|
+
var subscriptions = [...this.subscriptions.values()].filter(function (subscription) {
|
|
138
|
+
var _this_subRefCounts_get;
|
|
139
|
+
return ((_this_subRefCounts_get = _this.subRefCounts.get(subscription.id)) !== null && _this_subRefCounts_get !== void 0 ? _this_subRefCounts_get : 0) > 0 && (!options.doctypes || options.doctypes.includes(subscription.query.doctype));
|
|
140
|
+
});
|
|
141
|
+
return Promise.all(subscriptions.map(function (subscription) {
|
|
142
|
+
return _this.refreshSubscription(subscription);
|
|
143
|
+
}));
|
|
144
|
+
}
|
|
145
|
+
}, {
|
|
146
|
+
key: "refreshSubscription",
|
|
147
|
+
value: function refreshSubscription(subscription) {
|
|
148
|
+
var _this = this;
|
|
149
|
+
var subscriptionId = subscription.id;
|
|
150
|
+
if (subscription.query.progressive) {
|
|
151
|
+
return Promise.resolve({
|
|
152
|
+
subscriptionId,
|
|
153
|
+
ok: false,
|
|
154
|
+
error: new Error("Snapshot refresh does not support progressive subscriptions")
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
var existing = this.refreshes.get(subscriptionId);
|
|
158
|
+
if (existing) {
|
|
159
|
+
existing.requested = true;
|
|
160
|
+
return existing.promise;
|
|
161
|
+
}
|
|
162
|
+
var state = {
|
|
163
|
+
requested: false,
|
|
164
|
+
promise: Promise.resolve({
|
|
165
|
+
subscriptionId,
|
|
166
|
+
ok: false
|
|
167
|
+
})
|
|
168
|
+
};
|
|
169
|
+
var active = function active2() {
|
|
170
|
+
var _this_subRefCounts_get;
|
|
171
|
+
return _this.refreshes.get(subscriptionId) === state && _this.subscriptions.get(subscriptionId) === subscription && ((_this_subRefCounts_get = _this.subRefCounts.get(subscriptionId)) !== null && _this_subRefCounts_get !== void 0 ? _this_subRefCounts_get : 0) > 0;
|
|
172
|
+
};
|
|
173
|
+
state.promise = Promise.resolve().then(async function () {
|
|
174
|
+
try {
|
|
175
|
+
while (true) {
|
|
176
|
+
state.requested = false;
|
|
177
|
+
try {
|
|
178
|
+
var _subscription_query_limitStart, _subscription_query_limit;
|
|
179
|
+
var {
|
|
180
|
+
rows,
|
|
181
|
+
cursor,
|
|
182
|
+
checkpoint
|
|
183
|
+
} = await _this.fetchInitialRows(subscription.query);
|
|
184
|
+
if (!active()) {
|
|
185
|
+
return {
|
|
186
|
+
subscriptionId,
|
|
187
|
+
ok: false,
|
|
188
|
+
error: new Error("Subscription is no longer active")
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
if (state.requested) continue;
|
|
192
|
+
_this.seedRows(subscription.query, rows);
|
|
193
|
+
subscription.docIds = rows.map(function (row) {
|
|
194
|
+
return row.name;
|
|
195
|
+
});
|
|
196
|
+
subscription.cursor = cursor;
|
|
197
|
+
subscription.checkpoint = checkpoint;
|
|
198
|
+
subscription.boundaries = rows.length ? {
|
|
199
|
+
firstItem: rows[0],
|
|
200
|
+
lastItem: rows[rows.length - 1],
|
|
201
|
+
offset: (_subscription_query_limitStart = subscription.query.limitStart) !== null && _subscription_query_limitStart !== void 0 ? _subscription_query_limitStart : 0,
|
|
202
|
+
pageSize: (_subscription_query_limit = subscription.query.limit) !== null && _subscription_query_limit !== void 0 ? _subscription_query_limit : defaultPageLength
|
|
203
|
+
} : void 0;
|
|
204
|
+
subscription.metadata = {
|
|
205
|
+
itemsBeforePage: 0,
|
|
206
|
+
itemsAfterPage: 0
|
|
207
|
+
};
|
|
208
|
+
subscription.stale = false;
|
|
209
|
+
return {
|
|
210
|
+
subscriptionId,
|
|
211
|
+
ok: true
|
|
212
|
+
};
|
|
213
|
+
} catch (error) {
|
|
214
|
+
if (active() && state.requested) continue;
|
|
215
|
+
if (active()) subscription.stale = true;
|
|
216
|
+
return {
|
|
217
|
+
subscriptionId,
|
|
218
|
+
ok: false,
|
|
219
|
+
error
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
} finally {
|
|
224
|
+
if (_this.refreshes.get(subscriptionId) === state) _this.refreshes.delete(subscriptionId);
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
this.refreshes.set(subscriptionId, state);
|
|
228
|
+
return state.promise;
|
|
229
|
+
}
|
|
129
230
|
}, {
|
|
130
231
|
key: "fetchInitialRows",
|
|
131
232
|
value: (
|
|
132
233
|
/**
|
|
133
234
|
* Performs the initial subscription fetch (single doc via getDoc, lists via
|
|
134
|
-
* getDocList)
|
|
235
|
+
* getDocList) and computes the CDC checkpoint
|
|
135
236
|
* as the max `modified` across returned rows. Shared by fresh subscribes
|
|
136
237
|
* and adopted-subscription refreshes so both have identical semantics.
|
|
137
238
|
*/
|
|
@@ -154,15 +255,14 @@ var SubscriptionManager = /* @__PURE__ */function () {
|
|
|
154
255
|
}
|
|
155
256
|
}
|
|
156
257
|
} else {
|
|
258
|
+
var _query_limit;
|
|
157
259
|
var listOptions = {
|
|
158
260
|
fields: queryFields,
|
|
159
261
|
filters: query.filters,
|
|
160
262
|
orderBy: query.orderBy
|
|
161
263
|
};
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
if (query.limitStart != null) listOptions.limitStart = query.limitStart;
|
|
165
|
-
}
|
|
264
|
+
listOptions.limit = (_query_limit = query.limit) !== null && _query_limit !== void 0 ? _query_limit : defaultPageLength;
|
|
265
|
+
if (query.limitStart != null) listOptions.limitStart = query.limitStart;
|
|
166
266
|
if (this.options.useCursorPagination) listOptions.cursor = void 0;
|
|
167
267
|
var response = await this.db.getDocList(query.doctype, listOptions);
|
|
168
268
|
if ((typeof response === "undefined" ? "undefined" : _type_of(response)) === "object" && response !== null && "data" in response) {
|
|
@@ -172,14 +272,15 @@ var SubscriptionManager = /* @__PURE__ */function () {
|
|
|
172
272
|
rows = response;
|
|
173
273
|
}
|
|
174
274
|
}
|
|
275
|
+
var checkpoint = void 0;
|
|
175
276
|
var _iteratorNormalCompletion = true,
|
|
176
277
|
_didIteratorError = false,
|
|
177
278
|
_iteratorError = void 0;
|
|
178
279
|
try {
|
|
179
280
|
for (var _iterator = rows[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
180
281
|
var row = _step.value;
|
|
181
|
-
if (!row.
|
|
182
|
-
|
|
282
|
+
if (!row.modified) continue;
|
|
283
|
+
if (!checkpoint || row.modified > checkpoint) checkpoint = row.modified;
|
|
183
284
|
}
|
|
184
285
|
} catch (err) {
|
|
185
286
|
_didIteratorError = true;
|
|
@@ -195,36 +296,39 @@ var SubscriptionManager = /* @__PURE__ */function () {
|
|
|
195
296
|
}
|
|
196
297
|
}
|
|
197
298
|
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
299
|
+
return {
|
|
300
|
+
rows,
|
|
301
|
+
cursor,
|
|
302
|
+
checkpoint
|
|
303
|
+
};
|
|
304
|
+
})
|
|
305
|
+
}, {
|
|
306
|
+
key: "seedRows",
|
|
307
|
+
value: function seedRows(query, rows) {
|
|
308
|
+
var _iteratorNormalCompletion = true,
|
|
309
|
+
_didIteratorError = false,
|
|
310
|
+
_iteratorError = void 0;
|
|
202
311
|
try {
|
|
203
|
-
for (var
|
|
204
|
-
var
|
|
205
|
-
if (!
|
|
206
|
-
|
|
312
|
+
for (var _iterator = rows[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
313
|
+
var row = _step.value;
|
|
314
|
+
if (!row.doctype) row.doctype = query.doctype;
|
|
315
|
+
this.normalizedCache.upsert(row);
|
|
207
316
|
}
|
|
208
317
|
} catch (err) {
|
|
209
|
-
|
|
210
|
-
|
|
318
|
+
_didIteratorError = true;
|
|
319
|
+
_iteratorError = err;
|
|
211
320
|
} finally {
|
|
212
321
|
try {
|
|
213
|
-
if (!
|
|
214
|
-
|
|
322
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
323
|
+
_iterator.return();
|
|
215
324
|
}
|
|
216
325
|
} finally {
|
|
217
|
-
if (
|
|
218
|
-
throw
|
|
326
|
+
if (_didIteratorError) {
|
|
327
|
+
throw _iteratorError;
|
|
219
328
|
}
|
|
220
329
|
}
|
|
221
330
|
}
|
|
222
|
-
|
|
223
|
-
rows,
|
|
224
|
-
cursor,
|
|
225
|
-
checkpoint
|
|
226
|
-
};
|
|
227
|
-
})
|
|
331
|
+
}
|
|
228
332
|
}, {
|
|
229
333
|
key: "adoptRestoredSubscription",
|
|
230
334
|
value: (
|
|
@@ -245,7 +349,7 @@ var SubscriptionManager = /* @__PURE__ */function () {
|
|
|
245
349
|
if (!subscription) return void 0;
|
|
246
350
|
this.queryKeyToSubId.set(queryKey, restoredId);
|
|
247
351
|
this.subRefCounts.set(restoredId, 1);
|
|
248
|
-
var refresh = this.
|
|
352
|
+
var refresh = this.refreshSubscription(subscription);
|
|
249
353
|
var rows = this.getDocsForSubscription(restoredId);
|
|
250
354
|
return {
|
|
251
355
|
subscriptionId: restoredId,
|
|
@@ -254,53 +358,6 @@ var SubscriptionManager = /* @__PURE__ */function () {
|
|
|
254
358
|
refresh
|
|
255
359
|
};
|
|
256
360
|
})
|
|
257
|
-
}, {
|
|
258
|
-
key: "refreshAdoptedSubscription",
|
|
259
|
-
value: (
|
|
260
|
-
/**
|
|
261
|
-
* Network refresh for an adopted subscription with fresh-subscribe
|
|
262
|
-
* semantics: an authoritative page fetch replaces membership and recomputes
|
|
263
|
-
* the checkpoint (identical to what a brand-new subscribe would produce).
|
|
264
|
-
* On failure (offline) the cached membership and the restored CDC
|
|
265
|
-
* checkpoint are kept and the subscription is marked stale — the next
|
|
266
|
-
* backfill trigger drains changes from that checkpoint. Never rejects.
|
|
267
|
-
*/
|
|
268
|
-
async function refreshAdoptedSubscription(subscription) {
|
|
269
|
-
try {
|
|
270
|
-
var {
|
|
271
|
-
rows,
|
|
272
|
-
cursor,
|
|
273
|
-
checkpoint
|
|
274
|
-
} = await this.fetchInitialRows(subscription.query);
|
|
275
|
-
subscription.checkpoint = checkpoint;
|
|
276
|
-
subscription.cursor = cursor;
|
|
277
|
-
subscription.docIds = rows.map(function (row) {
|
|
278
|
-
return row.name;
|
|
279
|
-
});
|
|
280
|
-
if (rows.length > 0) {
|
|
281
|
-
subscription.boundaries = {
|
|
282
|
-
firstItem: rows[0],
|
|
283
|
-
lastItem: rows[rows.length - 1],
|
|
284
|
-
offset: subscription.query.limitStart || 0,
|
|
285
|
-
pageSize: subscription.query.limit || 20
|
|
286
|
-
};
|
|
287
|
-
}
|
|
288
|
-
subscription.metadata = {
|
|
289
|
-
itemsBeforePage: 0,
|
|
290
|
-
itemsAfterPage: 0
|
|
291
|
-
};
|
|
292
|
-
subscription.stale = false;
|
|
293
|
-
return {
|
|
294
|
-
ok: true
|
|
295
|
-
};
|
|
296
|
-
} catch (error) {
|
|
297
|
-
subscription.stale = true;
|
|
298
|
-
return {
|
|
299
|
-
ok: false,
|
|
300
|
-
error
|
|
301
|
-
};
|
|
302
|
-
}
|
|
303
|
-
})
|
|
304
361
|
}, {
|
|
305
362
|
/**
|
|
306
363
|
* Registers a subscription restored from a persisted snapshot. Restored
|
|
@@ -424,6 +481,7 @@ var SubscriptionManager = /* @__PURE__ */function () {
|
|
|
424
481
|
this.subRefCounts.set(subscriptionId, refCount);
|
|
425
482
|
return;
|
|
426
483
|
}
|
|
484
|
+
this.refreshes.delete(subscriptionId);
|
|
427
485
|
this.subRefCounts.delete(subscriptionId);
|
|
428
486
|
var queryKey;
|
|
429
487
|
var _iteratorNormalCompletion = true,
|
|
@@ -1054,6 +1112,7 @@ var SubscriptionManager = /* @__PURE__ */function () {
|
|
|
1054
1112
|
}, {
|
|
1055
1113
|
key: "clear",
|
|
1056
1114
|
value: function clear() {
|
|
1115
|
+
this.refreshes.clear();
|
|
1057
1116
|
this.subscriptions.clear();
|
|
1058
1117
|
this.queryKeyToSubId.clear();
|
|
1059
1118
|
this.subRefCounts.clear();
|