@multiplatform.one/frappe 9.1.0 → 9.3.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/dist/cjs/auth.cjs +5 -1
- package/dist/cjs/auth.native.js +5 -1
- package/dist/cjs/auth.native.js.map +1 -1
- package/dist/cjs/core/http.cjs +21 -6
- package/dist/cjs/core/http.native.js +27 -6
- package/dist/cjs/core/http.native.js.map +1 -1
- package/dist/cjs/core/sessionGate.cjs +121 -0
- package/dist/cjs/core/sessionGate.native.js +284 -0
- package/dist/cjs/core/sessionGate.native.js.map +1 -0
- package/dist/cjs/sync/realtime.cjs +2 -1
- package/dist/cjs/sync/realtime.native.js +2 -1
- package/dist/cjs/sync/realtime.native.js.map +1 -1
- package/dist/esm/auth.mjs +5 -1
- package/dist/esm/auth.mjs.map +1 -1
- package/dist/esm/auth.native.js +5 -1
- package/dist/esm/auth.native.js.map +1 -1
- package/dist/esm/core/http.mjs +21 -6
- package/dist/esm/core/http.mjs.map +1 -1
- package/dist/esm/core/http.native.js +27 -6
- package/dist/esm/core/http.native.js.map +1 -1
- package/dist/esm/core/sessionGate.mjs +94 -0
- package/dist/esm/core/sessionGate.mjs.map +1 -0
- package/dist/esm/core/sessionGate.native.js +254 -0
- package/dist/esm/core/sessionGate.native.js.map +1 -0
- package/dist/esm/sync/realtime.mjs +2 -1
- package/dist/esm/sync/realtime.mjs.map +1 -1
- package/dist/esm/sync/realtime.native.js +2 -1
- package/dist/esm/sync/realtime.native.js.map +1 -1
- package/dist/jsx/auth.mjs +5 -1
- package/dist/jsx/auth.mjs.map +1 -1
- package/dist/jsx/auth.native.js +5 -1
- package/dist/jsx/auth.native.js.map +1 -1
- package/dist/jsx/core/http.mjs +21 -6
- package/dist/jsx/core/http.mjs.map +1 -1
- package/dist/jsx/core/http.native.js +27 -6
- package/dist/jsx/core/http.native.js.map +1 -1
- package/dist/jsx/core/sessionGate.mjs +94 -0
- package/dist/jsx/core/sessionGate.mjs.map +1 -0
- package/dist/jsx/core/sessionGate.native.js +284 -0
- package/dist/jsx/core/sessionGate.native.js.map +1 -0
- package/dist/jsx/sync/realtime.mjs +2 -1
- package/dist/jsx/sync/realtime.mjs.map +1 -1
- package/dist/jsx/sync/realtime.native.js +2 -1
- package/dist/jsx/sync/realtime.native.js.map +1 -1
- package/package.json +7 -7
- package/src/auth.sessionRace.spec.ts +209 -0
- package/src/auth.spec.ts +33 -14
- package/src/auth.ts +7 -5
- package/src/core/http.spec.ts +16 -10
- package/src/core/http.ts +28 -6
- package/src/core/sessionGate.ts +140 -0
- package/src/sync/realtime.spec.ts +23 -4
- package/src/sync/realtime.ts +2 -1
- package/types/auth.d.ts.map +1 -1
- package/types/core/http.d.ts +5 -1
- package/types/core/http.d.ts.map +1 -1
- package/types/core/sessionGate.d.ts +29 -0
- package/types/core/sessionGate.d.ts.map +1 -0
- package/types/sync/realtime.d.ts.map +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getCookie, setCookie, deleteCookie, isNative } from "@multiplatform.one/platform";
|
|
2
2
|
import { isBrowser } from "../util.native.js";
|
|
3
3
|
import { readServerMessages } from "./serverMessages.native.js";
|
|
4
|
+
import { sendThroughSessionGate } from "./sessionGate.native.js";
|
|
4
5
|
import { AuthType, FrappeError, HttpMethod } from "./types.native.js";
|
|
5
6
|
function _class_call_check(instance, Constructor) {
|
|
6
7
|
if (!(instance instanceof Constructor)) {
|
|
@@ -190,7 +191,7 @@ var HttpClient = /* @__PURE__ */function () {
|
|
|
190
191
|
value: async function fetchNativeCsrfToken() {
|
|
191
192
|
try {
|
|
192
193
|
var rpcUrl = this.resolveURL("/api/method/frappe.sessions.get_csrf_token");
|
|
193
|
-
var res = await
|
|
194
|
+
var res = await this.sendGated(rpcUrl, {
|
|
194
195
|
method: "GET",
|
|
195
196
|
credentials: "include"
|
|
196
197
|
});
|
|
@@ -201,7 +202,7 @@ var HttpClient = /* @__PURE__ */function () {
|
|
|
201
202
|
} catch (unused) {}
|
|
202
203
|
try {
|
|
203
204
|
var appUrl = this.resolveURL("/app");
|
|
204
|
-
var res1 = await
|
|
205
|
+
var res1 = await this.sendGated(appUrl, {
|
|
205
206
|
method: "GET",
|
|
206
207
|
credentials: "include"
|
|
207
208
|
});
|
|
@@ -213,6 +214,23 @@ var HttpClient = /* @__PURE__ */function () {
|
|
|
213
214
|
} catch (unused) {}
|
|
214
215
|
return void 0;
|
|
215
216
|
}
|
|
217
|
+
}, {
|
|
218
|
+
key: "sendGated",
|
|
219
|
+
value: function sendGated(url, init) {
|
|
220
|
+
var sessionChange = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
|
|
221
|
+
var _init_method;
|
|
222
|
+
var method = ((_init_method = init.method) !== null && _init_method !== void 0 ? _init_method : HttpMethod.Get).toUpperCase();
|
|
223
|
+
return sendThroughSessionGate(splitBaseURL(url).origin, {
|
|
224
|
+
sessionChange,
|
|
225
|
+
replayable: method === HttpMethod.Get || method === HttpMethod.Head,
|
|
226
|
+
signal: init.signal
|
|
227
|
+
}, function (signal) {
|
|
228
|
+
return fetch(url, {
|
|
229
|
+
...init,
|
|
230
|
+
signal
|
|
231
|
+
});
|
|
232
|
+
});
|
|
233
|
+
}
|
|
216
234
|
}, {
|
|
217
235
|
key: "invalidateNativeCsrfToken",
|
|
218
236
|
value: function invalidateNativeCsrfToken() {
|
|
@@ -416,13 +434,15 @@ var HttpClient = /* @__PURE__ */function () {
|
|
|
416
434
|
if (csrf) headers.set("X-Frappe-CSRF-Token", csrf);
|
|
417
435
|
}
|
|
418
436
|
var makeRequest = function makeRequest2() {
|
|
419
|
-
|
|
437
|
+
var init = {
|
|
420
438
|
method,
|
|
421
439
|
headers,
|
|
422
440
|
credentials,
|
|
423
441
|
body,
|
|
424
442
|
signal: request === null || request === void 0 ? void 0 : request.signal
|
|
425
|
-
}
|
|
443
|
+
};
|
|
444
|
+
if (!cookieAuth || !isBrowser()) return fetch(url, init);
|
|
445
|
+
return _this.sendGated(url, init, request === null || request === void 0 ? void 0 : request.sessionChange);
|
|
426
446
|
};
|
|
427
447
|
var lastError;
|
|
428
448
|
var attempt = 0;
|
|
@@ -488,10 +508,11 @@ var HttpClient = /* @__PURE__ */function () {
|
|
|
488
508
|
}
|
|
489
509
|
}, {
|
|
490
510
|
key: "post",
|
|
491
|
-
value: function post(path, body, headers) {
|
|
511
|
+
value: function post(path, body, headers, options) {
|
|
492
512
|
return this.request(HttpMethod.Post, path, {
|
|
493
513
|
headers,
|
|
494
|
-
body
|
|
514
|
+
body,
|
|
515
|
+
...options
|
|
495
516
|
});
|
|
496
517
|
}
|
|
497
518
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getCookie","setCookie","deleteCookie","isNative","isBrowser","readServerMessages","AuthType","FrappeError","HttpMethod","_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","value","_instanceof","left","right","Symbol","hasInstance","_type_of","constructor","defaultRetryConfig","baseDelayMs","exponentialBackoff","maxDelayMs","maxRetries","retryOnNetworkError","retryStatusCodes","isAbortError","err","signal","aborted","Error","name","isBodyInit","body","ArrayBuffer","isView","Blob","FormData","ReadableStream","URLSearchParams","errorMessageFromPayload","payload","statusText","message","trim","serverMessages","_server_messages","join","exception","exc","lines","split","flatMap","line","map","filter","lastFrame","at","replace","String","splitBaseURL","baseURL","match","exec","origin","pathname","authScheme","type","token","test","Token","Bearer","trimTrailingSlashes","end","slice","HttpClient","HttpClient2","auth","retryConfig","setLanguage","lang","_language","getLanguage","syncUserLanguage","user","post","doctype","fieldname","ensureNativeCsrfToken","_this","_this_csrfBootstrap","csrfBootstrapDone","csrfToken","csrfBootstrap","fetchNativeCsrfToken","then","finally","rpcUrl","resolveURL","res","fetch","method","credentials","ok","json","unused","appUrl","res1","html","text","invalidateNativeCsrfToken","path","prefix","absolutePath","startsWith","requestCredentials","_ref","_this_auth","_this_auth1","useToken","getAuthHeaders","_this_auth2","raw","Authorization","shouldRetryError","attempt","shouldRetry","Number","Boolean","statusCode","status","_this_retryConfig_retryStatusCodes","includes","getRetryDelay","_this_retryConfig_baseDelayMs","_this_retryConfig_maxDelayMs","_this_retryConfig_baseDelayMs1","delay","Math","pow","min","request","_this_retryConfig_maxRetries","_headers_get","_headers_get1","url","headers","Headers","contentType","get","formData","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","entries","iterator","_step","next","done","append","return","set","searchParams","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","key1","value1"],"sources":["../../../src/core/http.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["getCookie","setCookie","deleteCookie","isNative","isBrowser","readServerMessages","sendThroughSessionGate","AuthType","FrappeError","HttpMethod","_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","value","_instanceof","left","right","Symbol","hasInstance","_type_of","constructor","defaultRetryConfig","baseDelayMs","exponentialBackoff","maxDelayMs","maxRetries","retryOnNetworkError","retryStatusCodes","isAbortError","err","signal","aborted","Error","name","isBodyInit","body","ArrayBuffer","isView","Blob","FormData","ReadableStream","URLSearchParams","errorMessageFromPayload","payload","statusText","message","trim","serverMessages","_server_messages","join","exception","exc","lines","split","flatMap","line","map","filter","lastFrame","at","replace","String","splitBaseURL","baseURL","match","exec","origin","pathname","authScheme","type","token","test","Token","Bearer","trimTrailingSlashes","end","slice","HttpClient","HttpClient2","auth","retryConfig","setLanguage","lang","_language","getLanguage","syncUserLanguage","user","post","doctype","fieldname","ensureNativeCsrfToken","_this","_this_csrfBootstrap","csrfBootstrapDone","csrfToken","csrfBootstrap","fetchNativeCsrfToken","then","finally","rpcUrl","resolveURL","res","sendGated","method","credentials","ok","json","unused","appUrl","res1","html","text","url","init","sessionChange","arguments","_init_method","Get","toUpperCase","replayable","Head","fetch","invalidateNativeCsrfToken","path","prefix","absolutePath","startsWith","requestCredentials","_ref","_this_auth","_this_auth1","useToken","getAuthHeaders","contentType","_this_auth2","raw","Authorization","shouldRetryError","attempt","shouldRetry","Number","Boolean","statusCode","status","_this_retryConfig_retryStatusCodes","includes","getRetryDelay","_this_retryConfig_baseDelayMs","_this_retryConfig_maxDelayMs","_this_retryConfig_baseDelayMs1","delay","Math","pow","min","request","_this_retryConfig_maxRetries","_headers_get","_headers_get1","headers","Headers","get","formData","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","entries","iterator","_step","next","done","append","return","set","searchParams","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","key1","value1"],"sources":["../../../src/core/http.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
const SESSION_CHANGE_WAIT_MS = 5e3;
|
|
2
|
+
class SessionChangedError extends Error {
|
|
3
|
+
constructor() {
|
|
4
|
+
super("Request dropped: the session changed while it was in flight");
|
|
5
|
+
this.name = "AbortError";
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
const gates = /* @__PURE__ */new Map();
|
|
9
|
+
function gateFor(origin) {
|
|
10
|
+
let gate = gates.get(origin);
|
|
11
|
+
if (!gate) {
|
|
12
|
+
gate = {
|
|
13
|
+
inFlight: /* @__PURE__ */new Set(),
|
|
14
|
+
idle: []
|
|
15
|
+
};
|
|
16
|
+
gates.set(origin, gate);
|
|
17
|
+
}
|
|
18
|
+
return gate;
|
|
19
|
+
}
|
|
20
|
+
async function sendOnce(gate, signal, send) {
|
|
21
|
+
while (gate.change) await gate.change;
|
|
22
|
+
const sent = {
|
|
23
|
+
controller: new AbortController(),
|
|
24
|
+
dropped: false
|
|
25
|
+
};
|
|
26
|
+
const forward = () => sent.controller.abort(signal?.reason);
|
|
27
|
+
if (signal?.aborted) forward();else signal?.addEventListener("abort", forward, {
|
|
28
|
+
once: true
|
|
29
|
+
});
|
|
30
|
+
gate.inFlight.add(sent);
|
|
31
|
+
try {
|
|
32
|
+
return {
|
|
33
|
+
sent,
|
|
34
|
+
ok: true,
|
|
35
|
+
result: await send(sent.controller.signal)
|
|
36
|
+
};
|
|
37
|
+
} catch (error) {
|
|
38
|
+
return {
|
|
39
|
+
sent,
|
|
40
|
+
ok: false,
|
|
41
|
+
error
|
|
42
|
+
};
|
|
43
|
+
} finally {
|
|
44
|
+
signal?.removeEventListener("abort", forward);
|
|
45
|
+
gate.inFlight.delete(sent);
|
|
46
|
+
if (gate.inFlight.size === 0) for (const wake of gate.idle.splice(0)) wake();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
async function sendRequest(gate, options, send) {
|
|
50
|
+
for (;;) {
|
|
51
|
+
const outcome = await sendOnce(gate, options.signal, send);
|
|
52
|
+
if (!outcome.sent.dropped) {
|
|
53
|
+
if (!outcome.ok) throw outcome.error;
|
|
54
|
+
return outcome.result;
|
|
55
|
+
}
|
|
56
|
+
if (!options.replayable) throw new SessionChangedError();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function waitForIdle(gate) {
|
|
60
|
+
if (gate.inFlight.size === 0) return Promise.resolve(true);
|
|
61
|
+
let timer;
|
|
62
|
+
const idle = new Promise(resolve => {
|
|
63
|
+
gate.idle.push(() => resolve(true));
|
|
64
|
+
});
|
|
65
|
+
const capped = new Promise(resolve => {
|
|
66
|
+
timer = setTimeout(() => resolve(false), SESSION_CHANGE_WAIT_MS);
|
|
67
|
+
});
|
|
68
|
+
return Promise.race([idle, capped]).finally(() => clearTimeout(timer));
|
|
69
|
+
}
|
|
70
|
+
async function sendSessionChange(gate, options, send) {
|
|
71
|
+
while (gate.change) await gate.change;
|
|
72
|
+
let release = () => {};
|
|
73
|
+
gate.change = new Promise(resolve => {
|
|
74
|
+
release = resolve;
|
|
75
|
+
});
|
|
76
|
+
try {
|
|
77
|
+
if (!(await waitForIdle(gate))) {
|
|
78
|
+
for (const sent of gate.inFlight) {
|
|
79
|
+
sent.dropped = true;
|
|
80
|
+
sent.controller.abort(new SessionChangedError());
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return await send(options.signal ?? void 0);
|
|
84
|
+
} finally {
|
|
85
|
+
gate.change = void 0;
|
|
86
|
+
release();
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function sendThroughSessionGate(origin, options, send) {
|
|
90
|
+
const gate = gateFor(origin);
|
|
91
|
+
return options.sessionChange ? sendSessionChange(gate, options, send) : sendRequest(gate, options, send);
|
|
92
|
+
}
|
|
93
|
+
export { SESSION_CHANGE_WAIT_MS, SessionChangedError, sendThroughSessionGate };
|
|
94
|
+
//# sourceMappingURL=sessionGate.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SESSION_CHANGE_WAIT_MS","SessionChangedError","Error","constructor","name","gates","Map","gateFor","origin","gate","get","inFlight","Set","idle","set","sendOnce","signal","send","change","sent","controller","AbortController","dropped","forward","abort","reason","aborted","addEventListener","once","add","ok","result","error","removeEventListener","delete","size","wake","splice","sendRequest","options","outcome","replayable","waitForIdle","Promise","resolve","timer","push","capped","setTimeout","race","finally","clearTimeout","sendSessionChange","release","sendThroughSessionGate","sessionChange"],"sources":["../../../src/core/sessionGate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
function _assert_this_initialized(self) {
|
|
2
|
+
if (self === void 0) {
|
|
3
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
4
|
+
}
|
|
5
|
+
return self;
|
|
6
|
+
}
|
|
7
|
+
function _call_super(_this, derived, args) {
|
|
8
|
+
derived = _get_prototype_of(derived);
|
|
9
|
+
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
10
|
+
}
|
|
11
|
+
function _class_call_check(instance, Constructor) {
|
|
12
|
+
if (!(instance instanceof Constructor)) {
|
|
13
|
+
throw new TypeError("Cannot call a class as a function");
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function _construct(Parent, args, Class) {
|
|
17
|
+
if (_is_native_reflect_construct()) {
|
|
18
|
+
_construct = Reflect.construct;
|
|
19
|
+
} else {
|
|
20
|
+
_construct = function construct(Parent2, args2, Class2) {
|
|
21
|
+
var a = [null];
|
|
22
|
+
a.push.apply(a, args2);
|
|
23
|
+
var Constructor = Function.bind.apply(Parent2, a);
|
|
24
|
+
var instance = new Constructor();
|
|
25
|
+
if (Class2) _set_prototype_of(instance, Class2.prototype);
|
|
26
|
+
return instance;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
return _construct.apply(null, arguments);
|
|
30
|
+
}
|
|
31
|
+
function _get_prototype_of(o) {
|
|
32
|
+
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o2) {
|
|
33
|
+
return o2.__proto__ || Object.getPrototypeOf(o2);
|
|
34
|
+
};
|
|
35
|
+
return _get_prototype_of(o);
|
|
36
|
+
}
|
|
37
|
+
function _inherits(subClass, superClass) {
|
|
38
|
+
if (typeof superClass !== "function" && superClass !== null) {
|
|
39
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
40
|
+
}
|
|
41
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
42
|
+
constructor: {
|
|
43
|
+
value: subClass,
|
|
44
|
+
writable: true,
|
|
45
|
+
configurable: true
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
if (superClass) _set_prototype_of(subClass, superClass);
|
|
49
|
+
}
|
|
50
|
+
function _is_native_function(fn) {
|
|
51
|
+
return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
|
52
|
+
}
|
|
53
|
+
function _possible_constructor_return(self, call) {
|
|
54
|
+
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
55
|
+
return call;
|
|
56
|
+
}
|
|
57
|
+
return _assert_this_initialized(self);
|
|
58
|
+
}
|
|
59
|
+
function _set_prototype_of(o, p) {
|
|
60
|
+
_set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o2, p2) {
|
|
61
|
+
o2.__proto__ = p2;
|
|
62
|
+
return o2;
|
|
63
|
+
};
|
|
64
|
+
return _set_prototype_of(o, p);
|
|
65
|
+
}
|
|
66
|
+
function _type_of(obj) {
|
|
67
|
+
"@swc/helpers - typeof";
|
|
68
|
+
|
|
69
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
70
|
+
}
|
|
71
|
+
function _wrap_native_super(Class) {
|
|
72
|
+
var _cache = typeof Map === "function" ? /* @__PURE__ */new Map() : void 0;
|
|
73
|
+
_wrap_native_super = function wrapNativeSuper(Class2) {
|
|
74
|
+
if (Class2 === null || !_is_native_function(Class2)) return Class2;
|
|
75
|
+
if (typeof Class2 !== "function") {
|
|
76
|
+
throw new TypeError("Super expression must either be null or a function");
|
|
77
|
+
}
|
|
78
|
+
if (typeof _cache !== "undefined") {
|
|
79
|
+
if (_cache.has(Class2)) return _cache.get(Class2);
|
|
80
|
+
_cache.set(Class2, Wrapper);
|
|
81
|
+
}
|
|
82
|
+
function Wrapper() {
|
|
83
|
+
return _construct(Class2, arguments, _get_prototype_of(this).constructor);
|
|
84
|
+
}
|
|
85
|
+
Wrapper.prototype = Object.create(Class2.prototype, {
|
|
86
|
+
constructor: {
|
|
87
|
+
value: Wrapper,
|
|
88
|
+
enumerable: false,
|
|
89
|
+
writable: true,
|
|
90
|
+
configurable: true
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
return _set_prototype_of(Wrapper, Class2);
|
|
94
|
+
};
|
|
95
|
+
return _wrap_native_super(Class);
|
|
96
|
+
}
|
|
97
|
+
function _is_native_reflect_construct() {
|
|
98
|
+
try {
|
|
99
|
+
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
|
|
100
|
+
} catch (_) {}
|
|
101
|
+
return (_is_native_reflect_construct = function () {
|
|
102
|
+
return !!result;
|
|
103
|
+
})();
|
|
104
|
+
}
|
|
105
|
+
var SESSION_CHANGE_WAIT_MS = 5e3;
|
|
106
|
+
var SessionChangedError = /* @__PURE__ */function (Error1) {
|
|
107
|
+
"use strict";
|
|
108
|
+
|
|
109
|
+
_inherits(SessionChangedError2, Error1);
|
|
110
|
+
function SessionChangedError2() {
|
|
111
|
+
_class_call_check(this, SessionChangedError2);
|
|
112
|
+
var _this;
|
|
113
|
+
_this = _call_super(this, SessionChangedError2, ["Request dropped: the session changed while it was in flight"]);
|
|
114
|
+
_this.name = "AbortError";
|
|
115
|
+
return _this;
|
|
116
|
+
}
|
|
117
|
+
return SessionChangedError2;
|
|
118
|
+
}(_wrap_native_super(Error));
|
|
119
|
+
var gates = /* @__PURE__ */new Map();
|
|
120
|
+
function gateFor(origin) {
|
|
121
|
+
var gate = gates.get(origin);
|
|
122
|
+
if (!gate) {
|
|
123
|
+
gate = {
|
|
124
|
+
inFlight: /* @__PURE__ */new Set(),
|
|
125
|
+
idle: []
|
|
126
|
+
};
|
|
127
|
+
gates.set(origin, gate);
|
|
128
|
+
}
|
|
129
|
+
return gate;
|
|
130
|
+
}
|
|
131
|
+
async function sendOnce(gate, signal, send) {
|
|
132
|
+
while (gate.change) await gate.change;
|
|
133
|
+
var sent = {
|
|
134
|
+
controller: new AbortController(),
|
|
135
|
+
dropped: false
|
|
136
|
+
};
|
|
137
|
+
var forward = function forward2() {
|
|
138
|
+
return sent.controller.abort(signal === null || signal === void 0 ? void 0 : signal.reason);
|
|
139
|
+
};
|
|
140
|
+
if (signal === null || signal === void 0 ? void 0 : signal.aborted) forward();else signal === null || signal === void 0 ? void 0 : signal.addEventListener("abort", forward, {
|
|
141
|
+
once: true
|
|
142
|
+
});
|
|
143
|
+
gate.inFlight.add(sent);
|
|
144
|
+
try {
|
|
145
|
+
return {
|
|
146
|
+
sent,
|
|
147
|
+
ok: true,
|
|
148
|
+
result: await send(sent.controller.signal)
|
|
149
|
+
};
|
|
150
|
+
} catch (error) {
|
|
151
|
+
return {
|
|
152
|
+
sent,
|
|
153
|
+
ok: false,
|
|
154
|
+
error
|
|
155
|
+
};
|
|
156
|
+
} finally {
|
|
157
|
+
signal === null || signal === void 0 ? void 0 : signal.removeEventListener("abort", forward);
|
|
158
|
+
gate.inFlight.delete(sent);
|
|
159
|
+
var _iteratorNormalCompletion = true,
|
|
160
|
+
_didIteratorError = false,
|
|
161
|
+
_iteratorError = void 0;
|
|
162
|
+
if (gate.inFlight.size === 0) try {
|
|
163
|
+
for (var _iterator = gate.idle.splice(0)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
164
|
+
var wake = _step.value;
|
|
165
|
+
wake();
|
|
166
|
+
}
|
|
167
|
+
} catch (err) {
|
|
168
|
+
_didIteratorError = true;
|
|
169
|
+
_iteratorError = err;
|
|
170
|
+
} finally {
|
|
171
|
+
try {
|
|
172
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
173
|
+
_iterator.return();
|
|
174
|
+
}
|
|
175
|
+
} finally {
|
|
176
|
+
if (_didIteratorError) {
|
|
177
|
+
throw _iteratorError;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
async function sendRequest(gate, options, send) {
|
|
184
|
+
for (;;) {
|
|
185
|
+
var outcome = await sendOnce(gate, options.signal, send);
|
|
186
|
+
if (!outcome.sent.dropped) {
|
|
187
|
+
if (!outcome.ok) throw outcome.error;
|
|
188
|
+
return outcome.result;
|
|
189
|
+
}
|
|
190
|
+
if (!options.replayable) throw new SessionChangedError();
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
function waitForIdle(gate) {
|
|
194
|
+
if (gate.inFlight.size === 0) return Promise.resolve(true);
|
|
195
|
+
var timer;
|
|
196
|
+
var idle = new Promise(function (resolve) {
|
|
197
|
+
gate.idle.push(function () {
|
|
198
|
+
return resolve(true);
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
var capped = new Promise(function (resolve) {
|
|
202
|
+
timer = setTimeout(function () {
|
|
203
|
+
return resolve(false);
|
|
204
|
+
}, SESSION_CHANGE_WAIT_MS);
|
|
205
|
+
});
|
|
206
|
+
return Promise.race([idle, capped]).finally(function () {
|
|
207
|
+
return clearTimeout(timer);
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
async function sendSessionChange(gate, options, send) {
|
|
211
|
+
while (gate.change) await gate.change;
|
|
212
|
+
var release = function release2() {};
|
|
213
|
+
gate.change = new Promise(function (resolve) {
|
|
214
|
+
release = resolve;
|
|
215
|
+
});
|
|
216
|
+
try {
|
|
217
|
+
var _options_signal;
|
|
218
|
+
if (!(await waitForIdle(gate))) {
|
|
219
|
+
var _iteratorNormalCompletion = true,
|
|
220
|
+
_didIteratorError = false,
|
|
221
|
+
_iteratorError = void 0;
|
|
222
|
+
try {
|
|
223
|
+
for (var _iterator = gate.inFlight[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
224
|
+
var sent = _step.value;
|
|
225
|
+
sent.dropped = true;
|
|
226
|
+
sent.controller.abort(new SessionChangedError());
|
|
227
|
+
}
|
|
228
|
+
} catch (err) {
|
|
229
|
+
_didIteratorError = true;
|
|
230
|
+
_iteratorError = err;
|
|
231
|
+
} finally {
|
|
232
|
+
try {
|
|
233
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
234
|
+
_iterator.return();
|
|
235
|
+
}
|
|
236
|
+
} finally {
|
|
237
|
+
if (_didIteratorError) {
|
|
238
|
+
throw _iteratorError;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return await send((_options_signal = options.signal) !== null && _options_signal !== void 0 ? _options_signal : void 0);
|
|
244
|
+
} finally {
|
|
245
|
+
gate.change = void 0;
|
|
246
|
+
release();
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
function sendThroughSessionGate(origin, options, send) {
|
|
250
|
+
var gate = gateFor(origin);
|
|
251
|
+
return options.sessionChange ? sendSessionChange(gate, options, send) : sendRequest(gate, options, send);
|
|
252
|
+
}
|
|
253
|
+
export { SESSION_CHANGE_WAIT_MS, SessionChangedError, sendThroughSessionGate };
|
|
254
|
+
//# sourceMappingURL=sessionGate.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_assert_this_initialized","self","ReferenceError","_call_super","_this","derived","args","_get_prototype_of","_possible_constructor_return","_is_native_reflect_construct","Reflect","construct","constructor","apply","_class_call_check","instance","Constructor","TypeError","_construct","Parent","Class","Parent2","args2","Class2","a","push","Function","bind","_set_prototype_of","prototype","arguments","o","Object","setPrototypeOf","getPrototypeOf","o2","__proto__","_inherits","subClass","superClass","create","value","writable","configurable","_is_native_function","fn","toString","call","indexOf","_type_of","p","p2","obj","Symbol","_wrap_native_super","_cache","Map","wrapNativeSuper"],"sources":["../../../src/core/sessionGate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -106,6 +106,7 @@ class RealtimeHandler {
|
|
|
106
106
|
* Handles successful connection.
|
|
107
107
|
*/
|
|
108
108
|
onConnected() {
|
|
109
|
+
const reconnect = this.hasConnected;
|
|
109
110
|
this.hasConnected = true;
|
|
110
111
|
this.connected = true;
|
|
111
112
|
this.reconnectAttempts = 0;
|
|
@@ -113,7 +114,7 @@ class RealtimeHandler {
|
|
|
113
114
|
clearTimeout(this.reconnectTimer);
|
|
114
115
|
this.reconnectTimer = void 0;
|
|
115
116
|
}
|
|
116
|
-
if (this.options.onRealtimeEvent) {
|
|
117
|
+
if (reconnect && this.options.onRealtimeEvent) {
|
|
117
118
|
this.options.onRealtimeEvent({
|
|
118
119
|
type: RealtimeEventType.Connected
|
|
119
120
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RealtimeEventType","RehydrationReason","RealtimeHandler","reconnectAttempts","reconnectTimer","hasConnected","connected","connectionConfig","watchedDoctypes","Map","inflightFetches","db","realtime","normalizedCache","subscriptionManager","rehydrationManager","options","constructor","reconnectBaseDelay","reconnectMaxDelay","reconnectJitter","exponentialBackoff","setupRealtimeHandlers","setupConnectionManagement","on","payload","onRealtimeEvent","type","DocUpdate","onDocChanged","ListUpdate","DocChanged","DocDeleted","onDocDeleted","PermEpochBump","onResetCache","onConnected","onDisconnected","attemptConnection","clearTimeout","Connected","onBackfillAll","onStoreChange","console","debug","scheduleReconnection","delay","calculateReconnectDelay","setTimeout","Math","min","jitterRange","jitter","random","round","max","watchDoctype","doctype","count","get","set","Promise","resolve","subscribeList","catch","err","warn","unwatchDoctype","delete","unsubscribeList","unwatchAll","keys","clear","key","name","inflight","fetchPromise","fetchAndReconcile","finally","document","getDoc","upsert","subscriptionsNeedingRehydration","updateSubscriptionMembership","subscription","scheduleRehydration","RemoteCreate","status","remove","affectedSubscriptions","removeFromAllSubscriptions","Delete","isRealtimeHealthy","isHealthy","getIsConnected","getConnectionState","everConnected","dispose","disconnect"],"sources":["../../../src/sync/realtime.ts"],"sourcesContent":[null],"mappings":"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
|
|
1
|
+
{"version":3,"names":["RealtimeEventType","RehydrationReason","RealtimeHandler","reconnectAttempts","reconnectTimer","hasConnected","connected","connectionConfig","watchedDoctypes","Map","inflightFetches","db","realtime","normalizedCache","subscriptionManager","rehydrationManager","options","constructor","reconnectBaseDelay","reconnectMaxDelay","reconnectJitter","exponentialBackoff","setupRealtimeHandlers","setupConnectionManagement","on","payload","onRealtimeEvent","type","DocUpdate","onDocChanged","ListUpdate","DocChanged","DocDeleted","onDocDeleted","PermEpochBump","onResetCache","onConnected","onDisconnected","attemptConnection","reconnect","clearTimeout","Connected","onBackfillAll","onStoreChange","console","debug","scheduleReconnection","delay","calculateReconnectDelay","setTimeout","Math","min","jitterRange","jitter","random","round","max","watchDoctype","doctype","count","get","set","Promise","resolve","subscribeList","catch","err","warn","unwatchDoctype","delete","unsubscribeList","unwatchAll","keys","clear","key","name","inflight","fetchPromise","fetchAndReconcile","finally","document","getDoc","upsert","subscriptionsNeedingRehydration","updateSubscriptionMembership","subscription","scheduleRehydration","RemoteCreate","status","remove","affectedSubscriptions","removeFromAllSubscriptions","Delete","isRealtimeHealthy","isHealthy","getIsConnected","getConnectionState","everConnected","dispose","disconnect"],"sources":["../../../src/sync/realtime.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -153,6 +153,7 @@ var RealtimeHandler = /* @__PURE__ */function () {
|
|
|
153
153
|
*/
|
|
154
154
|
function onConnected() {
|
|
155
155
|
var _this_options_onStoreChange, _this_options;
|
|
156
|
+
var reconnect = this.hasConnected;
|
|
156
157
|
this.hasConnected = true;
|
|
157
158
|
this.connected = true;
|
|
158
159
|
this.reconnectAttempts = 0;
|
|
@@ -160,7 +161,7 @@ var RealtimeHandler = /* @__PURE__ */function () {
|
|
|
160
161
|
clearTimeout(this.reconnectTimer);
|
|
161
162
|
this.reconnectTimer = void 0;
|
|
162
163
|
}
|
|
163
|
-
if (this.options.onRealtimeEvent) {
|
|
164
|
+
if (reconnect && this.options.onRealtimeEvent) {
|
|
164
165
|
this.options.onRealtimeEvent({
|
|
165
166
|
type: RealtimeEventType.Connected
|
|
166
167
|
});
|