on-zero 0.6.17 → 0.6.19

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 (114) hide show
  1. package/dist/cjs/asyncTasks.native.js.map +1 -1
  2. package/dist/cjs/createZeroClient.cjs +1 -1
  3. package/dist/cjs/createZeroClient.connection.test.cjs +29 -0
  4. package/dist/cjs/createZeroClient.connection.test.native.js +29 -0
  5. package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
  6. package/dist/cjs/createZeroClient.native.js +1 -1
  7. package/dist/cjs/createZeroClient.native.js.map +1 -1
  8. package/dist/cjs/createZeroDirectServer.cjs +1 -1
  9. package/dist/cjs/createZeroDirectServer.native.js +1 -1
  10. package/dist/cjs/createZeroDirectServer.native.js.map +1 -1
  11. package/dist/cjs/createZeroServer.test.cjs +6 -0
  12. package/dist/cjs/createZeroServer.test.native.js +6 -0
  13. package/dist/cjs/createZeroServer.test.native.js.map +1 -1
  14. package/dist/cjs/createZeroServerCore.cjs +29 -1
  15. package/dist/cjs/createZeroServerCore.native.js +153 -1
  16. package/dist/cjs/createZeroServerCore.native.js.map +1 -1
  17. package/dist/cjs/httpPull/transport.test.cjs +127 -15
  18. package/dist/cjs/httpPull/transport.test.native.js +161 -16
  19. package/dist/cjs/httpPull/transport.test.native.js.map +1 -1
  20. package/dist/cjs/httpPullTransport.cjs +48 -18
  21. package/dist/cjs/httpPullTransport.native.js +57 -20
  22. package/dist/cjs/httpPullTransport.native.js.map +1 -1
  23. package/dist/cjs/modelRegistry.cjs +7 -4
  24. package/dist/cjs/modelRegistry.native.js +8 -4
  25. package/dist/cjs/modelRegistry.native.js.map +1 -1
  26. package/dist/cjs/mutations.cjs +15 -11
  27. package/dist/cjs/mutations.native.js +17 -11
  28. package/dist/cjs/mutations.native.js.map +1 -1
  29. package/dist/cjs/state.cjs +2 -3
  30. package/dist/cjs/state.native.js +2 -3
  31. package/dist/cjs/state.native.js.map +1 -1
  32. package/dist/cjs/syncHost.cjs +2 -1
  33. package/dist/cjs/syncHost.native.js +2 -1
  34. package/dist/cjs/syncHost.native.js.map +1 -1
  35. package/dist/cjs/usePermission.test.cjs +4 -2
  36. package/dist/cjs/usePermission.test.native.js +4 -2
  37. package/dist/cjs/usePermission.test.native.js.map +1 -1
  38. package/dist/esm/asyncTasks.mjs.map +1 -1
  39. package/dist/esm/asyncTasks.native.js.map +1 -1
  40. package/dist/esm/createZeroClient.connection.test.mjs +29 -0
  41. package/dist/esm/createZeroClient.connection.test.mjs.map +1 -1
  42. package/dist/esm/createZeroClient.connection.test.native.js +29 -0
  43. package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
  44. package/dist/esm/createZeroClient.mjs +2 -2
  45. package/dist/esm/createZeroClient.mjs.map +1 -1
  46. package/dist/esm/createZeroClient.native.js +2 -2
  47. package/dist/esm/createZeroClient.native.js.map +1 -1
  48. package/dist/esm/createZeroDirectServer.mjs +2 -2
  49. package/dist/esm/createZeroDirectServer.mjs.map +1 -1
  50. package/dist/esm/createZeroDirectServer.native.js +2 -2
  51. package/dist/esm/createZeroDirectServer.native.js.map +1 -1
  52. package/dist/esm/createZeroServer.test.mjs +6 -0
  53. package/dist/esm/createZeroServer.test.mjs.map +1 -1
  54. package/dist/esm/createZeroServer.test.native.js +6 -0
  55. package/dist/esm/createZeroServer.test.native.js.map +1 -1
  56. package/dist/esm/createZeroServerCore.mjs +29 -1
  57. package/dist/esm/createZeroServerCore.mjs.map +1 -1
  58. package/dist/esm/createZeroServerCore.native.js +153 -1
  59. package/dist/esm/createZeroServerCore.native.js.map +1 -1
  60. package/dist/esm/httpPull/transport.test.mjs +127 -15
  61. package/dist/esm/httpPull/transport.test.mjs.map +1 -1
  62. package/dist/esm/httpPull/transport.test.native.js +161 -16
  63. package/dist/esm/httpPull/transport.test.native.js.map +1 -1
  64. package/dist/esm/httpPullTransport.mjs +48 -18
  65. package/dist/esm/httpPullTransport.mjs.map +1 -1
  66. package/dist/esm/httpPullTransport.native.js +57 -20
  67. package/dist/esm/httpPullTransport.native.js.map +1 -1
  68. package/dist/esm/modelRegistry.mjs +7 -4
  69. package/dist/esm/modelRegistry.mjs.map +1 -1
  70. package/dist/esm/modelRegistry.native.js +8 -4
  71. package/dist/esm/modelRegistry.native.js.map +1 -1
  72. package/dist/esm/mutations.mjs +15 -11
  73. package/dist/esm/mutations.mjs.map +1 -1
  74. package/dist/esm/mutations.native.js +17 -11
  75. package/dist/esm/mutations.native.js.map +1 -1
  76. package/dist/esm/state.mjs +2 -3
  77. package/dist/esm/state.mjs.map +1 -1
  78. package/dist/esm/state.native.js +2 -3
  79. package/dist/esm/state.native.js.map +1 -1
  80. package/dist/esm/syncHost.mjs +2 -1
  81. package/dist/esm/syncHost.mjs.map +1 -1
  82. package/dist/esm/syncHost.native.js +2 -1
  83. package/dist/esm/syncHost.native.js.map +1 -1
  84. package/dist/esm/usePermission.test.mjs +6 -4
  85. package/dist/esm/usePermission.test.mjs.map +1 -1
  86. package/dist/esm/usePermission.test.native.js +6 -4
  87. package/dist/esm/usePermission.test.native.js.map +1 -1
  88. package/package.json +2 -2
  89. package/src/asyncTasks.ts +4 -1
  90. package/src/createZeroClient.connection.test.tsx +32 -0
  91. package/src/createZeroClient.tsx +7 -2
  92. package/src/createZeroDirectServer.ts +2 -2
  93. package/src/createZeroServer.test.ts +10 -0
  94. package/src/createZeroServerCore.ts +38 -1
  95. package/src/httpPull/transport.test.ts +143 -16
  96. package/src/httpPullTransport.ts +67 -30
  97. package/src/modelRegistry.ts +9 -4
  98. package/src/mutations.ts +19 -15
  99. package/src/state.ts +3 -3
  100. package/src/syncHost.ts +2 -2
  101. package/src/usePermission.test.ts +9 -3
  102. package/test-fixtures/server-return-types.ts +13 -1
  103. package/types/asyncTasks.d.ts +5 -1
  104. package/types/asyncTasks.d.ts.map +1 -1
  105. package/types/createZeroClient.d.ts.map +1 -1
  106. package/types/createZeroServerCore.d.ts.map +1 -1
  107. package/types/httpPullTransport.d.ts +13 -0
  108. package/types/httpPullTransport.d.ts.map +1 -1
  109. package/types/modelRegistry.d.ts.map +1 -1
  110. package/types/mutations.d.ts.map +1 -1
  111. package/types/state.d.ts +2 -2
  112. package/types/state.d.ts.map +1 -1
  113. package/types/syncHost.d.ts +1 -1
  114. package/types/syncHost.d.ts.map +1 -1
