on-zero 0.7.1 → 0.7.2

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 (55) hide show
  1. package/dist/cjs/createZeroSQLiteServer.test.cjs +42 -0
  2. package/dist/cjs/createZeroSQLiteServer.test.native.js +45 -0
  3. package/dist/cjs/createZeroSQLiteServer.test.native.js.map +1 -1
  4. package/dist/cjs/httpPull/transport.test.cjs +109 -0
  5. package/dist/cjs/httpPull/transport.test.native.js +148 -0
  6. package/dist/cjs/httpPull/transport.test.native.js.map +1 -1
  7. package/dist/cjs/httpPullTransport.cjs +41 -24
  8. package/dist/cjs/httpPullTransport.native.js +47 -26
  9. package/dist/cjs/httpPullTransport.native.js.map +1 -1
  10. package/dist/cjs/mutations.cjs +5 -1
  11. package/dist/cjs/mutations.native.js +5 -1
  12. package/dist/cjs/mutations.native.js.map +1 -1
  13. package/dist/cjs/mutations.test.cjs +28 -0
  14. package/dist/cjs/mutations.test.native.js +40 -0
  15. package/dist/cjs/mutations.test.native.js.map +1 -0
  16. package/dist/cjs/sqliteRuntime.cjs +2 -2
  17. package/dist/cjs/sqliteRuntime.native.js +4 -4
  18. package/dist/cjs/sqliteRuntime.native.js.map +1 -1
  19. package/dist/esm/createZeroSQLiteServer.test.mjs +42 -0
  20. package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -1
  21. package/dist/esm/createZeroSQLiteServer.test.native.js +45 -0
  22. package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -1
  23. package/dist/esm/httpPull/transport.test.mjs +109 -0
  24. package/dist/esm/httpPull/transport.test.mjs.map +1 -1
  25. package/dist/esm/httpPull/transport.test.native.js +148 -0
  26. package/dist/esm/httpPull/transport.test.native.js.map +1 -1
  27. package/dist/esm/httpPullTransport.mjs +41 -24
  28. package/dist/esm/httpPullTransport.mjs.map +1 -1
  29. package/dist/esm/httpPullTransport.native.js +47 -26
  30. package/dist/esm/httpPullTransport.native.js.map +1 -1
  31. package/dist/esm/mutations.mjs +5 -1
  32. package/dist/esm/mutations.mjs.map +1 -1
  33. package/dist/esm/mutations.native.js +5 -1
  34. package/dist/esm/mutations.native.js.map +1 -1
  35. package/dist/esm/mutations.test.mjs +29 -0
  36. package/dist/esm/mutations.test.mjs.map +1 -0
  37. package/dist/esm/mutations.test.native.js +38 -0
  38. package/dist/esm/mutations.test.native.js.map +1 -0
  39. package/dist/esm/sqliteRuntime.mjs +2 -2
  40. package/dist/esm/sqliteRuntime.mjs.map +1 -1
  41. package/dist/esm/sqliteRuntime.native.js +4 -4
  42. package/dist/esm/sqliteRuntime.native.js.map +1 -1
  43. package/package.json +2 -2
  44. package/readme.md +2 -2
  45. package/src/createZeroSQLiteServer.test.ts +43 -0
  46. package/src/httpPull/transport.test.ts +132 -0
  47. package/src/httpPullTransport.ts +74 -42
  48. package/src/mutations.test.ts +38 -0
  49. package/src/mutations.ts +10 -2
  50. package/src/sqliteRuntime.ts +4 -4
  51. package/types/httpPullTransport.d.ts +14 -1
  52. package/types/httpPullTransport.d.ts.map +1 -1
  53. package/types/mutations.d.ts.map +1 -1
  54. package/types/mutations.test.d.ts +2 -0
  55. package/types/mutations.test.d.ts.map +1 -0
