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.
@@ -167,16 +167,40 @@ function _is_native_reflect_construct() {
167
167
  })();
168
168
  }
169
169
  var COOKIE_WIDTH = 20;
170
+ var ZERO_CONNECT_TIMEOUT_MS = 1e4;
171
+ var HTTP_PULL_PAGE_REGISTRY = /* @__PURE__ */Symbol.for("on-zero.http-pull.page-registry");
172
+ function isHttpPullPageRegistry(value) {
173
+ return (typeof value === "undefined" ? "undefined" : _type_of(value)) === "object" && value !== null && "pageID" in value && typeof value.pageID === "string" && "nextTransportGeneration" in value && typeof value.nextTransportGeneration === "number" && "transportsByOrigin" in value && _instanceof(value.transportsByOrigin, Map);
174
+ }
175
+ function getHttpPullPageRegistry() {
176
+ var existing = Reflect.get(globalThis, HTTP_PULL_PAGE_REGISTRY);
177
+ if (isHttpPullPageRegistry(existing)) return existing;
178
+ var registry = {
179
+ pageID: `page-${Date.now().toString(36)}`,
180
+ nextTransportGeneration: 0,
181
+ transportsByOrigin: /* @__PURE__ */new Map()
182
+ };
183
+ Reflect.set(globalThis, HTTP_PULL_PAGE_REGISTRY, registry);
184
+ return registry;
185
+ }
186
+ function logHttpPullLifecycle(event) {
187
+ if (process.env.NODE_ENV === "test") return;
188
+ console.info(`[on-zero:http-pull] ${JSON.stringify(event)}`);
189
+ }
170
190
  function installHttpPullTransport(opts) {
171
191
  var _class;
192
+ var pageRegistry = getHttpPullPageRegistry();
193
+ var transportID = `${pageRegistry.pageID}:transport:${++pageRegistry.nextTransportGeneration}`;
172
194
  var previousWebSocket = globalThis.WebSocket;
173
195
  var _opts_fetch;
174
196
  var fetchImpl = (_opts_fetch = opts.fetch) !== null && _opts_fetch !== void 0 ? _opts_fetch : globalThis.fetch;
175
197
  if (!fetchImpl) {
176
198
  throw new Error("installHttpPullTransport requires a fetch implementation");
177
199
  }
178
- var _opts_pullOrigin, _opts_pushOrigin, _opts_wake;
200
+ var _opts_pullOrigin, _opts_pushOrigin, _opts_wake, _opts_lifecycle;
179
201
  var state = {
202
+ pageID: pageRegistry.pageID,
203
+ transportID,
180
204
  origin: new URL(opts.origin),
181
205
  originString: trimTrailingSlash(new URL(opts.origin).toString()),
182
206
  pullOriginString: trimTrailingSlash(new URL((_opts_pullOrigin = opts.pullOrigin) !== null && _opts_pullOrigin !== void 0 ? _opts_pullOrigin : opts.origin).toString()),
@@ -196,7 +220,7 @@ function installHttpPullTransport(opts) {
196
220
  nextSocketGeneration: 0,
197
221
  activeSocketGenerationByClient: /* @__PURE__ */new Map(),
198
222
  activeSocketByClient: /* @__PURE__ */new Map(),
199
- lifecycle: opts.lifecycle
223
+ lifecycle: (_opts_lifecycle = opts.lifecycle) !== null && _opts_lifecycle !== void 0 ? _opts_lifecycle : logHttpPullLifecycle
200
224
  };
201
225
  var Shim = (_class = function _class2(url, protocols) {
202
226
  "use strict";
@@ -211,7 +235,7 @@ function installHttpPullTransport(opts) {
211
235
  return new state.nativeWebSocket(url, protocols);
212
236
  }, _define_property(_class, "CONNECTING", 0), _define_property(_class, "OPEN", 1), _define_property(_class, "CLOSING", 2), _define_property(_class, "CLOSED", 3), _class);
213
237
  globalThis.WebSocket = Shim;
214
- return {
238
+ var transport = {
215
239
  pull: async function () {
216
240
  await Promise.all([...state.sockets].map(function (socket) {
217
241
  return socket.pull();
@@ -220,20 +244,27 @@ function installHttpPullTransport(opts) {
220
244
  get connections() {
221
245
  return state.sockets.size;
222
246
  },
247
+ pageID: state.pageID,
248
+ transportID: state.transportID,
223
249
  uninstall: function () {
224
250
  if (globalThis.WebSocket === Shim) {
225
251
  globalThis.WebSocket = previousWebSocket;
226
252
  }
253
+ var registered = pageRegistry.transportsByOrigin.get(state.originString);
254
+ if (registered === transport) {
255
+ pageRegistry.transportsByOrigin.delete(state.originString);
256
+ }
227
257
  }
228
258
  };
259
+ return transport;
229
260
  }
230
- var transportsByOrigin = /* @__PURE__ */new Map();
231
261
  function ensureHttpPullTransport(opts) {
262
+ var pageRegistry = getHttpPullPageRegistry();
232
263
  var key = trimTrailingSlash(new URL(opts.origin).toString());
233
- var existing = transportsByOrigin.get(key);
264
+ var existing = pageRegistry.transportsByOrigin.get(key);
234
265
  if (existing) return existing;
235
266
  var transport = installHttpPullTransport(opts);
236
- transportsByOrigin.set(key, transport);
267
+ pageRegistry.transportsByOrigin.set(key, transport);
237
268
  return transport;
238
269
  }
239
270
  var ZeroHttpSocket = /* @__PURE__ */function () {
@@ -242,7 +273,7 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
242
273
  function ZeroHttpSocket2(state, url, protocols) {
243
274
  var _this = this;
244
275
  _class_call_check(this, ZeroHttpSocket2);
245
- var _this_state_activeSocketByClient_get, _this_cookie, _decoded_initConnectionMessage;
276
+ var _this_cookie, _decoded_initConnectionMessage;
246
277
  _define_property(this, "state", void 0);
247
278
  _define_property(this, "CONNECTING", void 0);
248
279
  _define_property(this, "OPEN", void 0);
@@ -271,6 +302,11 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
271
302
  _define_property(this, "wakeSocket", void 0);
272
303
  _define_property(this, "wakeReconnectTimer", void 0);
273
304
  _define_property(this, "generation", void 0);
305
+ _define_property(this, "zeroInstanceID", void 0);
306
+ _define_property(this, "connectionAttemptID", void 0);
307
+ _define_property(this, "socketID", void 0);
308
+ _define_property(this, "attemptStartedAt", void 0);
309
+ _define_property(this, "settled", void 0);
274
310
  this.state = state;
275
311
  this.CONNECTING = 0;
276
312
  this.OPEN = 1;
@@ -289,6 +325,7 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
289
325
  this.sentQueryPatchLen = 0;
290
326
  this.pullAfterCurrent = false;
291
327
  this.pushChain = Promise.resolve();
328
+ this.settled = false;
292
329
  this.connectURL = toHttpURL(url);
293
330
  this.url = String(url);
294
331
  var _this_connectURL_searchParams_get;
@@ -298,9 +335,16 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
298
335
  var _this_connectURL_searchParams_get2;
299
336
  this.wsid = (_this_connectURL_searchParams_get2 = this.connectURL.searchParams.get("wsid")) !== null && _this_connectURL_searchParams_get2 !== void 0 ? _this_connectURL_searchParams_get2 : `zero-http-${Date.now()}`;
300
337
  this.generation = ++this.state.nextSocketGeneration;
301
- (_this_state_activeSocketByClient_get = this.state.activeSocketByClient.get(this.clientID)) === null || _this_state_activeSocketByClient_get === void 0 ? void 0 : _this_state_activeSocketByClient_get.supersede();
338
+ this.zeroInstanceID = `${this.state.pageID}:zero:${this.clientID}`;
339
+ this.connectionAttemptID = `${this.zeroInstanceID}:attempt:${this.wsid}`;
340
+ this.socketID = `${this.state.transportID}:socket:${this.generation}`;
341
+ var attemptStartedAtParam = this.connectURL.searchParams.get("ts");
342
+ var attemptStartedAt = Number(attemptStartedAtParam);
343
+ this.attemptStartedAt = attemptStartedAtParam !== null && Number.isFinite(attemptStartedAt) ? attemptStartedAt : void 0;
344
+ var previousSocket = this.state.activeSocketByClient.get(this.clientID);
302
345
  this.state.activeSocketGenerationByClient.set(this.clientID, this.generation);
303
346
  this.state.activeSocketByClient.set(this.clientID, this);
347
+ previousSocket === null || previousSocket === void 0 ? void 0 : previousSocket.supersede();
304
348
  this.emitLifecycle("created");
305
349
  var baseCookie = this.connectURL.searchParams.get("baseCookie");
306
350
  this.cookie = baseCookie ? baseCookie : null;
@@ -374,20 +418,10 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
374
418
  value: function close() {
375
419
  var code = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 1e3,
376
420
  reason = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
377
- if (this.readyState === this.CLOSED) return;
378
- if (this.openTimer) clearTimeout(this.openTimer);
379
- if (this.pullTimer) clearInterval(this.pullTimer);
380
- this.closeWakeChannel();
381
- this.readyState = this.CLOSED;
382
- this.state.sockets.delete(this);
383
- if (this.state.activeSocketByClient.get(this.clientID) === this) {
384
- this.state.activeSocketByClient.delete(this.clientID);
385
- this.state.activeSocketGenerationByClient.delete(this.clientID);
386
- }
387
- this.emitLifecycle("close", {
421
+ if (!this.settle("close", {
388
422
  code,
389
423
  reason
390
- });
424
+ })) return;
391
425
  this.emit("close", {
392
426
  code,
393
427
  reason,
@@ -423,6 +457,20 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
423
457
  value: function open() {
424
458
  var _this = this;
425
459
  if (this.readyState !== this.CONNECTING) return;
460
+ var attemptAgeMs = this.getAttemptAgeMs();
461
+ if (attemptAgeMs !== void 0 && attemptAgeMs >= ZERO_CONNECT_TIMEOUT_MS) {
462
+ var reason = `zero-http connection attempt ${this.wsid} expired after ${Math.round(attemptAgeMs)}ms before socket construction completed`;
463
+ if (!this.settle("aborted", {
464
+ code: 1e3,
465
+ reason
466
+ })) return;
467
+ this.emit("close", {
468
+ code: 1e3,
469
+ reason,
470
+ wasClean: true
471
+ });
472
+ return;
473
+ }
426
474
  this.readyState = this.OPEN;
427
475
  this.emitLifecycle("open");
428
476
  this.emit("open", {});
@@ -801,13 +849,30 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
801
849
  }, {
802
850
  key: "supersede",
803
851
  value: function supersede() {
804
- if (this.readyState === this.CLOSED) return;
852
+ this.settle("superseded");
853
+ }
854
+ }, {
855
+ key: "settle",
856
+ value: function settle(type) {
857
+ var detail = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
858
+ if (this.settled) return false;
859
+ this.settled = true;
805
860
  if (this.openTimer !== void 0) clearTimeout(this.openTimer);
806
861
  if (this.pullTimer !== void 0) clearInterval(this.pullTimer);
807
862
  this.closeWakeChannel();
808
863
  this.readyState = this.CLOSED;
809
864
  this.state.sockets.delete(this);
810
- this.emitLifecycle("superseded");
865
+ if (this.state.activeSocketByClient.get(this.clientID) === this) {
866
+ this.state.activeSocketByClient.delete(this.clientID);
867
+ this.state.activeSocketGenerationByClient.delete(this.clientID);
868
+ }
869
+ this.emitLifecycle(type, detail);
870
+ return true;
871
+ }
872
+ }, {
873
+ key: "getAttemptAgeMs",
874
+ value: function getAttemptAgeMs() {
875
+ return this.attemptStartedAt === void 0 ? void 0 : performance.now() - this.attemptStartedAt;
811
876
  }
812
877
  }, {
813
878
  key: "emitLifecycle",
@@ -817,10 +882,19 @@ var ZeroHttpSocket = /* @__PURE__ */function () {
817
882
  var _this_state_activeSocketGenerationByClient_get;
818
883
  (_this_state_lifecycle = (_this_state = this.state).lifecycle) === null || _this_state_lifecycle === void 0 ? void 0 : _this_state_lifecycle.call(_this_state, {
819
884
  type,
885
+ pageID: this.state.pageID,
886
+ transportID: this.state.transportID,
887
+ zeroInstanceID: this.zeroInstanceID,
888
+ clientGroupID: this.clientGroupID,
889
+ connectionAttemptID: this.connectionAttemptID,
890
+ socketID: this.socketID,
820
891
  generation: this.generation,
821
892
  activeGeneration: (_this_state_activeSocketGenerationByClient_get = this.state.activeSocketGenerationByClient.get(this.clientID)) !== null && _this_state_activeSocketGenerationByClient_get !== void 0 ? _this_state_activeSocketGenerationByClient_get : this.generation,
822
893
  clientID: this.clientID,
823
894
  wsid: this.wsid,
895
+ timestamp: Date.now(),
896
+ attemptStartedAt: this.attemptStartedAt,
897
+ attemptAgeMs: this.getAttemptAgeMs(),
824
898
  ...detail
825
899
  });
826
900
  }
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","httpPullTransport_exports","__export","ensureHttpPullTransport","installHttpPullTransport","module","exports","_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","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","_define_property","obj","o","setPrototypeOf","getPrototypeOf","o2","__proto__","_inherits","subClass","superClass","create","_instanceof","left","right","Symbol","hasInstance","_is_native_function","fn","toString","call","indexOf","_type_of","p","p2","_wrap_native_super","_cache","Map","wrapNativeSuper","has","get","set","Wrapper","result","Boolean","valueOf","_","COOKIE_WIDTH","opts","_class","previousWebSocket","globalThis","WebSocket","_opts_fetch","fetchImpl","fetch","Error","_opts_pullOrigin","_opts_pushOrigin","_opts_wake","state","origin","URL","originString","trimTrailingSlash","pullOriginString","pullOrigin","pushOriginString","pushOrigin","nativeWebSocket","sockets","Set","pullIntervalMs","wakeEnabled","wake","queryTransform","queryForward","queryAware","nextPokeID","nextSocketGeneration","activeSocketGenerationByClient","activeSocketByClient","lifecycle","Shim","_class2","url","protocols","shouldIntercept","ZeroHttpSocket","String","pull","Promise","all","map","socket","connections","size","uninstall","transportsByOrigin","existing","transport","ZeroHttpSocket2","_this_state_activeSocketByClient_get","_this_cookie","_decoded_initConnectionMessage","CONNECTING","OPEN","CLOSING","CLOSED","readyState","listeners","open","message","close","error","pendingGotQueriesPatch","desiredQueryPatch","queryVersion","sentQueryPatchLen","pullAfterCurrent","pushChain","resolve","connectURL","toHttpURL","_this_connectURL_searchParams_get","clientID","searchParams","_this_connectURL_searchParams_get1","clientGroupID","_this_connectURL_searchParams_get2","wsid","Date","now","generation","supersede","emitLifecycle","baseCookie","cookie","suffixMatch","match","nextLocalCookieID","Number","decoded","decodeSecProtocol","authToken","queueDesiredQueries","initConnectionMessage","add","openTimer","setTimeout","addEventListener","type","listener","_this_listeners_type","removeEventListener","delete","dispatchEvent","event","emit","send","data","JSON","parse","requestPullAfterCurrent","auth","enqueuePush","emitMessage","run","answerMutationRecoveryPull","code","reason","clearTimeout","pullTimer","clearInterval","closeWakeChannel","wasClean","pullInFlight","fetchPull","then","response","applyServerGotQueries","unchanged","emitGotQueriesPatch","emitPoke","catch","fail","finally","pullAgain","timestamp","setInterval","openWakeChannel","Native","wakeSocket","wsBase","replace","encodeURIComponent","e","reconnect","wakeReconnectTimer","onmessage","onclose","onerror","body","desiredQueriesPatch","Array","isArray","gotQueriesPatch","transform","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","op","hash","inline","ast","_op_name","name","_op_args","err","return","postJSON","filterMutationResultsToClient","pushResponse","nextPush","got","gotQueries","patch","sentQueryVersion","version","splice"],"sources":["../../src/httpPullTransport.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","httpPullTransport_exports","__export","ensureHttpPullTransport","installHttpPullTransport","module","exports","_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","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","_define_property","obj","o","setPrototypeOf","getPrototypeOf","o2","__proto__","_inherits","subClass","superClass","create","_instanceof","left","right","Symbol","hasInstance","_is_native_function","fn","toString","call","indexOf","_type_of","p","p2","_wrap_native_super","_cache","Map","wrapNativeSuper","has","get","set","Wrapper","result","Boolean","valueOf","_","COOKIE_WIDTH","ZERO_CONNECT_TIMEOUT_MS","HTTP_PULL_PAGE_REGISTRY","for","isHttpPullPageRegistry","pageID","nextTransportGeneration","transportsByOrigin","getHttpPullPageRegistry","existing","globalThis","registry","Date","now","logHttpPullLifecycle","event","process","env","NODE_ENV","console","info","JSON","stringify","opts","_class","pageRegistry","transportID","previousWebSocket","WebSocket","_opts_fetch","fetchImpl","fetch","Error","_opts_pullOrigin","_opts_pushOrigin","_opts_wake","_opts_lifecycle","state","origin","URL","originString","trimTrailingSlash","pullOriginString","pullOrigin","pushOriginString","pushOrigin","nativeWebSocket","sockets","Set","pullIntervalMs","wakeEnabled","wake","queryTransform","queryForward","queryAware","nextPokeID","nextSocketGeneration","activeSocketGenerationByClient","activeSocketByClient","lifecycle","Shim","_class2","url","protocols","shouldIntercept","ZeroHttpSocket","String","transport","pull","Promise","all","map","socket","connections","size","uninstall","registered","delete","ZeroHttpSocket2","_this_cookie","_decoded_initConnectionMessage","CONNECTING","OPEN","CLOSING","CLOSED","readyState","listeners","open","message","close","error","pendingGotQueriesPatch","desiredQueryPatch","queryVersion","sentQueryPatchLen","pullAfterCurrent","pushChain","resolve","settled","connectURL","toHttpURL","_this_connectURL_searchParams_get","clientID","searchParams","_this_connectURL_searchParams_get1","clientGroupID","_this_connectURL_searchParams_get2","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","addEventListener","type","listener","_this_listeners_type","removeEventListener","dispatchEvent","emit","send","data","parse","requestPullAfterCurrent","auth","enqueuePush","emitMessage","run","answerMutationRecoveryPull","code","reason","settle","wasClean","pullInFlight","fetchPull","then","response","applyServerGotQueries","unchanged","emitGotQueriesPatch","emitPoke","catch","fail","finally","pullAgain","attemptAgeMs","getAttemptAgeMs","Math","round","timestamp","pullTimer","setInterval","openWakeChannel","Native","wakeSocket","wsBase","replace","encodeURIComponent","e","reconnect","wakeReconnectTimer","onmessage","onclose","onerror","closeWakeChannel","clearTimeout","body","desiredQueriesPatch","Array","isArray","gotQueriesPatch","transform","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","op","hash","inline","ast","_op_name","name","_op_args","err","return","postJSON","filterMutationResultsToClient","pushResponse","nextPush","got","gotQueries","patch","sentQueryVersion","version","splice","toWebSocketCookie","_ref","requestID"],"sources":["../../src/httpPullTransport.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -515,6 +515,69 @@ describe("zero-http transport", () => {
515
515
  args
516
516
  }) => args.some(arg => String(arg).includes("connect start time is undefined")))).toBe(false);
517
517
  });
518
+ test("a pull 500 cannot let a timed-out socket construction open on the abandoned attempt", async () => {
519
+ vi.useFakeTimers();
520
+ const lifecycle = [];
521
+ let pullCount = 0;
522
+ const fetch = vi.fn(async (input, init) => {
523
+ const request = recordRequest(input, init);
524
+ pullCount++;
525
+ if (pullCount === 1) {
526
+ return jsonResponse({
527
+ error: "injected pull outage"
528
+ }, {
529
+ status: 500
530
+ });
531
+ }
532
+ return jsonResponse({
533
+ cookie: request.body.cookie,
534
+ unchanged: true
535
+ });
536
+ });
537
+ const transport = installHttpPullTransport({
538
+ origin: ORIGIN,
539
+ fetch,
540
+ lifecycle: event => lifecycle.push(event)
541
+ });
542
+ transports.push(transport);
543
+ const first = openRawSocketWithMessages({
544
+ wsid: "before-pull-500"
545
+ });
546
+ await vi.advanceTimersByTimeAsync(1);
547
+ expect(first.socket.readyState).toBe(first.socket.CLOSED);
548
+ let delayedOpened = false;
549
+ let delayedClosed = 0;
550
+ const delayed = openRawSocketWithMessages({
551
+ wsid: "delayed-reconnect",
552
+ attemptStartedAt: performance.now() - 10001
553
+ });
554
+ delayed.socket.addEventListener("open", () => {
555
+ delayedOpened = true;
556
+ });
557
+ delayed.socket.addEventListener("close", () => {
558
+ delayedClosed++;
559
+ });
560
+ await vi.advanceTimersByTimeAsync(1);
561
+ expect(delayedOpened).toBe(false);
562
+ expect(delayedClosed).toBe(1);
563
+ expect(lifecycle.filter(event => event.type === "open")).toHaveLength(1);
564
+ const aborted = lifecycle.find(event => event.type === "aborted");
565
+ expect(aborted).toMatchObject({
566
+ pageID: transport.pageID,
567
+ transportID: transport.transportID,
568
+ zeroInstanceID: `${transport.pageID}:zero:c1`,
569
+ clientID: "c1",
570
+ clientGroupID: "cg1",
571
+ connectionAttemptID: `${transport.pageID}:zero:c1:attempt:delayed-reconnect`,
572
+ socketID: `${transport.transportID}:socket:2`,
573
+ wsid: "delayed-reconnect",
574
+ generation: 2,
575
+ activeGeneration: 2,
576
+ code: 1e3
577
+ });
578
+ expect(aborted?.attemptAgeMs).toBeGreaterThanOrEqual(1e4);
579
+ expect(lifecycle.filter(event => event.generation === 2 && (event.type === "aborted" || event.type === "close" || event.type === "superseded"))).toHaveLength(1);
580
+ });
518
581
  test("a replacement socket supersedes stale open and connected events for the same client", async () => {
519
582
  vi.useFakeTimers();
520
583
  const lifecycle = [];
@@ -557,8 +620,10 @@ describe("zero-http transport", () => {
557
620
  expect(lifecycle).toContainEqual(expect.objectContaining({
558
621
  type: "superseded",
559
622
  generation: 1,
623
+ activeGeneration: 2,
560
624
  wsid: "stale"
561
625
  }));
626
+ expect(lifecycle.filter(event => event.generation === 1 && (event.type === "aborted" || event.type === "close" || event.type === "superseded"))).toHaveLength(1);
562
627
  expect(errors).toEqual([]);
563
628
  });
564
629
  test("non-origin WebSockets pass through to the native implementation", () => {
@@ -585,17 +650,21 @@ describe("zero-http transport", () => {
585
650
  expect(globalThis.WebSocket).toBe(NativeWebSocket);
586
651
  globalThis.WebSocket = previous;
587
652
  });
588
- test("ensureHttpPullTransport installs once per origin", () => {
653
+ test("ensureHttpPullTransport installs once per origin across module evaluation", async () => {
589
654
  const origin = "http://127.0.0.1:65501";
590
655
  const first = ensureHttpPullTransport({
591
656
  origin,
592
657
  fetch: vi.fn()
593
658
  });
594
- const second = ensureHttpPullTransport({
659
+ vi.resetModules();
660
+ const reloaded = await import("../httpPullTransport.mjs");
661
+ const second = reloaded.ensureHttpPullTransport({
595
662
  origin,
596
663
  fetch: vi.fn()
597
664
  });
598
665
  expect(second).toBe(first);
666
+ expect(first.pageID).toMatch(/^page-/);
667
+ expect(first.transportID).toMatch(new RegExp(`^${first.pageID}:transport:[1-9][0-9]*$`));
599
668
  first.uninstall();
600
669
  });
601
670
  test("push responses are filtered to this client \u2014 foreign (recovery) results are dropped", async () => {
@@ -743,6 +812,9 @@ function openRawSocketWithMessages(opts) {
743
812
  url.searchParams.set("baseCookie", "");
744
813
  url.searchParams.set("lmid", "0");
745
814
  url.searchParams.set("wsid", opts?.wsid ?? "ws-test");
815
+ if (opts?.attemptStartedAt !== void 0) {
816
+ url.searchParams.set("ts", String(opts.attemptStartedAt));
817
+ }
746
818
  const messages = [];
747
819
  const socket = new WebSocket(url, encodeSecProtocol(["initConnection", {
748
820
  desiredQueriesPatch: opts?.desiredQueriesPatch ?? []
@@ -1 +1 @@
1
- {"version":3,"names":["Zero","afterEach","describe","expect","test","vi","zeroHttpFixtureMutators","zeroHttpFixtureSchema","ensureHttpPullTransport","installHttpPullTransport","ORIGIN","zeros","transports","storageID","length","pop","close","uninstall","useRealTimers","requests","cookie","fetch","fn","input","init","request","recordRequest","push","path","toBe","headers","authorization","jsonResponse","lastMutationIDChanges","rowsPatch","op","tableName","value","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","endsWith","origin","pullOrigin","pushOrigin","some","url","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","catch","opens","generation","activeGeneration","arg","includes","useFakeTimers","connectStart","Date","now","errors","attachStockLifecycle","addEventListener","stale","wsid","advanceTimersByTimeAsync","toContainEqual","objectContaining","previous","globalThis","WebSocket","NativeWebSocket","constructor","protocols","CONNECTING","OPEN","CLOSING","CLOSED","toBeInstanceOf","first","second","details","onClientStateNotFound","toHaveBeenCalled","options","userID","schema","kvStore","storageKey","mutators","logLevel","URL","Object","fromEntries","entries","key","toLowerCase","toString","pathname","Response","statusText","reject","timeout","setTimeout","clearTimeout","assertion","started","lastError","ms","opts","protocol","searchParams","set","encodeSecProtocol","desiredQueriesPatch","timestamp","item","toBeDefined","initConnectionMessage","encodeURIComponent","Buffer","from","res","rej","installWithQueries","queryTransform","gotQueries","version","patch","hash","resolved","queries","ast","poke","m","Array","isArray","gotQueriesPatch","inline","desired","before","replay","queryForward","table"],"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","ORIGIN","zeros","transports","storageID","length","pop","close","uninstall","useRealTimers","requests","cookie","fetch","fn","input","init","request","recordRequest","push","path","toBe","headers","authorization","jsonResponse","lastMutationIDChanges","rowsPatch","op","tableName","value","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","endsWith","origin","pullOrigin","pushOrigin","some","url","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","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","constructor","protocols","CONNECTING","OPEN","CLOSING","toBeInstanceOf","resetModules","reloaded","second","toMatch","RegExp","details","onClientStateNotFound","toHaveBeenCalled","options","userID","schema","kvStore","storageKey","mutators","logLevel","URL","Object","fromEntries","entries","key","toLowerCase","toString","pathname","Response","statusText","reject","timeout","setTimeout","clearTimeout","assertion","started","lastError","ms","opts","protocol","searchParams","set","encodeSecProtocol","desiredQueriesPatch","timestamp","item","toBeDefined","initConnectionMessage","encodeURIComponent","Buffer","from","res","rej","installWithQueries","queryTransform","gotQueries","version","patch","hash","resolved","queries","ast","poke","m","Array","isArray","gotQueriesPatch","inline","desired","before","replay","queryForward","table"],"sources":["../../../src/httpPull/transport.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}