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
@@ -4,11 +4,130 @@ import { createAsyncTaskCollector, createZeroDirectServerRuntime, resolveServerQ
4
4
  import { createMutators } from "./helpers/createMutators.native.js";
5
5
  import { runWithAuthScope } from "./helpers/mutatorContext.native.js";
6
6
  import { runWithQueryContext } from "./helpers/queryContext.native.js";
7
+ function _assert_this_initialized(self) {
8
+ if (self === void 0) {
9
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
10
+ }
11
+ return self;
12
+ }
13
+ function _call_super(_this, derived, args) {
14
+ derived = _get_prototype_of(derived);
15
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
16
+ }
17
+ function _class_call_check(instance, Constructor) {
18
+ if (!(instance instanceof Constructor)) {
19
+ throw new TypeError("Cannot call a class as a function");
20
+ }
21
+ }
22
+ function _construct(Parent, args, Class) {
23
+ if (_is_native_reflect_construct()) {
24
+ _construct = Reflect.construct;
25
+ } else {
26
+ _construct = function construct(Parent2, args2, Class2) {
27
+ var a = [null];
28
+ a.push.apply(a, args2);
29
+ var Constructor = Function.bind.apply(Parent2, a);
30
+ var instance = new Constructor();
31
+ if (Class2) _set_prototype_of(instance, Class2.prototype);
32
+ return instance;
33
+ };
34
+ }
35
+ return _construct.apply(null, arguments);
36
+ }
37
+ function _define_property(obj, key, value) {
38
+ if (key in obj) {
39
+ Object.defineProperty(obj, key, {
40
+ value,
41
+ enumerable: true,
42
+ configurable: true,
43
+ writable: true
44
+ });
45
+ } else {
46
+ obj[key] = value;
47
+ }
48
+ return obj;
49
+ }
50
+ function _get_prototype_of(o) {
51
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o2) {
52
+ return o2.__proto__ || Object.getPrototypeOf(o2);
53
+ };
54
+ return _get_prototype_of(o);
55
+ }
56
+ function _inherits(subClass, superClass) {
57
+ if (typeof superClass !== "function" && superClass !== null) {
58
+ throw new TypeError("Super expression must either be null or a function");
59
+ }
60
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
61
+ constructor: {
62
+ value: subClass,
63
+ writable: true,
64
+ configurable: true
65
+ }
66
+ });
67
+ if (superClass) _set_prototype_of(subClass, superClass);
68
+ }
69
+ function _instanceof(left, right) {
70
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
71
+ return !!right[Symbol.hasInstance](left);
72
+ } else {
73
+ return left instanceof right;
74
+ }
75
+ }
76
+ function _is_native_function(fn) {
77
+ return Function.toString.call(fn).indexOf("[native code]") !== -1;
78
+ }
79
+ function _possible_constructor_return(self, call) {
80
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
81
+ return call;
82
+ }
83
+ return _assert_this_initialized(self);
84
+ }
85
+ function _set_prototype_of(o, p) {
86
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o2, p2) {
87
+ o2.__proto__ = p2;
88
+ return o2;
89
+ };
90
+ return _set_prototype_of(o, p);
91
+ }
7
92
  function _type_of(obj) {
8
93
  "@swc/helpers - typeof";
9
94
 
10
95
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
11
96
  }
