on-zero 0.6.3 → 0.6.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 (82) hide show
  1. package/dist/cjs/createZeroClient.cjs +91 -12
  2. package/dist/cjs/createZeroClient.connection.test.cjs +163 -0
  3. package/dist/cjs/createZeroClient.connection.test.native.js +242 -0
  4. package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -0
  5. package/dist/cjs/createZeroClient.native.js +99 -12
  6. package/dist/cjs/createZeroClient.native.js.map +1 -1
  7. package/dist/cjs/createZeroClient.recovery.test.cjs +52 -0
  8. package/dist/cjs/createZeroClient.recovery.test.native.js +52 -0
  9. package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
  10. package/dist/cjs/helpers/recoverZeroClient.cjs +140 -14
  11. package/dist/cjs/helpers/recoverZeroClient.native.js +155 -22
  12. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  13. package/dist/cjs/helpers/recoverZeroClient.test.cjs +181 -0
  14. package/dist/cjs/helpers/recoverZeroClient.test.native.js +209 -0
  15. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
  16. package/dist/cjs/index.cjs +1 -0
  17. package/dist/cjs/index.native.js +1 -0
  18. package/dist/cjs/index.native.js.map +1 -1
  19. package/dist/cjs/multi.cjs +13 -0
  20. package/dist/cjs/multi.native.js +35 -0
  21. package/dist/cjs/multi.native.js.map +1 -1
  22. package/dist/cjs/multiPartition.test.cjs +42 -0
  23. package/dist/cjs/multiPartition.test.native.js +51 -0
  24. package/dist/cjs/multiPartition.test.native.js.map +1 -0
  25. package/dist/esm/createZeroClient.connection.test.mjs +164 -0
  26. package/dist/esm/createZeroClient.connection.test.mjs.map +1 -0
  27. package/dist/esm/createZeroClient.connection.test.native.js +240 -0
  28. package/dist/esm/createZeroClient.connection.test.native.js.map +1 -0
  29. package/dist/esm/createZeroClient.mjs +92 -13
  30. package/dist/esm/createZeroClient.mjs.map +1 -1
  31. package/dist/esm/createZeroClient.native.js +100 -13
  32. package/dist/esm/createZeroClient.native.js.map +1 -1
  33. package/dist/esm/createZeroClient.recovery.test.mjs +52 -0
  34. package/dist/esm/createZeroClient.recovery.test.mjs.map +1 -1
  35. package/dist/esm/createZeroClient.recovery.test.native.js +52 -0
  36. package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
  37. package/dist/esm/helpers/recoverZeroClient.mjs +140 -15
  38. package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
  39. package/dist/esm/helpers/recoverZeroClient.native.js +155 -23
  40. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
  41. package/dist/esm/helpers/recoverZeroClient.test.mjs +182 -1
  42. package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -1
  43. package/dist/esm/helpers/recoverZeroClient.test.native.js +210 -1
  44. package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
  45. package/dist/esm/index.js +2 -2
  46. package/dist/esm/index.js.map +1 -1
  47. package/dist/esm/index.mjs +2 -2
  48. package/dist/esm/index.mjs.map +1 -1
  49. package/dist/esm/index.native.js +2 -2
  50. package/dist/esm/index.native.js.map +1 -1
  51. package/dist/esm/multi.mjs +13 -1
  52. package/dist/esm/multi.mjs.map +1 -1
  53. package/dist/esm/multi.native.js +35 -1
  54. package/dist/esm/multi.native.js.map +1 -1
  55. package/dist/esm/multiPartition.test.mjs +43 -0
  56. package/dist/esm/multiPartition.test.mjs.map +1 -0
  57. package/dist/esm/multiPartition.test.native.js +49 -0
  58. package/dist/esm/multiPartition.test.native.js.map +1 -0
  59. package/lint/ssr-guards.js +164 -0
  60. package/package.json +2 -2
  61. package/readme.md +126 -0
  62. package/src/createZeroClient.connection.test.tsx +162 -0
  63. package/src/createZeroClient.recovery.test.tsx +68 -0
  64. package/src/createZeroClient.tsx +159 -13
  65. package/src/helpers/recoverZeroClient.test.ts +204 -1
  66. package/src/helpers/recoverZeroClient.ts +263 -42
  67. package/src/index.ts +3 -0
  68. package/src/multi.ts +33 -0
  69. package/src/multiPartition.test.ts +38 -0
  70. package/types/createZeroClient.connection.test.d.ts +5 -0
  71. package/types/createZeroClient.connection.test.d.ts.map +1 -0
  72. package/types/createZeroClient.d.ts +17 -0
  73. package/types/createZeroClient.d.ts.map +1 -1
  74. package/types/createZeroServer.d.ts +4 -4
  75. package/types/helpers/recoverZeroClient.d.ts +15 -1
  76. package/types/helpers/recoverZeroClient.d.ts.map +1 -1
  77. package/types/index.d.ts +1 -1
  78. package/types/index.d.ts.map +1 -1
  79. package/types/multi.d.ts +1 -0
  80. package/types/multi.d.ts.map +1 -1
  81. package/types/multiPartition.test.d.ts +2 -0
  82. package/types/multiPartition.test.d.ts.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["RECOVER_GUARD_MS","LOCAL_STORE_LOST","SQLITE_ERROR_NAME","SQLITE_STATEMENT_FINALIZED","STORE_CLOSED","STORE_CLOSED_REPEAT_MIN_MS","STORE_CLOSED_REPEAT_MAX_MS","reloadScheduled","pendingDeletes","recoveryGuardOpen","reasonKey","key","rawLast","window","sessionStorage","getItem","now","Date","last","Number","setItem","String","lastStoreClosedAtMs","recover","deps","message","dropLocalState","push","Promise","resolve","then","deleteLocalState","catch","console","error","zeroEvents","emit","type","reason","warn","doReload","reload","globalThis","location","allSettled","beforeReload","finally","makeZeroRecovery","onUpdateNeeded","onClientStateNotFound","logToConsole","level","context","args","prefix","Object","entries","map","value","join","method","logArgText","arg","Error","name","stack","isBenignStoreClosedLog","text","test","classifyZeroRecoveryLog","nowMs","includes","prevMs","composeRecoveryLogSink","consumerLogSink","consumerFlush","flush","log","recovery","call","resetRecoveryStateForTests","length"],"sources":["../../../src/helpers/recoverZeroClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["RECOVER_GUARD_MS","RELOAD_LATCH_TIMEOUT_MS","LOCAL_STORE_LOST","SQLITE_ERROR_NAME","SQLITE_STATEMENT_FINALIZED","STORE_CLOSED","STORE_CLOSED_REPEAT_MIN_MS","STORE_CLOSED_REPEAT_MAX_MS","reloadScheduled","reloadInProgress","reloadLatchTimer","pendingDeletes","inMemoryGuard","Map","defaultGuardStorage","window","sessionStorage","recoveryGuardOpen","reasonKey","guardStorage","key","now","Date","memLast","get","storage","rawLast","getItem","last","Number","setItem","String","set","lastStoreClosedAtMs","armReloadLatchTimeout","setTimeout","clearTimeout","unref","disarmReloadLatchTimeout","performReload","deps","Promise","resolve","doReload","reload","globalThis","location","then","allSettled","splice","map","run","beforeReload","catch","recover","message","dropLocalState","push","deleteLocalState","console","error","zeroEvents","emit","type","reason","warn","runReload","scheduleReload","makeZeroRecovery","onUpdateNeeded","onClientStateNotFound","logToConsole","level","context","args","prefix","Object","entries","value","join","method","logArgText","arg","Error","name","stack","isBenignStoreClosedLog","text","test","classifyMutationDesync","includes","classifyZeroRecoveryLog","nowMs","desync","prevMs","composeRecoveryLogSink","consumerLogSink","consumerFlush","flush","log","recovery","benignLogFilter","call","isRecoverableZeroStalePokeMessage","resetRecoveryStateForTests","length","clear"],"sources":["../../../src/helpers/recoverZeroClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,7 @@ function _type_of(obj) {
11
11
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
12
12
  }
13
13
  var RECOVER_GUARD_MS = 6e4;
14
+ var RELOAD_LATCH_TIMEOUT_MS = 15e3;
14
15
  var LOCAL_STORE_LOST = "Expected IndexedDB not found";
15
16
  var SQLITE_ERROR_NAME = "SqliteError";
16
17
  var SQLITE_STATEMENT_FINALIZED = "This statement has been finalized";
@@ -18,26 +19,83 @@ var STORE_CLOSED = "Store is closed";
18
19
  var STORE_CLOSED_REPEAT_MIN_MS = 2e3;
19
20
  var STORE_CLOSED_REPEAT_MAX_MS = 6e4;
20
21
  var reloadScheduled = false;
22
+ var reloadInProgress = false;
23
+ var reloadLatchTimer;
21
24
  var pendingDeletes = [];
22
- function recoveryGuardOpen(reasonKey) {
25
+ var inMemoryGuard = /* @__PURE__ */new Map();
26
+ function defaultGuardStorage() {
23
27
  try {
24
- var key = `on-zero-recover-${reasonKey}`;
25
- var rawLast = window.sessionStorage.getItem(key);
26
- var now = Date.now();
27
- var last = rawLast ? Number(rawLast) : 0;
28
- if (last > 0 && now - last < RECOVER_GUARD_MS) return false;
29
- window.sessionStorage.setItem(key, String(now));
30
- } catch (e) {}
28
+ if (typeof window === "undefined" || !window.sessionStorage) return void 0;
29
+ return window.sessionStorage;
30
+ } catch (e) {
31
+ return void 0;
32
+ }
33
+ }
34
+ function recoveryGuardOpen(reasonKey, guardStorage) {
35
+ var key = `on-zero-recover-${reasonKey}`;
36
+ var now = Date.now();
37
+ var _inMemoryGuard_get;
38
+ var memLast = (_inMemoryGuard_get = inMemoryGuard.get(key)) !== null && _inMemoryGuard_get !== void 0 ? _inMemoryGuard_get : 0;
39
+ if (memLast > 0 && now - memLast < RECOVER_GUARD_MS) return false;
40
+ var storage = guardStorage !== null && guardStorage !== void 0 ? guardStorage : defaultGuardStorage();
41
+ if (storage) {
42
+ try {
43
+ var rawLast = storage.getItem(key);
44
+ var last = rawLast ? Number(rawLast) : 0;
45
+ if (last > 0 && now - last < RECOVER_GUARD_MS) return false;
46
+ storage.setItem(key, String(now));
47
+ } catch (e) {}
48
+ }
49
+ inMemoryGuard.set(key, now);
31
50
  return true;
32
51
  }
33
52
  var lastStoreClosedAtMs = 0;
53
+ function armReloadLatchTimeout() {
54
+ if (typeof setTimeout !== "function") return;
55
+ if (reloadLatchTimer) clearTimeout(reloadLatchTimer);
56
+ reloadLatchTimer = setTimeout(function () {
57
+ reloadLatchTimer = void 0;
58
+ reloadScheduled = false;
59
+ }, RELOAD_LATCH_TIMEOUT_MS);
60
+ if (reloadLatchTimer && (typeof reloadLatchTimer === "undefined" ? "undefined" : _type_of(reloadLatchTimer)) === "object" && "unref" in reloadLatchTimer) {
61
+ reloadLatchTimer.unref();
62
+ }
63
+ }
64
+ function disarmReloadLatchTimeout() {
65
+ if (reloadLatchTimer) {
66
+ clearTimeout(reloadLatchTimer);
67
+ reloadLatchTimer = void 0;
68
+ }
69
+ }
70
+ function performReload(deps) {
71
+ if (reloadInProgress) return Promise.resolve();
72
+ reloadInProgress = true;
73
+ disarmReloadLatchTimeout();
74
+ var _deps_reload;
75
+ var doReload = (_deps_reload = deps.reload) !== null && _deps_reload !== void 0 ? _deps_reload : function () {
76
+ var _globalThis_location_reload, _globalThis_location;
77
+ return (_globalThis_location = globalThis.location) === null || _globalThis_location === void 0 ? void 0 : (_globalThis_location_reload = _globalThis_location.reload) === null || _globalThis_location_reload === void 0 ? void 0 : _globalThis_location_reload.call(_globalThis_location);
78
+ };
79
+ return Promise.resolve().then(function () {
80
+ return Promise.allSettled(pendingDeletes.splice(0).map(function (run) {
81
+ return run();
82
+ }));
83
+ }).then(function () {
84
+ var _deps_beforeReload;
85
+ return (_deps_beforeReload = deps.beforeReload) === null || _deps_beforeReload === void 0 ? void 0 : _deps_beforeReload.call(deps);
86
+ }).catch(function () {}).then(function () {
87
+ doReload();
88
+ });
89
+ }
34
90
  function recover(deps, reasonKey, message, dropLocalState) {
35
91
  if (typeof window === "undefined") return;
36
92
  if (dropLocalState) {
37
- pendingDeletes.push(Promise.resolve().then(deps.deleteLocalState).catch(function () {}));
93
+ pendingDeletes.push(function () {
94
+ return Promise.resolve().then(deps.deleteLocalState);
95
+ });
38
96
  }
39
97
  if (reloadScheduled) return;
40
- if (!recoveryGuardOpen(reasonKey)) {
98
+ if (!recoveryGuardOpen(reasonKey, deps.guardStorage)) {
41
99
  console.error(`[on-zero] ${message} \u2014 already recovered once, not reloading`);
42
100
  deps.zeroEvents.emit({
43
101
  type: "fatal",
@@ -46,22 +104,25 @@ function recover(deps, reasonKey, message, dropLocalState) {
46
104
  return;
47
105
  }
48
106
  reloadScheduled = true;
107
+ armReloadLatchTimeout();
49
108
  console.warn(`[on-zero] ${message} \u2014 recovering`);
50
109
  deps.zeroEvents.emit({
51
110
  type: "recovering",
52
111
  reason: message
53
112
  });
54
- var _deps_reload;
55
- var doReload = (_deps_reload = deps.reload) !== null && _deps_reload !== void 0 ? _deps_reload : function () {
56
- var _globalThis_location_reload, _globalThis_location;
57
- return (_globalThis_location = globalThis.location) === null || _globalThis_location === void 0 ? void 0 : (_globalThis_location_reload = _globalThis_location.reload) === null || _globalThis_location_reload === void 0 ? void 0 : _globalThis_location_reload.call(_globalThis_location);
113
+ var runReload = function () {
114
+ return performReload(deps);
58
115
  };
59
- Promise.resolve().then(function () {
60
- return Promise.allSettled(pendingDeletes);
61
- }).then(function () {
62
- var _deps_beforeReload;
63
- return (_deps_beforeReload = deps.beforeReload) === null || _deps_beforeReload === void 0 ? void 0 : _deps_beforeReload.call(deps);
64
- }).catch(function () {}).finally(doReload);
116
+ if (deps.scheduleReload) {
117
+ deps.scheduleReload({
118
+ reason: message,
119
+ reasonKey,
120
+ dropLocalState,
121
+ performReload: runReload
122
+ });
123
+ } else {
124
+ void runReload();
125
+ }
65
126
  }
66
127
  function makeZeroRecovery(deps) {
67
128
  return {
@@ -100,6 +161,58 @@ function isBenignStoreClosedLog(text) {
100
161
  if (/Mutator\s+".*"\s+app error on client/i.test(text)) return true;
101
162
  return false;
102
163
  }
164
+ function classifyMutationDesync(text) {
165
+ if (text.includes("sent mutation ID") && text.includes("but expected")) {
166
+ return {
167
+ reason: "mutation-desync",
168
+ reasonKey: "mutation-desync",
169
+ message: "mutation id desync"
170
+ };
171
+ }
172
+ if (text.includes("oooMutation") || text.includes("Server reported an out-of-order mutation")) {
173
+ return {
174
+ reason: "mutation-desync",
175
+ reasonKey: "mutation-desync",
176
+ message: "out-of-order mutation"
177
+ };
178
+ }
179
+ if (text.includes("already processed")) {
180
+ return {
181
+ reason: "mutation-desync",
182
+ reasonKey: "mutation-desync",
183
+ message: "mutation already processed"
184
+ };
185
+ }
186
+ if (text.includes("InvalidConnectionRequestLastMutationID")) {
187
+ return {
188
+ reason: "mutation-desync",
189
+ reasonKey: "mutation-desync",
190
+ message: "invalid connection last mutation id"
191
+ };
192
+ }
193
+ if (text.includes("InvalidConnectionRequestBaseCookie")) {
194
+ return {
195
+ reason: "connection-cookie-invalid",
196
+ reasonKey: "connection-cookie-invalid",
197
+ message: "invalid connection base cookie"
198
+ };
199
+ }
200
+ if (text.includes("ClientNotFound") || text.includes("Client not found")) {
201
+ return {
202
+ reason: "client-not-found",
203
+ reasonKey: "client-not-found",
204
+ message: "client not found"
205
+ };
206
+ }
207
+ if (text.includes("connection userID mismatch")) {
208
+ return {
209
+ reason: "connection-userid-mismatch",
210
+ reasonKey: "connection-userid-mismatch",
211
+ message: "connection user id mismatch"
212
+ };
213
+ }
214
+ return void 0;
215
+ }
103
216
  function classifyZeroRecoveryLog(level, args) {
104
217
  var nowMs = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Date.now();
105
218
  if (level !== "error") return void 0;
@@ -120,6 +233,13 @@ function classifyZeroRecoveryLog(level, args) {
120
233
  dropLocalState: true
121
234
  };
122
235
  }
236
+ var desync = classifyMutationDesync(text);
237
+ if (desync) {
238
+ return {
239
+ ...desync,
240
+ dropLocalState: true
241
+ };
242
+ }
123
243
  if (text.includes(STORE_CLOSED) && !isBenignStoreClosedLog(text)) {
124
244
  var prevMs = lastStoreClosedAtMs;
125
245
  lastStoreClosedAtMs = nowMs;
@@ -143,9 +263,12 @@ function composeRecoveryLogSink(deps, consumerLogSink) {
143
263
  }
144
264
  if (consumerLogSink) consumerLogSink.log(level, context, ...args);else logToConsole(level, context, ...args);
145
265
  var recovery = classifyZeroRecoveryLog(level, args);
146
- if (recovery) {
147
- recover(deps, recovery.reasonKey, recovery.message, recovery.dropLocalState);
266
+ if (!recovery) return;
267
+ if (deps.benignLogFilter) {
268
+ var text = args.map(logArgText).join(" ");
269
+ if (deps.benignLogFilter(text)) return;
148
270
  }
271
+ recover(deps, recovery.reasonKey, recovery.message, recovery.dropLocalState);
149
272
  },
150
273
  // call through the consumer sink so a class-based sink keeps its `this`,
151
274
  // rather than handing Zero a detached method reference.
@@ -154,10 +277,19 @@ function composeRecoveryLogSink(deps, consumerLogSink) {
154
277
  } : void 0
155
278
  };
156
279
  }
280
+ function isRecoverableZeroStalePokeMessage(message) {
281
+ return message.includes("Server returned unexpected base cookie during sync") || message.includes("Received cookie") && message.includes("is < than last snapshot cookie") && message.includes("ignoring client view");
282
+ }
157
283
  function resetRecoveryStateForTests() {
158
284
  reloadScheduled = false;
285
+ reloadInProgress = false;
286
+ if (reloadLatchTimer) {
287
+ clearTimeout(reloadLatchTimer);
288
+ reloadLatchTimer = void 0;
289
+ }
159
290
  pendingDeletes.length = 0;
160
291
  lastStoreClosedAtMs = 0;
292
+ inMemoryGuard.clear();
161
293
  }
162
- export { classifyZeroRecoveryLog, composeRecoveryLogSink, makeZeroRecovery, resetRecoveryStateForTests };
294
+ export { classifyZeroRecoveryLog, composeRecoveryLogSink, isRecoverableZeroStalePokeMessage, makeZeroRecovery, resetRecoveryStateForTests };
163
295
  //# sourceMappingURL=recoverZeroClient.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","RECOVER_GUARD_MS","LOCAL_STORE_LOST","SQLITE_ERROR_NAME","SQLITE_STATEMENT_FINALIZED","STORE_CLOSED","STORE_CLOSED_REPEAT_MIN_MS","STORE_CLOSED_REPEAT_MAX_MS","reloadScheduled","pendingDeletes","recoveryGuardOpen","reasonKey","key","rawLast","window","sessionStorage","getItem","now","Date","last","Number","setItem","String","e","lastStoreClosedAtMs","recover","deps","message","dropLocalState","push","Promise","resolve","then","deleteLocalState","catch","console","error","zeroEvents","emit","type","reason","warn","_deps_reload","doReload","reload","_globalThis_location_reload","_globalThis_location","globalThis","location","call","allSettled","_deps_beforeReload","beforeReload","finally","makeZeroRecovery","onUpdateNeeded","onClientStateNotFound","logToConsole","level","context","_len","arguments","length","args","Array","_key","prefix","Object","entries","map","param","value","join","method","logArgText","arg","Error","name","stack","isBenignStoreClosedLog","text","test","classifyZeroRecoveryLog","nowMs","includes","prevMs"],"sources":["../../../src/helpers/recoverZeroClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","RECOVER_GUARD_MS","RELOAD_LATCH_TIMEOUT_MS","LOCAL_STORE_LOST","SQLITE_ERROR_NAME","SQLITE_STATEMENT_FINALIZED","STORE_CLOSED","STORE_CLOSED_REPEAT_MIN_MS","STORE_CLOSED_REPEAT_MAX_MS","reloadScheduled","reloadInProgress","reloadLatchTimer","pendingDeletes","inMemoryGuard","Map","defaultGuardStorage","window","sessionStorage","e","recoveryGuardOpen","reasonKey","guardStorage","key","now","Date","_inMemoryGuard_get","memLast","get","storage","rawLast","getItem","last","Number","setItem","String","set","lastStoreClosedAtMs","armReloadLatchTimeout","setTimeout","clearTimeout","unref","disarmReloadLatchTimeout","performReload","deps","Promise","resolve","_deps_reload","doReload","reload","_globalThis_location_reload","_globalThis_location","globalThis","location","call","then","allSettled","splice","map","run","_deps_beforeReload","beforeReload","catch","recover","message","dropLocalState","push","deleteLocalState","console","error","zeroEvents","emit","type","reason","warn","runReload","scheduleReload","makeZeroRecovery","onUpdateNeeded","onClientStateNotFound","logToConsole","level","context","_len","arguments","length","args","Array","_key","prefix","Object","entries","param","value","join","method","logArgText","arg","Error","name","stack","isBenignStoreClosedLog","text","test","classifyMutationDesync","includes","classifyZeroRecoveryLog","nowMs","desync","prevMs"],"sources":["../../../src/helpers/recoverZeroClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { createEmitter } from "@take-out/helpers";
2
2
  import { UpdateNeededReasonType } from "@rocicorp/zero";
3
3
  import { beforeEach, describe, expect, test, vi } from "vitest";
4
- import { classifyZeroRecoveryLog, composeRecoveryLogSink, makeZeroRecovery, resetRecoveryStateForTests } from "./recoverZeroClient.mjs";
4
+ import { classifyZeroRecoveryLog, composeRecoveryLogSink, isRecoverableZeroStalePokeMessage, makeZeroRecovery, resetRecoveryStateForTests } from "./recoverZeroClient.mjs";
5
5
  let emitterSeq = 0;
6
6
  function setup() {
7
7
  const events = [];
@@ -289,5 +289,186 @@ describe("zero recovery", () => {
289
289
  reason: "client state not found"
290
290
  });
291
291
  });
292
+ test("scheduleReload defers the reload AND the store delete until performReload runs", async () => {
293
+ const {
294
+ deps,
295
+ deleteLocalState,
296
+ reload
297
+ } = setup();
298
+ let captured;
299
+ deps.scheduleReload = ctx => {
300
+ captured = ctx;
301
+ };
302
+ makeZeroRecovery(deps).onClientStateNotFound();
303
+ await flush();
304
+ expect(reload).not.toHaveBeenCalled();
305
+ expect(deleteLocalState).not.toHaveBeenCalled();
306
+ expect(captured).toMatchObject({
307
+ reasonKey: "client-state-not-found",
308
+ dropLocalState: true
309
+ });
310
+ await captured.performReload();
311
+ await flush();
312
+ expect(deleteLocalState).toHaveBeenCalledTimes(1);
313
+ expect(reload).toHaveBeenCalledTimes(1);
314
+ });
315
+ test("scheduleReload that reloads directly skips the delete and beforeReload", async () => {
316
+ const {
317
+ deps,
318
+ deleteLocalState,
319
+ reload
320
+ } = setup();
321
+ const nativeReload = vi.fn();
322
+ const beforeReload = vi.fn(async () => {});
323
+ deps.beforeReload = beforeReload;
324
+ deps.scheduleReload = () => {
325
+ nativeReload();
326
+ };
327
+ makeZeroRecovery(deps).onClientStateNotFound();
328
+ await flush();
329
+ expect(nativeReload).toHaveBeenCalledTimes(1);
330
+ expect(deleteLocalState).not.toHaveBeenCalled();
331
+ expect(beforeReload).not.toHaveBeenCalled();
332
+ expect(reload).not.toHaveBeenCalled();
333
+ });
334
+ test("scheduleReload performReload is idempotent (one reload even if called twice)", async () => {
335
+ const {
336
+ deps,
337
+ deleteLocalState,
338
+ reload
339
+ } = setup();
340
+ let captured;
341
+ deps.scheduleReload = ctx => {
342
+ captured = ctx;
343
+ };
344
+ makeZeroRecovery(deps).onClientStateNotFound();
345
+ await flush();
346
+ await captured.performReload();
347
+ await captured.performReload();
348
+ await flush();
349
+ expect(deleteLocalState).toHaveBeenCalledTimes(1);
350
+ expect(reload).toHaveBeenCalledTimes(1);
351
+ });
352
+ test("scheduleReload deferred PAST the latch timeout still deletes and reloads exactly once", async () => {
353
+ vi.useFakeTimers();
354
+ try {
355
+ const {
356
+ deps,
357
+ deleteLocalState,
358
+ reload
359
+ } = setup();
360
+ let captured;
361
+ deps.scheduleReload = ctx => {
362
+ captured = ctx;
363
+ };
364
+ makeZeroRecovery(deps).onClientStateNotFound();
365
+ expect(captured).toBeDefined();
366
+ await vi.advanceTimersByTimeAsync(2e4);
367
+ expect(deleteLocalState).not.toHaveBeenCalled();
368
+ expect(reload).not.toHaveBeenCalled();
369
+ await captured.performReload();
370
+ expect(deleteLocalState).toHaveBeenCalledTimes(1);
371
+ expect(reload).toHaveBeenCalledTimes(1);
372
+ } finally {
373
+ vi.useRealTimers();
374
+ }
375
+ });
376
+ test("a slow beforeReload holds the latch through the timeout window (no double reload)", async () => {
377
+ vi.useFakeTimers();
378
+ try {
379
+ const {
380
+ deps,
381
+ reload
382
+ } = setup();
383
+ let releaseBeforeReload = () => {};
384
+ deps.beforeReload = () => new Promise(resolve => {
385
+ releaseBeforeReload = resolve;
386
+ });
387
+ const recovery = makeZeroRecovery(deps);
388
+ recovery.onClientStateNotFound();
389
+ await vi.advanceTimersByTimeAsync(2e4);
390
+ recovery.onClientStateNotFound();
391
+ await vi.advanceTimersByTimeAsync(0);
392
+ expect(reload).not.toHaveBeenCalled();
393
+ releaseBeforeReload();
394
+ await vi.advanceTimersByTimeAsync(0);
395
+ expect(reload).toHaveBeenCalledTimes(1);
396
+ } finally {
397
+ vi.useRealTimers();
398
+ }
399
+ });
400
+ test("injectable guardStorage gives cross-reload loop protection (Hermes has no sessionStorage)", async () => {
401
+ const store = /* @__PURE__ */new Map();
402
+ const {
403
+ deps,
404
+ reload,
405
+ events
406
+ } = setup();
407
+ deps.guardStorage = {
408
+ getItem: key => store.get(key) ?? null,
409
+ setItem: (key, value) => {
410
+ store.set(key, value);
411
+ }
412
+ };
413
+ const recovery = makeZeroRecovery(deps);
414
+ recovery.onClientStateNotFound();
415
+ await flush();
416
+ expect(reload).toHaveBeenCalledTimes(1);
417
+ resetRecoveryStateForTests();
418
+ recovery.onClientStateNotFound();
419
+ await flush();
420
+ expect(reload).toHaveBeenCalledTimes(1);
421
+ expect(events.some(event => event.type === "fatal")).toBe(true);
422
+ });
423
+ test("a guardStorage that throws never crashes recovery (in-memory is the floor)", async () => {
424
+ const {
425
+ deps,
426
+ reload
427
+ } = setup();
428
+ deps.guardStorage = {
429
+ getItem: () => {
430
+ throw new Error("no storage on this platform");
431
+ },
432
+ setItem: () => {
433
+ throw new Error("no storage on this platform");
434
+ }
435
+ };
436
+ makeZeroRecovery(deps).onClientStateNotFound();
437
+ await flush();
438
+ expect(reload).toHaveBeenCalledTimes(1);
439
+ });
440
+ test("classifier recognizes the mutation / connection desync class", () => {
441
+ const cases = [[["sent mutation ID 5 but expected 4"], "mutation-desync"], [["oooMutation detected"], "mutation-desync"], [["Server reported an out-of-order mutation"], "mutation-desync"], [["Ignoring mutation 3, already processed. Expected: 4"], "mutation-desync"], [["InvalidConnectionRequestLastMutationID"], "mutation-desync"], [["InvalidConnectionRequestBaseCookie"], "connection-cookie-invalid"], [["ClientNotFound: client gone"], "client-not-found"], [["connection userID mismatch"], "connection-userid-mismatch"]];
442
+ for (const [args, reason] of cases) {
443
+ expect(classifyZeroRecoveryLog("error", args)).toMatchObject({
444
+ reason,
445
+ dropLocalState: true
446
+ });
447
+ }
448
+ expect(classifyZeroRecoveryLog("error", ["consecutive server-ack timeouts"])).toBeUndefined();
449
+ expect(classifyZeroRecoveryLog("error", ["Connection attempt timed out after 10 seconds"])).toBeUndefined();
450
+ expect(classifyZeroRecoveryLog("warn", ["ClientNotFound"])).toBeUndefined();
451
+ });
452
+ test("benignLogFilter suppresses recovery for a matching classified log", async () => {
453
+ const {
454
+ deps,
455
+ deleteLocalState,
456
+ reload
457
+ } = setup();
458
+ deps.benignLogFilter = message => message.includes("ClientNotFound");
459
+ const sink = composeRecoveryLogSink(deps);
460
+ sink.log("error", void 0, "ClientNotFound: gone");
461
+ await flush();
462
+ expect(deleteLocalState).not.toHaveBeenCalled();
463
+ expect(reload).not.toHaveBeenCalled();
464
+ sink.log("error", void 0, "sent mutation ID 5 but expected 4");
465
+ await flush();
466
+ expect(reload).toHaveBeenCalledTimes(1);
467
+ });
468
+ test("isRecoverableZeroStalePokeMessage matches only the stale-cookie signatures", () => {
469
+ expect(isRecoverableZeroStalePokeMessage("Server returned unexpected base cookie during sync")).toBe(true);
470
+ expect(isRecoverableZeroStalePokeMessage("Received cookie 5 is < than last snapshot cookie 9, ignoring client view")).toBe(true);
471
+ expect(isRecoverableZeroStalePokeMessage("client state not found")).toBe(false);
472
+ });
292
473
  });
293
474
  //# sourceMappingURL=recoverZeroClient.test.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createEmitter","UpdateNeededReasonType","beforeEach","describe","expect","test","vi","classifyZeroRecoveryLog","composeRecoveryLogSink","makeZeroRecovery","resetRecoveryStateForTests","emitterSeq","setup","events","zeroEvents","listen","event","push","deleteLocalState","fn","Promise","resolve","reload","deps","flush","setTimeout","window","sessionStorage","clear","onUpdateNeeded","type","SchemaVersionNotSupported","toEqual","reason","stringContaining","toHaveBeenCalledTimes","recovery","NewClientGroup","VersionNotSupported","not","toHaveBeenCalled","onClientStateNotFound","a","b","mock","calls","length","toBe","filter","some","consumer","log","sink","sqliteError","Error","name","bgIntervalProcess","nowSpy","spyOn","Date","mockReturnValue","mockRestore","infoSpy","console","mockImplementation","worker","toHaveBeenCalledWith","ClassSink","flushed","toMatchObject","dropLocalState","message","toBeUndefined","originalLocation","globalThis","location","Object","defineProperty","configurable","value","toContainEqual"],"sources":["../../../src/helpers/recoverZeroClient.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createEmitter","UpdateNeededReasonType","beforeEach","describe","expect","test","vi","classifyZeroRecoveryLog","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","makeZeroRecovery","resetRecoveryStateForTests","emitterSeq","setup","events","zeroEvents","listen","event","push","deleteLocalState","fn","Promise","resolve","reload","deps","flush","setTimeout","window","sessionStorage","clear","onUpdateNeeded","type","SchemaVersionNotSupported","toEqual","reason","stringContaining","toHaveBeenCalledTimes","recovery","NewClientGroup","VersionNotSupported","not","toHaveBeenCalled","onClientStateNotFound","a","b","mock","calls","length","toBe","filter","some","consumer","log","sink","sqliteError","Error","name","bgIntervalProcess","nowSpy","spyOn","Date","mockReturnValue","mockRestore","infoSpy","console","mockImplementation","worker","toHaveBeenCalledWith","ClassSink","flushed","toMatchObject","dropLocalState","message","toBeUndefined","originalLocation","globalThis","location","Object","defineProperty","configurable","value","toContainEqual","captured","scheduleReload","ctx","reasonKey","performReload","nativeReload","beforeReload","useFakeTimers","toBeDefined","advanceTimersByTimeAsync","useRealTimers","releaseBeforeReload","store","Map","guardStorage","getItem","key","get","setItem","set","cases","args","benignLogFilter","includes"],"sources":["../../../src/helpers/recoverZeroClient.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}