@@ -510,26 +510,168 @@ describe("zero-http transport", function () {
510
510
  cleanup();
511
511
  view.destroy();
512
512
  });
513
- test("transient pull failures back off reconnect attempts", async function () {
514
- var requests = [];
513
+ test("pull and push 500 reconnects keep socket opens on their current Zero attempt", async function () {
514
+ var lifecycle = [];
515
+ var zeroLogs = [];
516
+ var failPull = false;
517
+ var failPush = false;
515
518
  var fetch = vi.fn(async function (input, init) {
516
519
  var request = recordRequest(input, init);
517
- requests.push(request);
518
- expect(request.path).toBe("/pull");
519
- throw new TypeError("Failed to fetch");
520
+ if (request.path === "/pull") {
521
+ if (failPull) {
522
+ failPull = false;
523
+ return jsonResponse({
524
+ error: "injected pull outage"
525
+ }, {
526
+ status: 500
527
+ });
528
+ }
529
+ return jsonResponse({
530
+ cookie: request.body.cookie,
531
+ unchanged: true
532
+ });
533
+ }
534
+ if (failPush) {
535
+ failPush = false;
536
+ return jsonResponse({
537
+ error: "injected push outage"
538
+ }, {
539
+ status: 500
540
+ });
541
+ }
542
+ var mutation2 = request.body.mutations[0];
543
+ return jsonResponse({
544
+ pushResponse: {
545
+ mutations: [{
546
+ id: {
547
+ clientID: mutation2.clientID,
548
+ id: mutation2.id
549
+ },
550
+ result: {}
551
+ }]
552
+ }
553
+ });
554
+ });
555
+ var transport = installHttpPullTransport({
556
+ origin: ORIGIN,
557
+ fetch,
558
+ lifecycle: function (event) {
559
+ return lifecycle.push(event);
560
+ }
561
+ });
562
+ transports.push(transport);
563
+ var zero = createZero({
564
+ logSink: {
565
+ log: function (_level, context) {
566
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
567
+ args[_key - 2] = arguments[_key];
568
+ }
569
+ zeroLogs.push({
570
+ context: context !== null && context !== void 0 ? context : {},
571
+ args
572
+ });
573
+ }
574
+ }
520
575
  });
521
- install(fetch);
522
- createZero();
523
576
  await eventually(function () {
524
- return expect(requests.length).toBe(1);
577
+ return expect(zero.connection.state.current.name).toBe("connected");
525
578
  });
526
- await sleep(150);
527
- expect(requests.length).toBe(1);
579
+ failPull = true;
580
+ await transport.pull().catch(function () {});
528
581
  await eventually(function () {
529
- return expect(requests.length).toBe(2);
530
- }, 1500);
531
- await sleep(150);
532
- expect(requests.length).toBe(2);
582
+ return expect(lifecycle.filter(function (event) {
583
+ return event.type === "open";
584
+ })).toHaveLength(2);
585
+ }, 5e3);
586
+ failPush = true;
587
+ var mutation = zero.mutate.project.create({
588
+ id: "p1",
589
+ ownerId: "u1",
590
+ name: "after reconnect"
591
+ });
592
+ await mutation.client;
593
+ await mutation.server.catch(function () {});
594
+ await eventually(function () {
595
+ return expect(lifecycle.filter(function (event) {
596
+ return event.type === "open";
597
+ })).toHaveLength(3);
598
+ }, 5e3);
599
+ await eventually(function () {
600
+ return expect(zero.connection.state.current.name).toBe("connected");
601
+ }, 5e3);
602
+ var opens = lifecycle.filter(function (event) {
603
+ return event.type === "open";
604
+ });
605
+ expect(opens.map(function (param) {
606
+ var {
607
+ generation,
608
+ activeGeneration
609
+ } = param;
610
+ return [generation, activeGeneration];
611
+ })).toEqual([[1, 1], [2, 2], [3, 3]]);
612
+ expect(zeroLogs.some(function (param) {
613
+ var {
614
+ args
615
+ } = param;
616
+ return args.some(function (arg) {
617
+ return String(arg).includes("connect start time is undefined");
618
+ });
619
+ })).toBe(false);
620
+ });
621
+ test("a replacement socket supersedes stale open and connected events for the same client", async function () {
622
+ vi.useFakeTimers();
623
+ var lifecycle = [];
624
+ var transport = installHttpPullTransport({
625
+ origin: ORIGIN,
626
+ fetch: vi.fn(async function () {
627
+ return jsonResponse({
628
+ cookie: null,
629
+ unchanged: true
630
+ });
631
+ }),
632
+ lifecycle: function (event) {
633
+ return lifecycle.push(event);
634
+ }
635
+ });
636
+ transports.push(transport);
637
+ var connectStart = Date.now();
638
+ var errors = [];
639
+ var attachStockLifecycle = function (socket) {
640
+ socket.addEventListener("open", function () {
641
+ if (connectStart === void 0) {
642
+ errors.push("Got open event but connect start time is undefined.");
643
+ }
644
+ });
645
+ socket.addEventListener("message", function (event) {
646
+ var message = JSON.parse(String(event.data));
647
+ if (message[0] === "connected") connectStart = void 0;
648
+ });
649
+ };
650
+ var stale = openRawSocketWithMessages({
651
+ wsid: "stale"
652
+ }).socket;
653
+ attachStockLifecycle(stale);
654
+ var current = openRawSocketWithMessages({
655
+ wsid: "current"
656
+ }).socket;
657
+ attachStockLifecycle(current);
658
+ await vi.advanceTimersByTimeAsync(1);
659
+ expect(lifecycle.filter(function (event) {
660
+ return event.type === "open";
661
+ }).map(function (param) {
662
+ var {
663
+ generation,
664
+ activeGeneration,
665
+ wsid
666
+ } = param;
667
+ return [generation, activeGeneration, wsid];
668
+ })).toEqual([[2, 2, "current"]]);
669
+ expect(lifecycle).toContainEqual(expect.objectContaining({
670
+ type: "superseded",
671
+ generation: 1,
672
+ wsid: "stale"
673
+ }));
674
+ expect(errors).toEqual([]);
533
675
  });