97
+ function _wrap_native_super(Class) {
98
+ var _cache = typeof Map === "function" ? /* @__PURE__ */new Map() : void 0;
99
+ _wrap_native_super = function wrapNativeSuper(Class2) {
100
+ if (Class2 === null || !_is_native_function(Class2)) return Class2;
101
+ if (typeof Class2 !== "function") {
102
+ throw new TypeError("Super expression must either be null or a function");
103
+ }
104
+ if (typeof _cache !== "undefined") {
105
+ if (_cache.has(Class2)) return _cache.get(Class2);
106
+ _cache.set(Class2, Wrapper);
107
+ }
108
+ function Wrapper() {
109
+ return _construct(Class2, arguments, _get_prototype_of(this).constructor);
110
+ }
111
+ Wrapper.prototype = Object.create(Class2.prototype, {
112
+ constructor: {
113
+ value: Wrapper,
114
+ enumerable: false,
115
+ writable: true,
116
+ configurable: true
117
+ }
118
+ });
119
+ return _set_prototype_of(Wrapper, Class2);
120
+ };
121
+ return _wrap_native_super(Class);
122
+ }
123
+ function _is_native_reflect_construct() {
124
+ try {
125
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
126
+ } catch (_) {}
127
+ return (_is_native_reflect_construct = function () {
128
+ return !!result;
129
+ })();
130
+ }
12
131
  function createZeroServerCore(param) {
13
132
  var {
14
133
  createDatabase,
@@ -130,7 +249,16 @@ function withTransactionLifecycle(database, lifecycle) {
130
249
  var value = await database.transaction(async function (tx, hooks) {
131
250
  lifecycle.beginAttempt();
132
251
  try {
133
- var result = await callback(tx, hooks);
252
+ var result = await callback(tx, {
253
+ ...hooks,
254
+ async updateClientMutationID() {
255
+ var result2 = await hooks.updateClientMutationID();
256
+ if (input && input.mutationID < result2.lastMutationID) {
257
+ throw new ExpectedDuplicateMutation(input.clientID, input.mutationID, result2.lastMutationID);
258
+ }
259
+ return result2;
260
+ }
261
+ });
134
262
  lifecycle.completeAttempt();
135
263
  return result;
136
264
  } catch (error) {
@@ -142,11 +270,35 @@ function withTransactionLifecycle(database, lifecycle) {
142
270
  return value;
143
271
  } catch (error) {
144
272
  lifecycle.rollbackTransaction();
273
+ if (_instanceof(error, ExpectedDuplicateMutation)) {
274
+ return {
275
+ id: {
276
+ clientID: error.clientID,
277
+ id: error.mutationID
278
+ },
279
+ result: {
280
+ error: "alreadyProcessed",
281
+ details: error.message
282
+ }
283
+ };
284
+ }
145
285
  throw error;
146
286
  }
147
287
  }
148
288
  };
149
289
  }
290
+ var ExpectedDuplicateMutation = /* @__PURE__ */function (Error1) {
291
+ "use strict";
292
+
293
+ _inherits(ExpectedDuplicateMutation2, Error1);
294
+ function ExpectedDuplicateMutation2(clientID, mutationID, expectedMutationID) {
295
+ _class_call_check(this, ExpectedDuplicateMutation2);
296
+ var _this;
297
+ _this = _call_super(this, ExpectedDuplicateMutation2, [`Ignoring mutation from ${clientID} with ID ${mutationID} as it was already processed. Expected: ${expectedMutationID}`]), _define_property(_this, "clientID", void 0), _define_property(_this, "mutationID", void 0), _this.clientID = clientID, _this.mutationID = mutationID;
298
+ return _this;
299
+ }
300
+ return ExpectedDuplicateMutation2;
301
+ }(_wrap_native_super(Error));
150
302
  async function parseAlreadyProcessed(request, response) {
151
303
  var mutations = alreadyProcessedMutations(response);
152
304
  if (mutations.length === 0) return;
@@ -1 +1 @@
1
- {"version":3,"names":["PushProcessor","handleQueryRequest","zeroHandleQueryRequest","runAsyncTaskEntries","createAsyncTaskCollector","createZeroDirectServerRuntime","resolveServerQuery","createMutators","runWithAuthScope","runWithQueryContext","_type_of","obj","Symbol","constructor","createZeroServerCore","param","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","handleMutationRequest","param2","authData","request","scheduleBackgroundTask","skipAsyncTasks","tasks","recoveryRequest","clone","mutators","enqueueTask","can","environment","processor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","background","asyncTasks","Error","handler","name","args","userID","id","database","transaction","callback","input","value","tx","hooks","beginAttempt","result","completeAttempt","error","rollbackAttempt","commitTransaction","rollbackTransaction","alreadyProcessedMutations","upstreamSchema","URL","url","searchParams","get","body","json","clientGroupID","Array","isArray","filter","mutation","clientID"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PushProcessor","handleQueryRequest","zeroHandleQueryRequest","runAsyncTaskEntries","createAsyncTaskCollector","createZeroDirectServerRuntime","resolveServerQuery","createMutators","runWithAuthScope","runWithQueryContext","_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","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","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","_","createZeroServerCore","param","createDatabase","createServerActions","defaultAllowAdminRole","defaultMutateAuthData","models","mutations","mutationValidators","persistAlreadyProcessed","queries","schema","validateMutation","validateQuery","permissions","server","handleMutationRequest","param2","authData","request","scheduleBackgroundTask","skipAsyncTasks","tasks","recoveryRequest","clone","mutators","enqueueTask","can","environment","processor","withTransactionLifecycle","lifecycle","response","process","parsed","parseAlreadyProcessed","committed","length","entries","map","entry","task","background","asyncTasks","Error","handler","name"],"sources":["../../src/createZeroServerCore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -434,22 +434,132 @@ describe("zero-http transport", () => {
434
434
  cleanup();
435
435
  view.destroy();
436
436
  });
437
- test("transient pull failures back off reconnect attempts", async () => {
438
- const requests = [];
437
+ test("pull and push 500 reconnects keep socket opens on their current Zero attempt", async () => {
438
+ const lifecycle = [];
439
+ const zeroLogs = [];
440
+ let failPull = false;
441
+ let failPush = false;
439
442
  const fetch = vi.fn(async (input, init) => {
440
443
  const request = recordRequest(input, init);
441
- requests.push(request);
442
- expect(request.path).toBe("/pull");
443
- throw new TypeError("Failed to fetch");
444
+ if (request.path === "/pull") {
445
+ if (failPull) {
446
+ failPull = false;
447
+ return jsonResponse({
448
+ error: "injected pull outage"
449
+ }, {
450
+ status: 500
451
+ });
452
+ }
453
+ return jsonResponse({
454
+ cookie: request.body.cookie,
455
+ unchanged: true
456
+ });
457
+ }
458
+ if (failPush) {
459
+ failPush = false;
460
+ return jsonResponse({
461
+ error: "injected push outage"
462
+ }, {
463
+ status: 500
464
+ });
465
+ }
466
+ const mutation2 = request.body.mutations[0];
467
+ return jsonResponse({
468
+ pushResponse: {
469
+ mutations: [{
470
+ id: {
471
+ clientID: mutation2.clientID,
472
+ id: mutation2.id
473
+ },
474
+ result: {}
475
+ }]
476
+ }
477
+ });
444
478
  });
445
- install(fetch);
446
- createZero();
447
- await eventually(() => expect(requests.length).toBe(1));
448
- await sleep(150);
449
- expect(requests.length).toBe(1);
450
- await eventually(() => expect(requests.length).toBe(2), 1500);
451
- await sleep(150);
452
- expect(requests.length).toBe(2);
479
+ const transport = installHttpPullTransport({
480
+ origin: ORIGIN,
481
+ fetch,
482
+ lifecycle: event => lifecycle.push(event)
483
+ });
484
+ transports.push(transport);
485
+ const zero = createZero({
486
+ logSink: {
487
+ log: (_level, context, ...args) => {
488
+ zeroLogs.push({
489
+ context: context ?? {},
490
+ args
491
+ });
492
+ }
493
+ }
494
+ });
495
+ await eventually(() => expect(zero.connection.state.current.name).toBe("connected"));
496
+ failPull = true;
497
+ await transport.pull().catch(() => {});
498
+ await eventually(() => expect(lifecycle.filter(event => event.type === "open")).toHaveLength(2), 5e3);
499
+ failPush = true;
500
+ const mutation = zero.mutate.project.create({
501
+ id: "p1",
502
+ ownerId: "u1",
503
+ name: "after reconnect"
504
+ });
505
+ await mutation.client;
506
+ await mutation.server.catch(() => {});
507
+ await eventually(() => expect(lifecycle.filter(event => event.type === "open")).toHaveLength(3), 5e3);
508
+ await eventually(() => expect(zero.connection.state.current.name).toBe("connected"), 5e3);
509
+ const opens = lifecycle.filter(event => event.type === "open");
510
+ expect(opens.map(({
511
+ generation,
512
+ activeGeneration
513
+ }) => [generation, activeGeneration])).toEqual([[1, 1], [2, 2], [3, 3]]);
514
+ expect(zeroLogs.some(({
515
+ args
516
+ }) => args.some(arg => String(arg).includes("connect start time is undefined")))).toBe(false);
517
+ });
518
+ test("a replacement socket supersedes stale open and connected events for the same client", async () => {
519
+ vi.useFakeTimers();
520
+ const lifecycle = [];
521
+ const transport = installHttpPullTransport({
522
+ origin: ORIGIN,
523
+ fetch: vi.fn(async () => jsonResponse({
524
+ cookie: null,
525
+ unchanged: true
526
+ })),
527
+ lifecycle: event => lifecycle.push(event)
528
+ });
529
+ transports.push(transport);
530
+ let connectStart = Date.now();
531
+ const errors = [];
532
+ const attachStockLifecycle = socket => {
533
+ socket.addEventListener("open", () => {
534
+ if (connectStart === void 0) {
535
+ errors.push("Got open event but connect start time is undefined.");
536
+ }
537
+ });
538
+ socket.addEventListener("message", event => {
539
+ const message = JSON.parse(String(event.data));
540
+ if (message[0] === "connected") connectStart = void 0;
541
+ });
542
+ };
543
+ const stale = openRawSocketWithMessages({
544
+ wsid: "stale"
545
+ }).socket;
546
+ attachStockLifecycle(stale);
547
+ const current = openRawSocketWithMessages({
548
+ wsid: "current"
549
+ }).socket;
550
+ attachStockLifecycle(current);
551
+ await vi.advanceTimersByTimeAsync(1);
552
+ expect(lifecycle.filter(event => event.type === "open").map(({
553
+ generation,
554
+ activeGeneration,
555
+ wsid
556
+ }) => [generation, activeGeneration, wsid])).toEqual([[2, 2, "current"]]);
557
+ expect(lifecycle).toContainEqual(expect.objectContaining({
558
+ type: "superseded",
559
+ generation: 1,
560
+ wsid: "stale"
561
+ }));
562
+ expect(errors).toEqual([]);
453
563
  });
454
564
  test("non-origin WebSockets pass through to the native implementation", () => {
455
565
  const previous = globalThis.WebSocket;
@@ -565,7 +675,9 @@ function createZero(options = {}) {
565
675
  storageKey: `zero-http-test-${++storageID}`,
566
676
  mutators: zeroHttpFixtureMutators,
567
677
  pingTimeoutMs: options.pingTimeoutMs,
568
- onClientStateNotFound: options.onClientStateNotFound
678
+ onClientStateNotFound: options.onClientStateNotFound,
679
+ logLevel: options.logSink ? "debug" : void 0,
680
+ logSink: options.logSink
569
681
  });
570
682
  zeros.push(zero);
571
683
  return zero;
@@ -630,7 +742,7 @@ function openRawSocketWithMessages(opts) {
630
742
  url.searchParams.set("userID", "u1");
631
743
  url.searchParams.set("baseCookie", "");
632
744
  url.searchParams.set("lmid", "0");
633
- url.searchParams.set("wsid", "ws-test");
745
+ url.searchParams.set("wsid", opts?.wsid ?? "ws-test");
634
746
  const messages = [];
635
747
  const socket = new WebSocket(url, encodeSecProtocol(["initConnection", {
636
748
  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","TypeError","previous","globalThis","WebSocket","NativeWebSocket","constructor","protocols","CONNECTING","OPEN","CLOSING","CLOSED","toBeInstanceOf","first","second","details","onClientStateNotFound","toHaveBeenCalled","options","userID","schema","kvStore","storageKey","mutators","URL","Object","fromEntries","entries","key","toLowerCase","toString","pathname","Response","statusText","reject","timeout","setTimeout","clearTimeout","assertion","started","Date","now","lastError","ms","opts","protocol","searchParams","set","encodeSecProtocol","desiredQueriesPatch","addEventListener","event","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","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":[]}