@@ -7,6 +7,20 @@ function _class_call_check(instance, Constructor) {
7
7
  throw new TypeError("Cannot call a class as a function");
8
8
  }
9
9
  }
10
+ function _defineProperties(target, props) {
11
+ for (var i = 0; i < props.length; i++) {
12
+ var descriptor = props[i];
13
+ descriptor.enumerable = descriptor.enumerable || false;
14
+ descriptor.configurable = true;
15
+ if ("value" in descriptor) descriptor.writable = true;
16
+ Object.defineProperty(target, descriptor.key, descriptor);
17
+ }
18
+ }
19
+ function _create_class(Constructor, protoProps, staticProps) {
20
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
21
+ if (staticProps) _defineProperties(Constructor, staticProps);
22
+ return Constructor;
23
+ }
10
24
  function _define_property(obj, key, value) {
11
25
  if (key in obj) {
12
26
  Object.defineProperty(obj, key, {
@@ -24,10 +38,13 @@ var ORIGIN = "https://zero-http.local";
24
38
  var zeros = [];
25
39
  var transports = [];
26
40
  var storageID = 0;
41
+ var restoreNativeWebSocket;
27
42
  afterEach(async function () {
28
43
  var _zeros_pop, _transports_pop;
29
44
  while (zeros.length) await ((_zeros_pop = zeros.pop()) === null || _zeros_pop === void 0 ? void 0 : _zeros_pop.close());
30
45
  while (transports.length) (_transports_pop = transports.pop()) === null || _transports_pop === void 0 ? void 0 : _transports_pop.uninstall();
46
+ restoreNativeWebSocket === null || restoreNativeWebSocket === void 0 ? void 0 : restoreNativeWebSocket();
47
+ restoreNativeWebSocket = void 0;
31
48
  vi.useRealTimers();
32
49
  });
33
50
  describe("zero-http transport", function () {
@@ -780,6 +797,93 @@ describe("zero-http transport", function () {
780
797
  })).toHaveLength(1);
781
798
  expect(errors).toEqual([]);
782
799
  });
800
+ test("authenticated wake appends a freshly minted token when the socket opens", async function () {
801
+ var wakeSockets = useFakeNativeWebSocket();
802
+ var getToken = vi.fn(async function () {
803
+ return "signed token&scope=one";
804
+ });
805
+ var fetch = unchangedPullFetch();
806
+ var transport = installHttpPullTransport({
807
+ origin: ORIGIN,
808
+ fetch,
809
+ wake: {
810
+ getToken
811
+ }
812
+ });
813
+ transports.push(transport);
814
+ openRawSocketWithMessages();
815
+ await eventually(function () {
816
+ return expect(wakeSockets).toHaveLength(1);
817
+ });
818
+ expect(getToken).toHaveBeenCalledTimes(1);
819
+ expect(wakeSockets[0].url).toBe("wss://zero-http.local/wake?clientID=c1&wakeToken=signed%20token%26scope%3Done");
820
+ });
821
+ test("authenticated wake gets a fresh token for every reconnect attempt", async function () {
822
+ var _wakeSockets__onerror, _wakeSockets_;
823
+ var wakeSockets = useFakeNativeWebSocket();
824
+ var getToken = vi.fn().mockResolvedValueOnce("wake-token-1").mockResolvedValueOnce("wake-token-2");
825
+ var transport = installHttpPullTransport({
826
+ origin: ORIGIN,
827
+ fetch: unchangedPullFetch(),
828
+ wake: {
829
+ getToken
830
+ }
831
+ });
832
+ transports.push(transport);
833
+ openRawSocketWithMessages();
834
+ await eventually(function () {
835
+ return expect(wakeSockets).toHaveLength(1);
836
+ });
837
+ (_wakeSockets__onerror = (_wakeSockets_ = wakeSockets[0]).onerror) === null || _wakeSockets__onerror === void 0 ? void 0 : _wakeSockets__onerror.call(_wakeSockets_);
838
+ await eventually(function () {
839
+ return expect(wakeSockets).toHaveLength(2);
840
+ }, 1e3);
841
+ expect(getToken).toHaveBeenCalledTimes(2);
842
+ expect(wakeSockets.map(function (socket) {
843
+ return socket.url;
844
+ })).toEqual(["wss://zero-http.local/wake?clientID=c1&wakeToken=wake-token-1", "wss://zero-http.local/wake?clientID=c1&wakeToken=wake-token-2"]);
845
+ });
846
+ test("wake token rejection leaves pulls healthy and retries the advisory channel", async function () {
847
+ var wakeSockets = useFakeNativeWebSocket();
848
+ var getToken = vi.fn(async function () {
849
+ throw new Error("mint route unavailable");
850
+ });
851
+ var fetch = unchangedPullFetch();
852
+ var transport = installHttpPullTransport({
853
+ origin: ORIGIN,
854
+ fetch,
855
+ wake: {
856
+ getToken
857
+ }
858
+ });
859
+ transports.push(transport);
860
+ openRawSocketWithMessages();
861
+ await eventually(function () {
862
+ return expect(fetch).toHaveBeenCalled();
863
+ });
864
+ var pullsBeforeManualPull = fetch.mock.calls.length;
865
+ await expect(transport.pull()).resolves.toBeUndefined();
866
+ expect(fetch.mock.calls.length).toBeGreaterThan(pullsBeforeManualPull);
867
+ await eventually(function () {
868
+ return expect(getToken).toHaveBeenCalledTimes(2);
869
+ }, 1e3);
870
+ expect(wakeSockets).toHaveLength(0);
871
+ expect(transport.connections).toBe(1);
872
+ });
873
+ test("wake true preserves the bare unauthenticated socket URL", async function () {
874
+ var wakeSockets = useFakeNativeWebSocket();
875
+ var transport = installHttpPullTransport({
876
+ origin: ORIGIN,
877
+ fetch: unchangedPullFetch(),
878
+ wake: true
879
+ });
880
+ transports.push(transport);
881
+ openRawSocketWithMessages();
882
+ await eventually(function () {
883
+ return expect(wakeSockets).toHaveLength(1);
884
+ });
885
+ expect(wakeSockets[0].url).toBe("wss://zero-http.local/wake?clientID=c1");
886
+ });
783
887
  test("non-origin WebSockets pass through to the native implementation", function () {
784
888
  var previous = globalThis.WebSocket;
785
889
  var NativeWebSocket = function NativeWebSocket2(url, protocols) {
@@ -936,6 +1040,50 @@ function jsonResponse(body, init) {
936
1040
  }
937
1041
  });
938
1042
  }
1043
+ function unchangedPullFetch() {
1044
+ return vi.fn(async function (input, init) {
1045
+ var request = recordRequest(input, init);
1046
+ expect(request.path).toBe("/pull");
1047
+ return jsonResponse({
1048
+ cookie: request.body.cookie,
1049
+ unchanged: true
1050
+ });
1051
+ });
1052
+ }
1053
+ function useFakeNativeWebSocket() {
1054
+ var previous = globalThis.WebSocket;
1055
+ var sockets = [];
1056
+ var FakeNativeWebSocket = /* @__PURE__ */function () {
1057
+ "use strict";
1058
+
1059
+ function FakeNativeWebSocket2(url) {
1060
+ _class_call_check(this, FakeNativeWebSocket2);
1061
+ _define_property(this, "url", void 0);
1062
+ _define_property(this, "onmessage", null);
1063
+ _define_property(this, "onclose", null);
1064
+ _define_property(this, "onerror", null);
1065
+ this.url = String(url);
1066
+ sockets.push(this);
1067
+ }
1068
+ _create_class(FakeNativeWebSocket2, [{
1069
+ key: "close",
1070
+ value: function close() {
1071
+ var _this_onclose, _this;
1072
+ (_this_onclose = (_this = this).onclose) === null || _this_onclose === void 0 ? void 0 : _this_onclose.call(_this);
1073
+ }
1074
+ }]);
1075
+ return FakeNativeWebSocket2;
1076
+ }();
1077
+ _define_property(FakeNativeWebSocket, "CONNECTING", 0);
1078
+ _define_property(FakeNativeWebSocket, "OPEN", 1);
1079
+ _define_property(FakeNativeWebSocket, "CLOSING", 2);
1080
+ _define_property(FakeNativeWebSocket, "CLOSED", 3);
1081
+ globalThis.WebSocket = FakeNativeWebSocket;
1082
+ restoreNativeWebSocket = function () {
1083
+ globalThis.WebSocket = previous;
1084
+ };
1085
+ return sockets;
1086
+ }
939
1087
  async function waitForComplete(view) {
940
1088
  return new Promise(function (resolve, reject) {
941
1089
  var timeout = setTimeout(function () {
@@ -1 +1 @@
1
- {"version":3,"names":["Zero","afterEach","describe","expect","test","vi","zeroHttpFixtureMutators","zeroHttpFixtureSchema","ensureHttpPullTransport","installHttpPullTransport","_class_call_check","instance","Constructor","TypeError","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","ORIGIN","zeros","transports","storageID","_zeros_pop","_transports_pop","length","pop","close","uninstall","useRealTimers","requests","cookie","fetch","fn","input","init","request","recordRequest","push","path","toBe","headers","authorization","jsonResponse","lastMutationIDChanges","rowsPatch","op","tableName","id","name","ownerId","projectId","userId","transport","install","zero","createZero","view","query","project","related","materialize","data","waitForComplete","destroy","connections","toEqual","members","body","toBeNull","clientID","any","String","clientGroupID","unchanged","mutation2","mutations","pushResponse","result","eventually","filter","pullsBeforePush","mutation","mutate","create","client","server","find","toMatchObject","pushVersion","requestID","type","args","_requests_find","endsWith","origin","pullOrigin","pushOrigin","some","url","_requests_at","socket","openRawSocketWithMessages","authToken","send","JSON","stringify","auth","pull","at","firstPushStarted","defer","releaseFirstPush","pushRequests","lifecycle","mutationIDs","map","resolve","promise","event","messages","message","pushBody","sleep","toHaveLength","flatMap","param","pushFrameCount","mutationCount","responses","deferred","inFlight","maxInFlight","Math","max","response","shift","Error","openRawSocket","findMessage","baseCookie","startsWith","concurrentA","concurrentB","Promise","all","projectView","userView","user","users","pingTimeoutMs","connection","state","current","error","status","emissions","cleanup","addListener","resultType","parse","toBeGreaterThan","emission","zeroLogs","failPull","failPush","logSink","log","_level","context","_len","arguments","Array","_key","catch","opens","generation","activeGeneration","arg","includes","useFakeTimers","pullCount","first","wsid","advanceTimersByTimeAsync","readyState","CLOSED","delayedOpened","delayedClosed","delayed","attemptStartedAt","performance","now","addEventListener","aborted","pageID","transportID","zeroInstanceID","connectionAttemptID","socketID","code","attemptAgeMs","toBeGreaterThanOrEqual","connectStart","Date","errors","attachStockLifecycle","stale","toContainEqual","objectContaining","previous","globalThis","WebSocket","NativeWebSocket","NativeWebSocket2","protocols","toBeInstanceOf","resetModules","reloaded","second","toMatch","RegExp"],"sources":["../../../src/httpPull/transport.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Zero","afterEach","describe","expect","test","vi","zeroHttpFixtureMutators","zeroHttpFixtureSchema","ensureHttpPullTransport","installHttpPullTransport","_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","ORIGIN","zeros","transports","storageID","restoreNativeWebSocket","_zeros_pop","_transports_pop","pop","close","uninstall","useRealTimers","requests","cookie","fetch","fn","input","init","request","recordRequest","push","path","toBe","headers","authorization","jsonResponse","lastMutationIDChanges","rowsPatch","op","tableName","id","name","ownerId","projectId","userId","transport","install","zero","createZero","view","query","project","related","materialize","data","waitForComplete","destroy","connections","toEqual","members","body","toBeNull","clientID","any","String","clientGroupID","unchanged","mutation2","mutations","pushResponse","result","eventually","filter","pullsBeforePush","mutation","mutate","create","client","server","find","toMatchObject","pushVersion","requestID","type","args","_requests_find","endsWith","origin","pullOrigin","pushOrigin","some","url","_requests_at","socket","openRawSocketWithMessages","authToken","send","JSON","stringify","auth","pull","at","firstPushStarted","defer","releaseFirstPush","pushRequests","lifecycle","mutationIDs","map","resolve","promise","event","messages","message","pushBody","sleep","toHaveLength","flatMap","param","pushFrameCount","mutationCount","responses","deferred","inFlight","maxInFlight","Math","max","response","shift","Error","openRawSocket","findMessage","baseCookie","startsWith","concurrentA","concurrentB","Promise","all","projectView","userView","user","users","pingTimeoutMs","connection","state","current","error","status","emissions","cleanup","addListener","resultType","parse","toBeGreaterThan","emission","zeroLogs","failPull","failPush","logSink","log","_level","context","_len","arguments","Array","_key","catch","opens","generation","activeGeneration","arg","includes","useFakeTimers","pullCount","first","wsid","advanceTimersByTimeAsync","readyState","CLOSED","delayedOpened","delayedClosed","delayed","attemptStartedAt","performance","now","addEventListener","aborted","pageID","transportID","zeroInstanceID","connectionAttemptID","socketID","code","attemptAgeMs","toBeGreaterThanOrEqual","connectStart","Date","errors","attachStockLifecycle","stale","toContainEqual","objectContaining","wakeSockets","useFakeNativeWebSocket","getToken","unchangedPullFetch","wake","toHaveBeenCalledTimes","_wakeSockets__onerror","_wakeSockets_","mockResolvedValueOnce","onerror","call","toHaveBeenCalled","pullsBeforeManualPull","mock","calls","resolves","toBeUndefined","previous","globalThis","WebSocket","NativeWebSocket","NativeWebSocket2","protocols","toBeInstanceOf","resetModules","reloaded","second","toMatch","RegExp"],"sources":["../../../src/httpPull/transport.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -17,8 +17,8 @@ function getHttpPullPageRegistry() {
17
17
  return registry;
18
18
  }
19
19
  function logHttpPullLifecycle(event) {
20
- if (process.env.NODE_ENV === "test") return;
21
- console.info(`[on-zero:http-pull] ${JSON.stringify(event)}`);
20
+ if (process.env.NODE_ENV === "test" || event.type !== "failure") return;
21
+ console.error(`[on-zero:http-pull] ${JSON.stringify(event)}`);
22
22
  }
23
23
  function installHttpPullTransport(opts) {
24
24
  const pageRegistry = getHttpPullPageRegistry();
@@ -42,7 +42,7 @@ function installHttpPullTransport(opts) {
42
42
  nativeWebSocket: previousWebSocket,
43
43
  sockets: /* @__PURE__ */new Set(),
44
44
  pullIntervalMs: opts.pullIntervalMs,
45
- wakeEnabled: opts.wake ?? false,
45
+ wake: opts.wake ?? false,
46
46
  queryTransform: opts.queryTransform,
47
47
  queryForward: opts.queryForward === true,
48
48
  queryAware: opts.queryTransform !== void 0 || opts.queryForward === true,
@@ -163,6 +163,7 @@ class ZeroHttpSocket {
163
163
  openTimer;
164
164
  pullTimer;
165
165
  wakeSocket;
166
+ wakeConnecting = false;
166
167
  wakeReconnectTimer;
167
168
  generation;
168
169
  zeroInstanceID;
@@ -276,7 +277,7 @@ class ZeroHttpSocket {
276
277
  this.run(this.pull());
277
278
  }, this.state.pullIntervalMs);
278
279
  }
279
- if (this.state.wakeEnabled) this.openWakeChannel();
280
+ if (this.state.wake) this.openWakeChannel();
280
281
  }
281
282
  // notification-only wake channel: a real WebSocket to <origin>/wake that
282
283
  // carries no data. any frame means "pull now", so a wake triggers an
@@ -285,28 +286,44 @@ class ZeroHttpSocket {
285
286
  // interval poll remains the safety net that guarantees convergence.
286
287
  openWakeChannel() {
287
288
  const Native = this.state.nativeWebSocket;
288
- if (!Native || this.wakeSocket || this.readyState !== this.OPEN) return;
289
- const wsBase = this.state.originString.replace(/^http/, "ws");
290
- const url = `${wsBase}/wake?clientID=${encodeURIComponent(this.clientID)}`;
291
- let socket;
292
- try {
293
- socket = new Native(url);
294
- } catch {
289
+ if (!Native || this.wakeSocket || this.wakeConnecting || this.readyState !== this.OPEN) {
295
290
  return;
296
291
  }
297
- this.wakeSocket = socket;
298
- const reconnect = () => {
299
- if (this.wakeSocket !== socket) return;
300
- this.wakeSocket = void 0;
301
- if (this.readyState !== this.OPEN || this.wakeReconnectTimer) return;
302
- this.wakeReconnectTimer = setTimeout(() => {
303
- this.wakeReconnectTimer = void 0;
304
- this.openWakeChannel();
305
- }, 500);
306
- };
307
- socket.onmessage = () => this.requestPullAfterCurrent();
308
- socket.onclose = reconnect;
309
- socket.onerror = reconnect;
292
+ this.wakeConnecting = true;
293
+ const wsBase = this.state.originString.replace(/^http/, "ws");
294
+ void (async () => {
295
+ let wakeToken;
296
+ let socket;
297
+ try {
298
+ if (typeof this.state.wake === "object") {
299
+ wakeToken = await this.state.wake.getToken();
300
+ }
301
+ if (this.readyState !== this.OPEN || this.wakeSocket) return;
302
+ const url = `${wsBase}/wake?clientID=${encodeURIComponent(this.clientID)}` + (wakeToken === void 0 ? "" : `&wakeToken=${encodeURIComponent(wakeToken)}`);
303
+ socket = new Native(url);
304
+ } catch {
305
+ this.scheduleWakeReconnect();
306
+ return;
307
+ } finally {
308
+ this.wakeConnecting = false;
309
+ }
310
+ this.wakeSocket = socket;
311
+ const reconnect = () => {
312
+ if (this.wakeSocket !== socket) return;
313
+ this.wakeSocket = void 0;
314
+ this.scheduleWakeReconnect();
315
+ };
316
+ socket.onmessage = () => this.requestPullAfterCurrent();
317
+ socket.onclose = reconnect;
318
+ socket.onerror = reconnect;
319
+ })();
320
+ }
321
+ scheduleWakeReconnect() {
322
+ if (this.readyState !== this.OPEN || this.wakeReconnectTimer) return;
323
+ this.wakeReconnectTimer = setTimeout(() => {
324
+ this.wakeReconnectTimer = void 0;
325
+ this.openWakeChannel();
326
+ }, 500);
310
327
  }
311
328
  closeWakeChannel() {
312
329
  if (this.wakeReconnectTimer) {
@@ -1 +1 @@
1
- {"version":3,"names":["COOKIE_WIDTH","MAX_PUSH_BATCH_MUTATIONS","ZERO_CONNECT_TIMEOUT_MS","HTTP_PULL_PAGE_REGISTRY","Symbol","for","isHttpPullPageRegistry","value","pageID","nextTransportGeneration","transportsByOrigin","Map","getHttpPullPageRegistry","existing","Reflect","get","globalThis","registry","Date","now","toString","set","logHttpPullLifecycle","event","process","env","NODE_ENV","console","info","JSON","stringify","installHttpPullTransport","opts","pageRegistry","transportID","previousWebSocket","WebSocket","fetchImpl","fetch","Error","state","origin","URL","originString","trimTrailingSlash","pullOriginString","pullOrigin","pushOriginString","pushOrigin","bind","nativeWebSocket","sockets","Set","pullIntervalMs","wakeEnabled","wake","queryTransform","queryForward","queryAware","nextPokeID","nextSocketGeneration","activeSocketGenerationByClient","activeSocketByClient","lifecycle","Shim","CONNECTING","OPEN","CLOSING","CLOSED","constructor","url","protocols","shouldIntercept","ZeroHttpSocket","String","transport","pull","Promise","all","map","socket","connections","size","uninstall","registered","delete","ensureHttpPullTransport","key","connectURL","toHttpURL","clientID","searchParams","clientGroupID","wsid","generation","zeroInstanceID","connectionAttemptID","socketID","attemptStartedAtParam","attemptStartedAt","Number","isFinite","previousSocket","supersede","emitLifecycle","baseCookie","cookie","suffixMatch","match","nextLocalCookieID","decoded","decodeSecProtocol","authToken","queueDesiredQueries","initConnectionMessage","add","openTimer","setTimeout","open","readyState","listeners","message","close","error","pendingGotQueriesPatch","desiredQueryPatch","queryVersion","sentQueryVersion","sentQueryPatchLen","pullInFlight","pullAfterCurrent","pendingPushes","pushInFlight","pullTimer","wakeSocket","wakeReconnectTimer","settled","addEventListener","type","listener","removeEventListener","dispatchEvent","emit","send","data","parse","requestPullAfterCurrent","auth","enqueuePush","emitMessage","run","answerMutationRecoveryPull","code","reason","settle","wasClean","resolve","fetchPull","then","response","applyServerGotQueries","unchanged","emitGotQueriesPatch","emitPoke","catch","fail","finally","pullAgain","attemptAgeMs","getAttemptAgeMs","Math","round","timestamp","setInterval","openWakeChannel","Native","wsBase","replace","encodeURIComponent","reconnect","onmessage","onclose","onerror","closeWakeChannel","clearTimeout","body","desiredQueriesPatch","Array","isArray","push","gotQueriesPatch","transform","op","hash","inline","ast","name","args","frameCount","mutationCount","postJSON","pushFrameCount","filterMutationResultsToClient","pushResponse","drainPushes","length","takePushBatch","first","shift","firstBody","parsePushBody","mutations","nextBody","areCompatiblePushBodies","got","gotQueries","patch","version","splice","toWebSocketCookie","requestID","lastMutationIDChanges","includeQueries","toHttpCookie","queries","path","base","method","headers","authorization","ok","ZeroHttpResponseError","status","json","promise","errorMessage","isAuthHTTPError","kind","isStaleClientCookieError","currentServer","nextCookie","toLocalWebSocketCookie","pokeID","schemaVersions","minSupportedVersion","maxSupportedVersion","rowsPatch","serverCookie","handler","call","handleEvent","detail","clearInterval","performance","activeGeneration","left","right","pushVersion","schemaVersion","candidate","pathname","parsed","protocol","endsWith","slice","decodeURIComponent","TextDecoder","decode","Uint8Array","from","atob","char","charCodeAt","padStart","localID","filter","m","id"],"sources":["../../src/httpPullTransport.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["COOKIE_WIDTH","MAX_PUSH_BATCH_MUTATIONS","ZERO_CONNECT_TIMEOUT_MS","HTTP_PULL_PAGE_REGISTRY","Symbol","for","isHttpPullPageRegistry","value","pageID","nextTransportGeneration","transportsByOrigin","Map","getHttpPullPageRegistry","existing","Reflect","get","globalThis","registry","Date","now","toString","set","logHttpPullLifecycle","event","process","env","NODE_ENV","type","console","error","JSON","stringify","installHttpPullTransport","opts","pageRegistry","transportID","previousWebSocket","WebSocket","fetchImpl","fetch","Error","state","origin","URL","originString","trimTrailingSlash","pullOriginString","pullOrigin","pushOriginString","pushOrigin","bind","nativeWebSocket","sockets","Set","pullIntervalMs","wake","queryTransform","queryForward","queryAware","nextPokeID","nextSocketGeneration","activeSocketGenerationByClient","activeSocketByClient","lifecycle","Shim","CONNECTING","OPEN","CLOSING","CLOSED","constructor","url","protocols","shouldIntercept","ZeroHttpSocket","String","transport","pull","Promise","all","map","socket","connections","size","uninstall","registered","delete","ensureHttpPullTransport","key","connectURL","toHttpURL","clientID","searchParams","clientGroupID","wsid","generation","zeroInstanceID","connectionAttemptID","socketID","attemptStartedAtParam","attemptStartedAt","Number","isFinite","previousSocket","supersede","emitLifecycle","baseCookie","cookie","suffixMatch","match","nextLocalCookieID","decoded","decodeSecProtocol","authToken","queueDesiredQueries","initConnectionMessage","add","openTimer","setTimeout","open","readyState","listeners","message","close","pendingGotQueriesPatch","desiredQueryPatch","queryVersion","sentQueryVersion","sentQueryPatchLen","pullInFlight","pullAfterCurrent","pendingPushes","pushInFlight","pullTimer","wakeSocket","wakeConnecting","wakeReconnectTimer","settled","addEventListener","listener","removeEventListener","dispatchEvent","emit","send","data","parse","requestPullAfterCurrent","auth","enqueuePush","emitMessage","run","answerMutationRecoveryPull","code","reason","settle","wasClean","resolve","fetchPull","then","response","applyServerGotQueries","unchanged","emitGotQueriesPatch","emitPoke","catch","fail","finally","pullAgain","attemptAgeMs","getAttemptAgeMs","Math","round","timestamp","setInterval","openWakeChannel","Native","wsBase","replace","wakeToken","getToken","encodeURIComponent","scheduleWakeReconnect","reconnect","onmessage","onclose","onerror","closeWakeChannel","clearTimeout","body","desiredQueriesPatch","Array","isArray","push","gotQueriesPatch","transform","op","hash","inline","ast","name","args","frameCount","mutationCount","postJSON","pushFrameCount","filterMutationResultsToClient","pushResponse","drainPushes","length","takePushBatch","first","shift","firstBody","parsePushBody","mutations","nextBody","areCompatiblePushBodies","got","gotQueries","patch","version","splice","toWebSocketCookie","requestID","lastMutationIDChanges","includeQueries","toHttpCookie","queries","path","base","method","headers","authorization","ok","ZeroHttpResponseError","status","json","promise","errorMessage","isAuthHTTPError","kind","isStaleClientCookieError","currentServer","nextCookie","toLocalWebSocketCookie","pokeID","schemaVersions","minSupportedVersion","maxSupportedVersion","rowsPatch","serverCookie","handler","call","handleEvent","detail","clearInterval","performance","activeGeneration","left","right","pushVersion","schemaVersion","candidate","pathname","parsed","protocol","endsWith","slice","decodeURIComponent","TextDecoder","decode","Uint8Array","from","atob","char","charCodeAt","padStart","localID","filter","m","id"],"sources":["../../src/httpPullTransport.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}