on-zero 0.6.20 → 0.6.21

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.
@@ -618,6 +618,77 @@ describe("zero-http transport", function () {
618
618
  });
619
619
  })).toBe(false);
620
620
  });
621
+ test("a pull 500 cannot let a timed-out socket construction open on the abandoned attempt", async function () {
622
+ vi.useFakeTimers();
623
+ var lifecycle = [];
624
+ var pullCount = 0;
625
+ var fetch = vi.fn(async function (input, init) {
626
+ var request = recordRequest(input, init);
627
+ pullCount++;
628
+ if (pullCount === 1) {
629
+ return jsonResponse({
630
+ error: "injected pull outage"
631
+ }, {
632
+ status: 500
633
+ });
634
+ }
635
+ return jsonResponse({
636
+ cookie: request.body.cookie,
637
+ unchanged: true
638
+ });
639
+ });
640
+ var transport = installHttpPullTransport({
641
+ origin: ORIGIN,
642
+ fetch,
643
+ lifecycle: function (event) {
644
+ return lifecycle.push(event);
645
+ }
646
+ });
647
+ transports.push(transport);
648
+ var first = openRawSocketWithMessages({
649
+ wsid: "before-pull-500"
650
+ });
651
+ await vi.advanceTimersByTimeAsync(1);
652
+ expect(first.socket.readyState).toBe(first.socket.CLOSED);
653
+ var delayedOpened = false;
654
+ var delayedClosed = 0;
655
+ var delayed = openRawSocketWithMessages({
656
+ wsid: "delayed-reconnect",
657
+ attemptStartedAt: performance.now() - 10001
658
+ });
659
+ delayed.socket.addEventListener("open", function () {
660
+ delayedOpened = true;
661
+ });
662
+ delayed.socket.addEventListener("close", function () {
663
+ delayedClosed++;
664
+ });
665
+ await vi.advanceTimersByTimeAsync(1);
666
+ expect(delayedOpened).toBe(false);
667
+ expect(delayedClosed).toBe(1);
668
+ expect(lifecycle.filter(function (event) {
669
+ return event.type === "open";
670
+ })).toHaveLength(1);
671
+ var aborted = lifecycle.find(function (event) {
672
+ return event.type === "aborted";
673
+ });
674
+ expect(aborted).toMatchObject({
675
+ pageID: transport.pageID,
676
+ transportID: transport.transportID,
677
+ zeroInstanceID: `${transport.pageID}:zero:c1`,
678
+ clientID: "c1",
679
+ clientGroupID: "cg1",
680
+ connectionAttemptID: `${transport.pageID}:zero:c1:attempt:delayed-reconnect`,
681
+ socketID: `${transport.transportID}:socket:2`,
682
+ wsid: "delayed-reconnect",
683
+ generation: 2,
684
+ activeGeneration: 2,
685
+ code: 1e3
686
+ });
687
+ expect(aborted === null || aborted === void 0 ? void 0 : aborted.attemptAgeMs).toBeGreaterThanOrEqual(1e4);
688
+ expect(lifecycle.filter(function (event) {
689
+ return event.generation === 2 && (event.type === "aborted" || event.type === "close" || event.type === "superseded");
690
+ })).toHaveLength(1);
691
+ });
621
692
  test("a replacement socket supersedes stale open and connected events for the same client", async function () {
622
693
  vi.useFakeTimers();
623
694
  var lifecycle = [];
@@ -669,8 +740,12 @@ describe("zero-http transport", function () {
669
740
  expect(lifecycle).toContainEqual(expect.objectContaining({
670
741
  type: "superseded",
671
742
  generation: 1,
743
+ activeGeneration: 2,
672
744
  wsid: "stale"
673
745
  }));
746
+ expect(lifecycle.filter(function (event) {
747
+ return event.generation === 1 && (event.type === "aborted" || event.type === "close" || event.type === "superseded");
748
+ })).toHaveLength(1);
674
749
  expect(errors).toEqual([]);
675
750
  });
676
751
  test("non-origin WebSockets pass through to the native implementation", function () {
@@ -700,17 +775,21 @@ describe("zero-http transport", function () {
700
775
  expect(globalThis.WebSocket).toBe(NativeWebSocket);
701
776
  globalThis.WebSocket = previous;
702
777
  });
703
- test("ensureHttpPullTransport installs once per origin", function () {
778
+ test("ensureHttpPullTransport installs once per origin across module evaluation", async function () {
704
779
  var origin = "http://127.0.0.1:65501";
705
780
  var first = ensureHttpPullTransport({
706
781
  origin,
707
782
  fetch: vi.fn()
708
783
  });
709
- var second = ensureHttpPullTransport({
784
+ vi.resetModules();
785
+ var reloaded = await import("../httpPullTransport.native.js");
786
+ var second = reloaded.ensureHttpPullTransport({
710
787
  origin,
711
788
  fetch: vi.fn()
712
789
  });
713
790
  expect(second).toBe(first);
791
+ expect(first.pageID).toMatch(/^page-/);
792
+ expect(first.transportID).toMatch(new RegExp(`^${first.pageID}:transport:[1-9][0-9]*$`));
714
793
  first.uninstall();
715
794
  });
716
795
  test("push responses are filtered to this client \u2014 foreign (recovery) results are dropped", async function () {
@@ -872,6 +951,9 @@ function openRawSocketWithMessages(opts) {
872
951
  url.searchParams.set("lmid", "0");
873
952
  var _opts_wsid;
874
953
  url.searchParams.set("wsid", (_opts_wsid = opts === null || opts === void 0 ? void 0 : opts.wsid) !== null && _opts_wsid !== void 0 ? _opts_wsid : "ws-test");
954
+ if ((opts === null || opts === void 0 ? void 0 : opts.attemptStartedAt) !== void 0) {
955
+ url.searchParams.set("ts", String(opts.attemptStartedAt));
956
+ }
875
957
  var messages = [];
876
958
  var _opts_desiredQueriesPatch, _opts_authToken;
877
959
  var socket = new WebSocket(url, encodeSecProtocol(["initConnection", {
@@ -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","pushIDs","mutationID","resolve","promise","map","messages","message","pushBody","sleep","toHaveLength","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","flatMap","emission","lifecycle","zeroLogs","failPull","failPush","event","logSink","log","_level","context","_len","arguments","Array","_key","catch","opens","param","generation","activeGeneration","arg","includes","useFakeTimers","connectStart","Date","now","errors","attachStockLifecycle","addEventListener","stale","wsid","advanceTimersByTimeAsync","toContainEqual","objectContaining","previous","globalThis","WebSocket","NativeWebSocket","NativeWebSocket2","protocols","toBeInstanceOf","first","second","details"],"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","_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","pushIDs","mutationID","resolve","promise","map","messages","message","pushBody","sleep","toHaveLength","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","flatMap","emission","lifecycle","zeroLogs","failPull","failPush","event","logSink","log","_level","context","_len","arguments","Array","_key","catch","opens","param","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","details"],"sources":["../../../src/httpPull/transport.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,35 @@
1
1
  const COOKIE_WIDTH = 20;
2
+ const ZERO_CONNECT_TIMEOUT_MS = 1e4;
3
+ const HTTP_PULL_PAGE_REGISTRY = /* @__PURE__ */Symbol.for("on-zero.http-pull.page-registry");
4
+ function isHttpPullPageRegistry(value) {
5
+ return typeof value === "object" && value !== null && "pageID" in value && typeof value.pageID === "string" && "nextTransportGeneration" in value && typeof value.nextTransportGeneration === "number" && "transportsByOrigin" in value && value.transportsByOrigin instanceof Map;
6
+ }
7
+ function getHttpPullPageRegistry() {
8
+ const existing = Reflect.get(globalThis, HTTP_PULL_PAGE_REGISTRY);
9
+ if (isHttpPullPageRegistry(existing)) return existing;
10
+ const registry = {
11
+ pageID: `page-${Date.now().toString(36)}`,
12
+ nextTransportGeneration: 0,
13
+ transportsByOrigin: /* @__PURE__ */new Map()
14
+ };
15
+ Reflect.set(globalThis, HTTP_PULL_PAGE_REGISTRY, registry);
16
+ return registry;
17
+ }
18
+ function logHttpPullLifecycle(event) {
19
+ if (process.env.NODE_ENV === "test") return;
20
+ console.info(`[on-zero:http-pull] ${JSON.stringify(event)}`);
21
+ }
2
22
  function installHttpPullTransport(opts) {
23
+ const pageRegistry = getHttpPullPageRegistry();
24
+ const transportID = `${pageRegistry.pageID}:transport:${++pageRegistry.nextTransportGeneration}`;
3
25
  const previousWebSocket = globalThis.WebSocket;
4
26
  const fetchImpl = opts.fetch ?? globalThis.fetch;
5
27
  if (!fetchImpl) {
6
28
  throw new Error("installHttpPullTransport requires a fetch implementation");
7
29
  }
8
30
  const state = {
31
+ pageID: pageRegistry.pageID,
32
+ transportID,
9
33
  origin: new URL(opts.origin),
10
34
  originString: trimTrailingSlash(new URL(opts.origin).toString()),
11
35
  pullOriginString: trimTrailingSlash(new URL(opts.pullOrigin ?? opts.origin).toString()),
@@ -25,7 +49,7 @@ function installHttpPullTransport(opts) {
25
49
  nextSocketGeneration: 0,
26
50
  activeSocketGenerationByClient: /* @__PURE__ */new Map(),
27
51
  activeSocketByClient: /* @__PURE__ */new Map(),
28
- lifecycle: opts.lifecycle
52
+ lifecycle: opts.lifecycle ?? logHttpPullLifecycle
29
53
  };
30
54
  const Shim = class {
31
55
  static CONNECTING = 0;
@@ -43,27 +67,34 @@ function installHttpPullTransport(opts) {
43
67
  }
44
68
  };
45
69
  globalThis.WebSocket = Shim;
46
- return {
70
+ const transport = {
47
71
  pull: async () => {
48
72
  await Promise.all([...state.sockets].map(socket => socket.pull()));
49
73
  },
50
74
  get connections() {
51
75
  return state.sockets.size;
52
76
  },
77
+ pageID: state.pageID,
78
+ transportID: state.transportID,
53
79
  uninstall: () => {
54
80
  if (globalThis.WebSocket === Shim) {
55
81
  globalThis.WebSocket = previousWebSocket;
56
82
  }
83
+ const registered = pageRegistry.transportsByOrigin.get(state.originString);
84
+ if (registered === transport) {
85
+ pageRegistry.transportsByOrigin.delete(state.originString);
86
+ }
57
87
  }
58
88
  };
89
+ return transport;
59
90
  }
60
- const transportsByOrigin = /* @__PURE__ */new Map();
61
91
  function ensureHttpPullTransport(opts) {
92
+ const pageRegistry = getHttpPullPageRegistry();
62
93
  const key = trimTrailingSlash(new URL(opts.origin).toString());
63
- const existing = transportsByOrigin.get(key);
94
+ const existing = pageRegistry.transportsByOrigin.get(key);
64
95
  if (existing) return existing;
65
96
  const transport = installHttpPullTransport(opts);
66
- transportsByOrigin.set(key, transport);
97
+ pageRegistry.transportsByOrigin.set(key, transport);
67
98
  return transport;
68
99
  }
69
100
  class ZeroHttpSocket {
@@ -75,9 +106,16 @@ class ZeroHttpSocket {
75
106
  this.clientGroupID = this.connectURL.searchParams.get("clientGroupID") ?? "";
76
107
  this.wsid = this.connectURL.searchParams.get("wsid") ?? `zero-http-${Date.now()}`;
77
108
  this.generation = ++this.state.nextSocketGeneration;
78
- this.state.activeSocketByClient.get(this.clientID)?.supersede();
109
+ this.zeroInstanceID = `${this.state.pageID}:zero:${this.clientID}`;
110
+ this.connectionAttemptID = `${this.zeroInstanceID}:attempt:${this.wsid}`;
111
+ this.socketID = `${this.state.transportID}:socket:${this.generation}`;
112
+ const attemptStartedAtParam = this.connectURL.searchParams.get("ts");
113
+ const attemptStartedAt = Number(attemptStartedAtParam);
114
+ this.attemptStartedAt = attemptStartedAtParam !== null && Number.isFinite(attemptStartedAt) ? attemptStartedAt : void 0;
115
+ const previousSocket = this.state.activeSocketByClient.get(this.clientID);
79
116
  this.state.activeSocketGenerationByClient.set(this.clientID, this.generation);
80
117
  this.state.activeSocketByClient.set(this.clientID, this);
118
+ previousSocket?.supersede();
81
119
  this.emitLifecycle("created");
82
120
  const baseCookie = this.connectURL.searchParams.get("baseCookie");
83
121
  this.cookie = baseCookie ? baseCookie : null;
@@ -125,6 +163,11 @@ class ZeroHttpSocket {
125
163
  wakeSocket;
126
164
  wakeReconnectTimer;
127
165
  generation;
166
+ zeroInstanceID;
167
+ connectionAttemptID;
168
+ socketID;
169
+ attemptStartedAt;
170
+ settled = false;
128
171
  addEventListener(type, listener) {
129
172
  if (listener) {
130
173
  this.listeners[type]?.add(listener);
@@ -171,20 +214,10 @@ class ZeroHttpSocket {
171
214
  }
172
215
  }
173
216
  close(code = 1e3, reason = "") {
174
- if (this.readyState === this.CLOSED) return;
175
- if (this.openTimer) clearTimeout(this.openTimer);
176
- if (this.pullTimer) clearInterval(this.pullTimer);
177
- this.closeWakeChannel();
178
- this.readyState = this.CLOSED;
179
- this.state.sockets.delete(this);
180
- if (this.state.activeSocketByClient.get(this.clientID) === this) {
181
- this.state.activeSocketByClient.delete(this.clientID);
182
- this.state.activeSocketGenerationByClient.delete(this.clientID);
183
- }
184
- this.emitLifecycle("close", {
217
+ if (!this.settle("close", {
185
218
  code,
186
219
  reason
187
- });
220
+ })) return;
188
221
  this.emit("close", {
189
222
  code,
190
223
  reason,
@@ -214,6 +247,20 @@ class ZeroHttpSocket {
214
247
  }
215
248
  open() {
216
249
  if (this.readyState !== this.CONNECTING) return;
250
+ const attemptAgeMs = this.getAttemptAgeMs();
251
+ if (attemptAgeMs !== void 0 && attemptAgeMs >= ZERO_CONNECT_TIMEOUT_MS) {
252
+ const reason = `zero-http connection attempt ${this.wsid} expired after ${Math.round(attemptAgeMs)}ms before socket construction completed`;
253
+ if (!this.settle("aborted", {
254
+ code: 1e3,
255
+ reason
256
+ })) return;
257
+ this.emit("close", {
258
+ code: 1e3,
259
+ reason,
260
+ wasClean: true
261
+ });
262
+ return;
263
+ }
217
264
  this.readyState = this.OPEN;
218
265
  this.emitLifecycle("open");
219
266
  this.emit("open", {});
@@ -504,21 +551,42 @@ class ZeroHttpSocket {
504
551
  }
505
552
  }
506
553
  supersede() {
507
- if (this.readyState === this.CLOSED) return;
554
+ this.settle("superseded");
555
+ }
556
+ settle(type, detail = {}) {
557
+ if (this.settled) return false;
558
+ this.settled = true;
508
559
  if (this.openTimer !== void 0) clearTimeout(this.openTimer);
509
560
  if (this.pullTimer !== void 0) clearInterval(this.pullTimer);
510
561
  this.closeWakeChannel();
511
562
  this.readyState = this.CLOSED;
512
563
  this.state.sockets.delete(this);
513
- this.emitLifecycle("superseded");
564
+ if (this.state.activeSocketByClient.get(this.clientID) === this) {
565
+ this.state.activeSocketByClient.delete(this.clientID);
566
+ this.state.activeSocketGenerationByClient.delete(this.clientID);
567
+ }
568
+ this.emitLifecycle(type, detail);
569
+ return true;
570
+ }
571
+ getAttemptAgeMs() {
572
+ return this.attemptStartedAt === void 0 ? void 0 : performance.now() - this.attemptStartedAt;
514
573
  }
515
574
  emitLifecycle(type, detail = {}) {
516
575
  this.state.lifecycle?.({
517
576
  type,
577
+ pageID: this.state.pageID,
578
+ transportID: this.state.transportID,
579
+ zeroInstanceID: this.zeroInstanceID,
580
+ clientGroupID: this.clientGroupID,
581
+ connectionAttemptID: this.connectionAttemptID,
582
+ socketID: this.socketID,
518
583
  generation: this.generation,
519
584
  activeGeneration: this.state.activeSocketGenerationByClient.get(this.clientID) ?? this.generation,
520
585
  clientID: this.clientID,
521
586
  wsid: this.wsid,
587
+ timestamp: Date.now(),
588
+ attemptStartedAt: this.attemptStartedAt,
589
+ attemptAgeMs: this.getAttemptAgeMs(),
522
590
  ...detail
523
591
  });
524
592
  }
@@ -1 +1 @@
1
- {"version":3,"names":["COOKIE_WIDTH","installHttpPullTransport","opts","previousWebSocket","globalThis","WebSocket","fetchImpl","fetch","Error","state","origin","URL","originString","trimTrailingSlash","toString","pullOriginString","pullOrigin","pushOriginString","pushOrigin","bind","nativeWebSocket","sockets","Set","pullIntervalMs","wakeEnabled","wake","queryTransform","queryForward","queryAware","nextPokeID","nextSocketGeneration","activeSocketGenerationByClient","Map","activeSocketByClient","lifecycle","Shim","CONNECTING","OPEN","CLOSING","CLOSED","constructor","url","protocols","shouldIntercept","ZeroHttpSocket","String","pull","Promise","all","map","socket","connections","size","uninstall","transportsByOrigin","ensureHttpPullTransport","key","existing","get","transport","set","connectURL","toHttpURL","clientID","searchParams","clientGroupID","wsid","Date","now","generation","supersede","emitLifecycle","baseCookie","cookie","suffixMatch","match","nextLocalCookieID","Number","decoded","decodeSecProtocol","authToken","queueDesiredQueries","initConnectionMessage","add","openTimer","setTimeout","open","readyState","listeners","message","close","error","pendingGotQueriesPatch","desiredQueryPatch","queryVersion","sentQueryVersion","sentQueryPatchLen","pullInFlight","pullAfterCurrent","pushChain","resolve","pullTimer","wakeSocket","wakeReconnectTimer","addEventListener","type","listener","removeEventListener","delete","dispatchEvent","event","emit","send","data","JSON","parse","requestPullAfterCurrent","auth","enqueuePush","emitMessage","run","answerMutationRecoveryPull","code","reason","clearTimeout","clearInterval","closeWakeChannel","wasClean","fetchPull","then","response","applyServerGotQueries","unchanged","emitGotQueriesPatch","emitPoke","catch","fail","finally","pullAgain","timestamp","setInterval","openWakeChannel","Native","wsBase","replace","encodeURIComponent","reconnect","onmessage","onclose","onerror","body","desiredQueriesPatch","Array","isArray","push","gotQueriesPatch","transform","op","hash","inline","ast","name","args","postJSON","filterMutationResultsToClient","pushResponse","nextPush","got","gotQueries","patch","version","splice","toWebSocketCookie","requestID","lastMutationIDChanges","includeQueries","toHttpCookie","length","queries","path","base","method","headers","authorization","stringify","ok","ZeroHttpResponseError","status","json","promise","errorMessage","isAuthHTTPError","kind","isStaleClientCookieError","currentServer","nextCookie","toLocalWebSocketCookie","pokeID","schemaVersions","minSupportedVersion","maxSupportedVersion","rowsPatch","serverCookie","handler","call","handleEvent","detail","activeGeneration","candidate","pathname","parsed","protocol","value","endsWith","slice","decodeURIComponent","TextDecoder","decode","Uint8Array","from","atob","char","charCodeAt","isFinite","padStart","localID","mutations","filter","m","id"],"sources":["../../src/httpPullTransport.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["COOKIE_WIDTH","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","pushChain","resolve","pullTimer","wakeSocket","wakeReconnectTimer","settled","addEventListener","type","listener","removeEventListener","dispatchEvent","emit","send","data","parse","requestPullAfterCurrent","auth","enqueuePush","emitMessage","run","answerMutationRecoveryPull","code","reason","settle","wasClean","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","postJSON","filterMutationResultsToClient","pushResponse","nextPush","got","gotQueries","patch","version","splice","toWebSocketCookie","requestID","lastMutationIDChanges","includeQueries","toHttpCookie","length","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","candidate","pathname","parsed","protocol","endsWith","slice","decodeURIComponent","TextDecoder","decode","Uint8Array","from","atob","char","charCodeAt","padStart","localID","mutations","filter","m","id"],"sources":["../../src/httpPullTransport.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}