on-zero 0.8.3 → 0.8.4

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 (59) hide show
  1. package/README.md +15 -2
  2. package/dist/cjs/combineZeroClients.cjs +21 -1
  3. package/dist/cjs/combineZeroClients.native.js +34 -9
  4. package/dist/cjs/combineZeroClients.native.js.map +1 -1
  5. package/dist/cjs/createZeroClient.cjs +81 -8
  6. package/dist/cjs/createZeroClient.connection.test.cjs +67 -0
  7. package/dist/cjs/createZeroClient.connection.test.native.js +69 -0
  8. package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
  9. package/dist/cjs/createZeroClient.native.js +85 -9
  10. package/dist/cjs/createZeroClient.native.js.map +1 -1
  11. package/dist/cjs/createZeroClient.recovery.test.cjs +19 -8
  12. package/dist/cjs/createZeroClient.recovery.test.native.js +20 -8
  13. package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
  14. package/dist/cjs/helpers/recoverZeroClient.cjs +0 -3
  15. package/dist/cjs/helpers/recoverZeroClient.native.js +0 -3
  16. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  17. package/dist/cjs/multiInstance.test.cjs +54 -0
  18. package/dist/cjs/multiInstance.test.native.js +58 -0
  19. package/dist/cjs/multiInstance.test.native.js.map +1 -1
  20. package/dist/esm/combineZeroClients.mjs +21 -1
  21. package/dist/esm/combineZeroClients.mjs.map +1 -1
  22. package/dist/esm/combineZeroClients.native.js +34 -9
  23. package/dist/esm/combineZeroClients.native.js.map +1 -1
  24. package/dist/esm/createZeroClient.connection.test.mjs +67 -0
  25. package/dist/esm/createZeroClient.connection.test.mjs.map +1 -1
  26. package/dist/esm/createZeroClient.connection.test.native.js +69 -0
  27. package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
  28. package/dist/esm/createZeroClient.mjs +81 -8
  29. package/dist/esm/createZeroClient.mjs.map +1 -1
  30. package/dist/esm/createZeroClient.native.js +85 -9
  31. package/dist/esm/createZeroClient.native.js.map +1 -1
  32. package/dist/esm/createZeroClient.recovery.test.mjs +19 -8
  33. package/dist/esm/createZeroClient.recovery.test.mjs.map +1 -1
  34. package/dist/esm/createZeroClient.recovery.test.native.js +20 -8
  35. package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
  36. package/dist/esm/helpers/recoverZeroClient.mjs +0 -3
  37. package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
  38. package/dist/esm/helpers/recoverZeroClient.native.js +0 -3
  39. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
  40. package/dist/esm/multiInstance.test.mjs +54 -0
  41. package/dist/esm/multiInstance.test.mjs.map +1 -1
  42. package/dist/esm/multiInstance.test.native.js +58 -0
  43. package/dist/esm/multiInstance.test.native.js.map +1 -1
  44. package/package.json +1 -1
  45. package/src/combineZeroClients.tsx +30 -1
  46. package/src/createZeroClient.connection.test.tsx +66 -0
  47. package/src/createZeroClient.recovery.test.tsx +21 -12
  48. package/src/createZeroClient.tsx +127 -18
  49. package/src/helpers/recoverZeroClient.ts +0 -13
  50. package/src/multiInstance.test.tsx +49 -0
  51. package/src/types.ts +13 -2
  52. package/types/combineZeroClients.d.ts +2 -0
  53. package/types/combineZeroClients.d.ts.map +1 -1
  54. package/types/createZeroClient.d.ts +2 -0
  55. package/types/createZeroClient.d.ts.map +1 -1
  56. package/types/helpers/recoverZeroClient.d.ts +1 -6
  57. package/types/helpers/recoverZeroClient.d.ts.map +1 -1
  58. package/types/types.d.ts +10 -1
  59. package/types/types.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["createEmitter","getInstanceForNamespace","getInstanceForQueryFn","run","jsx","combineZeroClients","clientsAndOptions","last","length","hasOptions","instanceName","clients","slice","options","primary","innerName","inner","clientsByName","Map","map","client","has","Error","ownerOfNamespace","namespace","owner","get","name","ownerOfQueryFn","fn","useQuery","args","useQueryDirect","usePermission","String","usePermissionDirect","mutate","Proxy","_","key","zero","preload","getQuery","zeroEvents","join","listen","event","emit","ControlQueries","children","props","reduceRight","combined"],"sources":["../../src/combineZeroClients.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createEmitter","getInstanceForNamespace","getInstanceForQueryFn","run","jsx","combineZeroClients","clientsAndOptions","last","length","hasOptions","instanceName","clients","slice","options","primary","innerName","inner","clientsByName","Map","map","client","has","Error","ownerOfNamespace","namespace","owner","get","name","ownerOfQueryFn","fn","useQuery","args","useQueryDirect","usePermission","String","usePermissionDirect","mutate","Proxy","_","key","zero","preload","getQuery","zeroEvents","join","reconnecting","listen","event","type","emit","status","delete","size","pending","values","find","candidate","pending2","set","ControlQueries","children","props","reduceRight","combined","reloadPage"],"sources":["../../src/combineZeroClients.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -13,8 +13,8 @@ function combineZeroClients() {
13
13
  var options = hasOptions ? last : {};
14
14
  var primary = clients[0];
15
15
  var innerName = (_options_inner = options.inner) !== null && _options_inner !== void 0 ? _options_inner : clients[clients.length - 1].instanceName;
16
- var clientsByName = new Map(clients.map(function (client2) {
17
- return [client2.instanceName, client2];
16
+ var clientsByName = new Map(clients.map(function (client) {
17
+ return [client.instanceName, client];
18
18
  }));
19
19
  if (!clientsByName.has(innerName)) {
20
20
  throw new Error(`[on-zero] combineZeroClients inner instance '${innerName}' is not one of the passed clients`);
@@ -67,19 +67,43 @@ function combineZeroClients() {
67
67
  }
68
68
  return ownerOfQueryFn(args[0]).getQuery(...args);
69
69
  }
70
- var zeroEvents = createEmitter(`zero:combined(${clients.map(function (client2) {
71
- return client2.instanceName;
70
+ var zeroEvents = createEmitter(`zero:combined(${clients.map(function (client) {
71
+ return client.instanceName;
72
72
  }).join("+")})`, null);
73
+ var reconnecting = /* @__PURE__ */new Map();
73
74
  var _iteratorNormalCompletion = true,
74
75
  _didIteratorError = false,
75
76
  _iteratorError = void 0;
76
77
  try {
77
- for (var _iterator = clients[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
78
+ var _loop = function () {
78
79
  var client = _step.value;
79
80
  client.zeroEvents.listen(function (event) {
80
- return zeroEvents.emit(event);
81
+ var _pending_find;
82
+ if ((event === null || event === void 0 ? void 0 : event.type) !== "reconnect") {
83
+ zeroEvents.emit(event);
84
+ return;
85
+ }
86
+ if (event.status === "connected") {
87
+ var _pending_find1;
88
+ reconnecting.delete(client.instanceName);
89
+ if (reconnecting.size === 0) {
90
+ zeroEvents.emit(event);
91
+ return;
92
+ }
93
+ var pending = [...reconnecting.values()];
94
+ zeroEvents.emit((_pending_find1 = pending.find(function (candidate) {
95
+ return candidate.status === "waiting";
96
+ })) !== null && _pending_find1 !== void 0 ? _pending_find1 : pending[0]);
97
+ return;
98
+ }
99
+ reconnecting.set(client.instanceName, event);
100
+ var pending1 = [...reconnecting.values()];
101
+ zeroEvents.emit((_pending_find = pending1.find(function (candidate) {
102
+ return candidate.status === "waiting";
103
+ })) !== null && _pending_find !== void 0 ? _pending_find : event);
81
104
  });
82
- }
105
+ };
106
+ for (var _iterator = clients[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
83
107
  } catch (err) {
84
108
  _didIteratorError = true;
85
109
  _iteratorError = err;
@@ -99,8 +123,8 @@ function combineZeroClients() {
99
123
  children,
100
124
  ...props
101
125
  } = param;
102
- return clients.reduceRight(function (inner, client2) {
103
- return /* @__PURE__ */_jsx(client2.ControlQueries, {
126
+ return clients.reduceRight(function (inner, client) {
127
+ return /* @__PURE__ */_jsx(client.ControlQueries, {
104
128
  ...props,
105
129
  children: inner
106
130
  });
@@ -114,6 +138,7 @@ function combineZeroClients() {
114
138
  getQuery,
115
139
  run,
116
140
  zeroEvents,
141
+ reloadPage: primary.reloadPage,
117
142
  ControlQueries
118
143
  };
119
144
  return combined;
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","createEmitter","getInstanceForNamespace","getInstanceForQueryFn","run","combineZeroClients","_len","arguments","length","clientsAndOptions","Array","_key","_options_inner","last","hasOptions","instanceName","clients","slice","options","primary","innerName","inner","clientsByName","Map","map","client2","has","Error","ownerOfNamespace","ownerOfNamespace2","namespace","owner","get","name","ownerOfQueryFn","ownerOfQueryFn2","fn","useQuery","_len2","args","_key2","useQueryDirect","usePermission","String","usePermissionDirect","mutate","Proxy","_","key","zero","preload","getQuery","zeroEvents","join","_iteratorNormalCompletion","_didIteratorError","_iteratorError"],"sources":["../../src/combineZeroClients.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","createEmitter","getInstanceForNamespace","getInstanceForQueryFn","run","combineZeroClients","_len","arguments","length","clientsAndOptions","Array","_key","_options_inner","last","hasOptions","instanceName","clients","slice","options","primary","innerName","inner","clientsByName","Map","map","client","has","Error","ownerOfNamespace","ownerOfNamespace2","namespace","owner","get","name","ownerOfQueryFn","ownerOfQueryFn2","fn","useQuery","_len2","args","_key2","useQueryDirect","usePermission","String","usePermissionDirect","mutate","Proxy","_","key","zero","preload","getQuery","zeroEvents","join","reconnecting","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","_step","value","listen","event","_pending_find","type","emit","status","_pending_find1","delete","size","pending","values","find","candidate"],"sources":["../../src/combineZeroClients.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -178,6 +178,73 @@ test("stale-poke error reconnects instead of surfacing a fatal error", async ()
178
178
  expect(events.some(event => event.type === "error")).toBe(false);
179
179
  off();
180
180
  });
181
+ test("transport error reconnects in place and publishes trying status", async () => {
182
+ const events = [];
183
+ const off = client.zeroEvents.listen(event => {
184
+ if (event) events.push(event);
185
+ });
186
+ const instance = await mount({}, "conn-transport");
187
+ await act(async () => {
188
+ instance.connection.state.set({
189
+ name: "error",
190
+ reason: "Unexpected internal error: Failed to fetch"
191
+ });
192
+ await Promise.resolve();
193
+ });
194
+ expect(instance.connection.connect).toHaveBeenCalledTimes(1);
195
+ expect(events).toContainEqual({
196
+ type: "reconnect",
197
+ status: "trying",
198
+ reasonKey: "transport",
199
+ reason: "Unexpected internal error: Failed to fetch"
200
+ });
201
+ expect(events.some(event => event.type === "error")).toBe(false);
202
+ await act(async () => {
203
+ instance.connection.state.set({
204
+ name: "connected"
205
+ });
206
+ await Promise.resolve();
207
+ });
208
+ expect(events).toContainEqual({
209
+ type: "reconnect",
210
+ status: "connected"
211
+ });
212
+ off();
213
+ });
214
+ test("server overload publishes waiting status while Zero owns retry backoff", async () => {
215
+ const events = [];
216
+ const off = client.zeroEvents.listen(event => {
217
+ if (event) events.push(event);
218
+ });
219
+ const instance = await mount({}, "conn-overload");
220
+ await act(async () => {
221
+ instance.connection.state.set({
222
+ name: "connecting",
223
+ reason: "ServerOverloaded: retry later"
224
+ });
225
+ await Promise.resolve();
226
+ });
227
+ expect(instance.connection.connect).not.toHaveBeenCalled();
228
+ expect(events).toContainEqual({
229
+ type: "reconnect",
230
+ status: "waiting",
231
+ reasonKey: "server-overloaded",
232
+ reason: "ServerOverloaded: retry later"
233
+ });
234
+ await act(async () => {
235
+ instance.connection.state.set({
236
+ name: "connecting"
237
+ });
238
+ await Promise.resolve();
239
+ });
240
+ expect(events).toContainEqual({
241
+ type: "reconnect",
242
+ status: "trying",
243
+ reasonKey: "server-overloaded",
244
+ reason: "ServerOverloaded: retry later"
245
+ });
246
+ off();
247
+ });
181
248
  test("connectionDataset mirrors connection state onto the body dataset", async () => {
182
249
  const instance = await mount({
183
250
  connectionDataset: true
@@ -1 +1 @@
1
- {"version":3,"names":["createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","jsx","fakeZero","hoisted","FakeConnectionState","current","listeners","Set","constructor","initial","subscribe","cb","add","delete","set","next","FakeZero","context","connection","state","name","connect","fn","errors","close","run","preload","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","length","document","createElement","dataset","zeroState","zeroConnected","zeroReason","unmount","mount","extraProps","userID","render","ProvideZero","cacheURL","children","at","readinessClient","ready","waitForZero","toBe","install","transport","toHaveBeenCalledOnce","toHaveBeenCalledWith","refreshAuth","events","off","zeroEvents","listen","event","instance","reason","toHaveBeenCalledTimes","auth","toContainEqual","type","reasonKey","message","some","connectionDataset","zeroCacheUrl","toBeUndefined","useFakeTimers","advanceTimersByTime","not","toHaveBeenCalled","useRealTimers"],"sources":["../../src/createZeroClient.connection.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","jsx","fakeZero","hoisted","FakeConnectionState","current","listeners","Set","constructor","initial","subscribe","cb","add","delete","set","next","FakeZero","context","connection","state","name","connect","fn","errors","close","run","preload","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","length","document","createElement","dataset","zeroState","zeroConnected","zeroReason","unmount","mount","extraProps","userID","render","ProvideZero","cacheURL","children","at","readinessClient","ready","waitForZero","toBe","install","transport","toHaveBeenCalledOnce","toHaveBeenCalledWith","refreshAuth","events","off","zeroEvents","listen","event","instance","reason","toHaveBeenCalledTimes","auth","toContainEqual","type","reasonKey","message","some","status","not","toHaveBeenCalled","connectionDataset","zeroCacheUrl","toBeUndefined","useFakeTimers","advanceTimersByTime","useRealTimers"],"sources":["../../src/createZeroClient.connection.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -250,6 +250,75 @@ test("stale-poke error reconnects instead of surfacing a fatal error", async fun
250
250
  })).toBe(false);
251
251
  off();
252
252
  });
253
+ test("transport error reconnects in place and publishes trying status", async function () {
254
+ var events = [];
255
+ var off = client.zeroEvents.listen(function (event) {
256
+ if (event) events.push(event);
257
+ });
258
+ var instance = await mount({}, "conn-transport");
259
+ await act(async function () {
260
+ instance.connection.state.set({
261
+ name: "error",
262
+ reason: "Unexpected internal error: Failed to fetch"
263
+ });
264
+ await Promise.resolve();
265
+ });
266
+ expect(instance.connection.connect).toHaveBeenCalledTimes(1);
267
+ expect(events).toContainEqual({
268
+ type: "reconnect",
269
+ status: "trying",
270
+ reasonKey: "transport",
271
+ reason: "Unexpected internal error: Failed to fetch"
272
+ });
273
+ expect(events.some(function (event) {
274
+ return event.type === "error";
275
+ })).toBe(false);
276
+ await act(async function () {
277
+ instance.connection.state.set({
278
+ name: "connected"
279
+ });
280
+ await Promise.resolve();
281
+ });
282
+ expect(events).toContainEqual({
283
+ type: "reconnect",
284
+ status: "connected"
285
+ });
286
+ off();
287
+ });
288
+ test("server overload publishes waiting status while Zero owns retry backoff", async function () {
289
+ var events = [];
290
+ var off = client.zeroEvents.listen(function (event) {
291
+ if (event) events.push(event);
292
+ });
293
+ var instance = await mount({}, "conn-overload");
294
+ await act(async function () {
295
+ instance.connection.state.set({
296
+ name: "connecting",
297
+ reason: "ServerOverloaded: retry later"
298
+ });
299
+ await Promise.resolve();
300
+ });
301
+ expect(instance.connection.connect).not.toHaveBeenCalled();
302
+ expect(events).toContainEqual({
303
+ type: "reconnect",
304
+ status: "waiting",
305
+ reasonKey: "server-overloaded",
306
+ reason: "ServerOverloaded: retry later"
307
+ });
308
+ await act(async function () {
309
+ instance.connection.state.set({
310
+ name: "connecting"
311
+ });
312
+ await Promise.resolve();
313
+ });
314
+ expect(events).toContainEqual({
315
+ type: "reconnect",
316
+ status: "trying",
317
+ reasonKey: "server-overloaded",
318
+ reason: "ServerOverloaded: retry later"
319
+ });
320
+ off();
321
+ });
253
322
  test("connectionDataset mirrors connection state onto the body dataset", async function () {
254
323
  var instance = await mount({
255
324
  connectionDataset: true
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","fakeZero","hoisted","FakeConnectionState","FakeConnectionState2","initial","_this","Set","cb","listeners","add","delete","current","set","next","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","err","return","FakeZero","FakeZero2","state","name","connect","fn","errors","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","document","createElement","dataset","zeroState","zeroConnected","zeroReason","unmount","mount","extraProps","arguments","userID","render","ProvideZero","cacheURL","children","at","readinessClient","ready","waitForZero","toBe","install","transport","toHaveBeenCalledOnce","toHaveBeenCalledWith","refreshAuth"],"sources":["../../src/createZeroClient.connection.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","fakeZero","hoisted","FakeConnectionState","FakeConnectionState2","initial","_this","Set","cb","listeners","add","delete","current","set","next","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","err","return","FakeZero","FakeZero2","state","name","connect","fn","errors","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","document","createElement","dataset","zeroState","zeroConnected","zeroReason","unmount","mount","extraProps","arguments","userID","render","ProvideZero","cacheURL","children","at","readinessClient","ready","waitForZero","toBe","install","transport","toHaveBeenCalledOnce","toHaveBeenCalledWith","refreshAuth","events","off","zeroEvents","listen","event","connection","reason","toHaveBeenCalledTimes","auth","toContainEqual","type","reasonKey","message","some"],"sources":["../../src/createZeroClient.connection.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -176,11 +176,12 @@ function createZeroClientInternal({
176
176
  });
177
177
  const emitterScope = instanceName === "default" ? "" : `:${instanceName}`;
178
178
  const zeroEvents = createEmitter(`zero${emitterScope}`, null);
179
- let recoverFromAckTimeout = () => {};
180
179
  const ackTimeoutRecoveryThreshold = Number.isFinite(serverAckTimeoutRecoveryThreshold) && serverAckTimeoutRecoveryThreshold >= 2 ? Math.floor(serverAckTimeoutRecoveryThreshold) : 2;
181
180
  const mutationLifecycle = createMutationLifecycle({
182
181
  ackTimeoutRecoveryThreshold,
183
- recoverFromAckTimeout: input => recoverFromAckTimeout(input)
182
+ recoverFromAckTimeout: input => {
183
+ void reconnectInPlace("server-ack-timeout", `${input.label} server acknowledgement timed out ${input.consecutiveTimeouts} consecutive times (${input.timeoutMs}ms each)`);
184
+ }
184
185
  });
185
186
  const zeroInstanceVersion = createDirectUseQuery ? createEmitter(`zero-instance-version${emitterScope}`, 0) : null;
186
187
  const AuthDataContext = createContext({});
@@ -293,6 +294,30 @@ function createZeroClientInternal({
293
294
  bump();
294
295
  return true;
295
296
  }
297
+ function emitReconnectStatus(event) {
298
+ const current = zeroEvents.value;
299
+ if (current?.type === "reconnect" && current.status === event.status && ("reasonKey" in current ? current.reasonKey : void 0) === ("reasonKey" in event ? event.reasonKey : void 0) && ("reason" in current ? current.reason : void 0) === ("reason" in event ? event.reason : void 0)) {
300
+ return;
301
+ }
302
+ zeroEvents.emit(event);
303
+ }
304
+ async function reconnectInPlace(reasonKey, reason) {
305
+ emitReconnectStatus({
306
+ type: "reconnect",
307
+ status: "trying",
308
+ reasonKey,
309
+ reason
310
+ });
311
+ return remint({
312
+ dropLocalState: false
313
+ });
314
+ }
315
+ function reloadPage() {
316
+ const location = globalThis.location;
317
+ if (!location?.reload) return false;
318
+ location.reload();
319
+ return true;
320
+ }
296
321
  const DISABLED_ZERO_STUB_CONNECTION_STATE = {
297
322
  current: {
298
323
  name: "closed"
@@ -426,7 +451,6 @@ function createZeroClientInternal({
426
451
  onRecovery: () => mutationLifecycle.fence()
427
452
  };
428
453
  const recovery = makeZeroRecovery(recoveryDeps);
429
- recoverFromAckTimeout = recovery.onServerAckTimeout;
430
454
  const createdInstance = new ZeroClient({
431
455
  kvStore: "mem",
432
456
  ...options,
@@ -508,7 +532,13 @@ function createZeroClientInternal({
508
532
  const zeroInstance = useZero();
509
533
  const state = useConnectionState();
510
534
  const prevState = useRef(state.name);
511
- const staleReconnectRef = useRef(null);
535
+ const hasConnectedRef = useRef(false);
536
+ const currentReconnect = zeroEvents2.value?.type === "reconnect" && zeroEvents2.value.status !== "connected" ? zeroEvents2.value : null;
537
+ const reconnectRef = useRef(currentReconnect ? {
538
+ reasonKey: currentReconnect.reasonKey,
539
+ reason: currentReconnect.reason
540
+ } : null);
541
+ const recoverableErrorRef = useRef(null);
512
542
  const needsAuthRef = useRef(false);
513
543
  useEffect(() => {
514
544
  const name = state.name;
@@ -519,14 +549,56 @@ function createZeroClientInternal({
519
549
  if (reason) document.body.dataset.zeroReason = reason.slice(0, 200);else delete document.body.dataset.zeroReason;
520
550
  if (name === "connected") document.body.dataset.zeroConnected = "true";else delete document.body.dataset.zeroConnected;
521
551
  }
522
- if (name === "error" && isRecoverableZeroStalePokeMessage(reason)) {
523
- if (staleReconnectRef.current !== reason) {
524
- staleReconnectRef.current = reason;
552
+ if (name === "connected") {
553
+ hasConnectedRef.current = true;
554
+ recoverableErrorRef.current = null;
555
+ if (reconnectRef.current) {
556
+ reconnectRef.current = null;
557
+ emitReconnectStatus({
558
+ type: "reconnect",
559
+ status: "connected"
560
+ });
561
+ }
562
+ }
563
+ const reconnectReasonKey = reason.includes("ServerOverloaded") ? "server-overloaded" : reason.includes("Failed to fetch") || reason.includes("fetch failed") || reason.includes("NetworkError when attempting to fetch resource") || reason.includes("Network request failed") || reason.includes("Load failed") ? "transport" : void 0;
564
+ if (name === "error" && (isRecoverableZeroStalePokeMessage(reason) || reconnectReasonKey)) {
565
+ if (recoverableErrorRef.current !== reason) {
566
+ recoverableErrorRef.current = reason;
567
+ reconnectRef.current = {
568
+ reasonKey: reconnectReasonKey ?? "transport",
569
+ reason
570
+ };
571
+ emitReconnectStatus({
572
+ type: "reconnect",
573
+ status: "trying",
574
+ ...reconnectRef.current
575
+ });
525
576
  void Promise.resolve(zeroInstance.connection?.connect?.()).catch(() => {});
526
577
  }
527
578
  return;
528
579
  }
529
- if (name !== "error") staleReconnectRef.current = null;
580
+ if (name !== "error") recoverableErrorRef.current = null;
581
+ if (name === "connecting" && (reconnectRef.current || hasConnectedRef.current || Boolean(reason))) {
582
+ reconnectRef.current = {
583
+ reasonKey: reconnectReasonKey ?? reconnectRef.current?.reasonKey ?? "transport",
584
+ reason: reason || reconnectRef.current?.reason || "connection interrupted"
585
+ };
586
+ emitReconnectStatus({
587
+ type: "reconnect",
588
+ status: reason ? "waiting" : "trying",
589
+ ...reconnectRef.current
590
+ });
591
+ } else if (name === "disconnected" && (reconnectRef.current || hasConnectedRef.current)) {
592
+ reconnectRef.current = {
593
+ reasonKey: reconnectRef.current?.reasonKey ?? "transport",
594
+ reason: reason || reconnectRef.current?.reason || "connection interrupted"
595
+ };
596
+ emitReconnectStatus({
597
+ type: "reconnect",
598
+ status: "waiting",
599
+ ...reconnectRef.current
600
+ });
601
+ }
530
602
  if (name === "needs-auth") {
531
603
  if (refreshAuth && !needsAuthRef.current) {
532
604
  needsAuthRef.current = true;
@@ -584,6 +656,7 @@ function createZeroClientInternal({
584
656
  return {
585
657
  instanceName,
586
658
  zeroEvents,
659
+ reloadPage,
587
660
  ProvideZero,
588
661
  ControlQueries,
589
662
  useQuery,