534
676
  test("non-origin WebSockets pass through to the native implementation", function () {
535
677
  var previous = globalThis.WebSocket;
@@ -651,7 +793,9 @@ function createZero() {
651
793
  storageKey: `zero-http-test-${++storageID}`,
652
794
  mutators: zeroHttpFixtureMutators,
653
795
  pingTimeoutMs: options.pingTimeoutMs,
654
- onClientStateNotFound: options.onClientStateNotFound
796
+ onClientStateNotFound: options.onClientStateNotFound,
797
+ logLevel: options.logSink ? "debug" : void 0,
798
+ logSink: options.logSink
655
799
  });
656
800
  zeros.push(zero);
657
801
  return zero;
@@ -726,7 +870,8 @@ function openRawSocketWithMessages(opts) {
726
870
  url.searchParams.set("userID", "u1");
727
871
  url.searchParams.set("baseCookie", "");
728
872
  url.searchParams.set("lmid", "0");
729
- url.searchParams.set("wsid", "ws-test");
873
+ var _opts_wsid;
874
+ url.searchParams.set("wsid", (_opts_wsid = opts === null || opts === void 0 ? void 0 : opts.wsid) !== null && _opts_wsid !== void 0 ? _opts_wsid : "ws-test");
730
875
  var messages = [];
731
876
  var _opts_desiredQueriesPatch, _opts_authToken;
732
877
  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","previous","globalThis","WebSocket","NativeWebSocket","NativeWebSocket2","protocols","toBeInstanceOf","first","second","details","onClientStateNotFound","toHaveBeenCalled","options","arguments","userID","schema","kvStore","storageKey","mutators","URL","_init_headers","fromEntries","entries","param","toLowerCase"],"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","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,6 +1,4 @@
1
1
  const COOKIE_WIDTH = 20;
2
- const TRANSIENT_RECONNECT_BACKOFF_BASE_MS = 1e3;
3
- const TRANSIENT_RECONNECT_BACKOFF_MAX_MS = 3e4;
4
2
  function installHttpPullTransport(opts) {
5
3
  const previousWebSocket = globalThis.WebSocket;
6
4
  const fetchImpl = opts.fetch ?? globalThis.fetch;
@@ -24,7 +22,10 @@ function installHttpPullTransport(opts) {
24
22
  queryForward: opts.queryForward === true,
25
23
  queryAware: opts.queryTransform !== void 0 || opts.queryForward === true,
26
24
  nextPokeID: 0,
27
- transientFailureCount: 0
25
+ nextSocketGeneration: 0,
26
+ activeSocketGenerationByClient: /* @__PURE__ */new Map(),
27
+ activeSocketByClient: /* @__PURE__ */new Map(),
28
+ lifecycle: opts.lifecycle
28
29
  };
29
30
  const Shim = class {
30
31
  static CONNECTING = 0;
@@ -73,6 +74,11 @@ class ZeroHttpSocket {
73
74
  this.clientID = this.connectURL.searchParams.get("clientID") ?? "";
74
75
  this.clientGroupID = this.connectURL.searchParams.get("clientGroupID") ?? "";
75
76
  this.wsid = this.connectURL.searchParams.get("wsid") ?? `zero-http-${Date.now()}`;
77
+ this.generation = ++this.state.nextSocketGeneration;
78
+ this.state.activeSocketByClient.get(this.clientID)?.supersede();
79
+ this.state.activeSocketGenerationByClient.set(this.clientID, this.generation);
80
+ this.state.activeSocketByClient.set(this.clientID, this);
81
+ this.emitLifecycle("created");
76
82
  const baseCookie = this.connectURL.searchParams.get("baseCookie");
77
83
  this.cookie = baseCookie ? baseCookie : null;
78
84
  const suffixMatch = this.cookie?.match(/#(\d+)$/);
@@ -81,7 +87,7 @@ class ZeroHttpSocket {
81
87
  this.authToken = decoded.authToken;
82
88
  this.queueDesiredQueries(decoded.initConnectionMessage?.[1]);
83
89
  this.state.sockets.add(this);
84
- this.openTimer = setTimeout(() => this.open(), reconnectDelayMs(this.state));
90
+ this.openTimer = setTimeout(() => this.open(), 0);
85
91
  }
86
92
  CONNECTING = 0;
87
93
  OPEN = 1;
@@ -118,8 +124,14 @@ class ZeroHttpSocket {
118
124
  pullTimer;
119
125
  wakeSocket;
120
126
  wakeReconnectTimer;
127
+ generation;
121
128
  addEventListener(type, listener) {
122
- if (listener) this.listeners[type]?.add(listener);
129
+ if (listener) {
130
+ this.listeners[type]?.add(listener);
131
+ this.emitLifecycle("listener", {
132
+ listener: type
133
+ });
134
+ }
123
135
  }
124
136
  removeEventListener(type, listener) {
125
137
  if (listener) this.listeners[type]?.delete(listener);
@@ -165,6 +177,14 @@ class ZeroHttpSocket {
165
177
  this.closeWakeChannel();
166
178
  this.readyState = this.CLOSED;
167
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", {
185
+ code,
186
+ reason
187
+ });
168
188
  this.emit("close", {
169
189
  code,
170
190
  reason,
@@ -195,6 +215,7 @@ class ZeroHttpSocket {
195
215
  open() {
196
216
  if (this.readyState !== this.CONNECTING) return;
197
217
  this.readyState = this.OPEN;
218
+ this.emitLifecycle("open");
198
219
  this.emit("open", {});
199
220
  this.emitMessage(["connected", {
200
221
  wsid: this.wsid,
@@ -370,7 +391,6 @@ class ZeroHttpSocket {
370
391
  if (!response.ok) {
371
392
  throw new ZeroHttpResponseError(path, response.status);
372
393
  }
373
- resetTransientFailures(this.state);
374
394
  return response.json();
375
395
  }
376
396
  run(promise) {
@@ -378,6 +398,9 @@ class ZeroHttpSocket {
378
398
  }
379
399
  fail(error) {
380
400
  if (this.readyState === this.CLOSED) return;
401
+ this.emitLifecycle("failure", {
402
+ reason: errorMessage(error)
403
+ });
381
404
  if (isAuthHTTPError(error)) {
382
405
  this.emitMessage(["error", {
383
406
  kind: "Unauthorized",
@@ -396,7 +419,6 @@ class ZeroHttpSocket {
396
419
  if (this.readyState !== this.CLOSED) this.close(1e3, error.message);
397
420
  return;
398
421
  }
399
- recordTransientFailure(this.state);
400
422
  this.emit("error", {
401
423
  error
402
424
  });
@@ -481,6 +503,25 @@ class ZeroHttpSocket {
481
503
  if (typeof listener === "function") listener(event);else listener.handleEvent(event);
482
504
  }
483
505
  }
506
+ supersede() {
507
+ if (this.readyState === this.CLOSED) return;
508
+ if (this.openTimer !== void 0) clearTimeout(this.openTimer);
509
+ if (this.pullTimer !== void 0) clearInterval(this.pullTimer);
510
+ this.closeWakeChannel();
511
+ this.readyState = this.CLOSED;
512
+ this.state.sockets.delete(this);
513
+ this.emitLifecycle("superseded");
514
+ }
515
+ emitLifecycle(type, detail = {}) {
516
+ this.state.lifecycle?.({
517
+ type,
518
+ generation: this.generation,
519
+ activeGeneration: this.state.activeSocketGenerationByClient.get(this.clientID) ?? this.generation,
520
+ clientID: this.clientID,
521
+ wsid: this.wsid,
522
+ ...detail
523
+ });
524
+ }
484
525
  }
485
526
  function shouldIntercept(origin, url) {
486
527
  const candidate = toHttpURL(url);
@@ -562,16 +603,5 @@ function filterMutationResultsToClient(pushResponse, clientID) {
562
603
  function isStaleClientCookieError(error) {
563
604
  return error instanceof ZeroHttpResponseError && error.path === "/pull" && error.status === 409;
564
605
  }
565
- function reconnectDelayMs(state) {
566
- if (state.transientFailureCount === 0) return 0;
567
- return Math.min(TRANSIENT_RECONNECT_BACKOFF_BASE_MS * 2 ** (state.transientFailureCount - 1), TRANSIENT_RECONNECT_BACKOFF_MAX_MS);
568
- }
569
- function recordTransientFailure(state) {
570
- const maxExponent = Math.log2(TRANSIENT_RECONNECT_BACKOFF_MAX_MS / TRANSIENT_RECONNECT_BACKOFF_BASE_MS);
571
- state.transientFailureCount = Math.min(state.transientFailureCount + 1, Math.ceil(maxExponent) + 1);
572
- }
573
- function resetTransientFailures(state) {
574
- state.transientFailureCount = 0;
575
- }
576
606
  export { ensureHttpPullTransport, installHttpPullTransport };
577
607
  //# sourceMappingURL=httpPullTransport.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["COOKIE_WIDTH","TRANSIENT_RECONNECT_BACKOFF_BASE_MS","TRANSIENT_RECONNECT_BACKOFF_MAX_MS","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","transientFailureCount","Shim","CONNECTING","OPEN","CLOSING","CLOSED","constructor","url","protocols","shouldIntercept","ZeroHttpSocket","String","pull","Promise","all","map","socket","connections","size","uninstall","transportsByOrigin","Map","ensureHttpPullTransport","key","existing","get","transport","set","connectURL","toHttpURL","clientID","searchParams","clientGroupID","wsid","Date","now","baseCookie","cookie","suffixMatch","match","nextLocalCookieID","Number","decoded","decodeSecProtocol","authToken","queueDesiredQueries","initConnectionMessage","add","openTimer","setTimeout","open","reconnectDelayMs","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","resetTransientFailures","json","promise","isAuthHTTPError","kind","isStaleClientCookieError","recordTransientFailure","errorMessage","currentServer","nextCookie","toLocalWebSocketCookie","pokeID","schemaVersions","minSupportedVersion","maxSupportedVersion","rowsPatch","serverCookie","handler","call","handleEvent","candidate","pathname","parsed","protocol","value","endsWith","slice","decodeURIComponent","TextDecoder","decode","Uint8Array","from","atob","char","charCodeAt","isFinite","padStart","localID","mutations","filter","m","id","Math","min","maxExponent","log2","ceil"],"sources":["../../src/httpPullTransport.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
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":[]}