on-zero 0.6.2 → 0.6.3

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 (31) hide show
  1. package/dist/cjs/helpers/recoverZeroClient.cjs +64 -7
  2. package/dist/cjs/helpers/recoverZeroClient.native.js +72 -9
  3. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  4. package/dist/cjs/helpers/recoverZeroClient.test.cjs +60 -0
  5. package/dist/cjs/helpers/recoverZeroClient.test.native.js +60 -0
  6. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
  7. package/dist/cjs/index.cjs +1 -0
  8. package/dist/cjs/index.native.js +1 -0
  9. package/dist/cjs/index.native.js.map +1 -1
  10. package/dist/esm/helpers/recoverZeroClient.mjs +64 -8
  11. package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
  12. package/dist/esm/helpers/recoverZeroClient.native.js +72 -10
  13. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
  14. package/dist/esm/helpers/recoverZeroClient.test.mjs +61 -1
  15. package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -1
  16. package/dist/esm/helpers/recoverZeroClient.test.native.js +61 -1
  17. package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -1
  18. package/dist/esm/index.js +2 -2
  19. package/dist/esm/index.js.map +1 -1
  20. package/dist/esm/index.mjs +2 -2
  21. package/dist/esm/index.mjs.map +1 -1
  22. package/dist/esm/index.native.js +2 -2
  23. package/dist/esm/index.native.js.map +1 -1
  24. package/package.json +2 -2
  25. package/src/helpers/recoverZeroClient.test.ts +66 -0
  26. package/src/helpers/recoverZeroClient.ts +91 -15
  27. package/src/index.ts +3 -0
  28. package/types/helpers/recoverZeroClient.d.ts +9 -1
  29. package/types/helpers/recoverZeroClient.d.ts.map +1 -1
  30. package/types/index.d.ts +1 -1
  31. package/types/index.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["RECOVER_GUARD_MS","LOCAL_STORE_LOST","reloadScheduled","pendingDeletes","recoveryGuardOpen","reasonKey","key","last","Number","window","sessionStorage","getItem","Date","now","setItem","String","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","composeRecoveryLogSink","consumerLogSink","consumerFlush","flush","log","text","arg","includes","call","resetRecoveryStateForTests","length"],"sources":["../../../src/helpers/recoverZeroClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
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,3 +1,10 @@
1
+ function _instanceof(left, right) {
2
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
3
+ return !!right[Symbol.hasInstance](left);
4
+ } else {
5
+ return left instanceof right;
6
+ }
7
+ }
1
8
  function _type_of(obj) {
2
9
  "@swc/helpers - typeof";
3
10
 
@@ -5,17 +12,25 @@ function _type_of(obj) {
5
12
  }
6
13
  var RECOVER_GUARD_MS = 6e4;
7
14
  var LOCAL_STORE_LOST = "Expected IndexedDB not found";
15
+ var SQLITE_ERROR_NAME = "SqliteError";
16
+ var SQLITE_STATEMENT_FINALIZED = "This statement has been finalized";
17
+ var STORE_CLOSED = "Store is closed";
18
+ var STORE_CLOSED_REPEAT_MIN_MS = 2e3;
19
+ var STORE_CLOSED_REPEAT_MAX_MS = 6e4;
8
20
  var reloadScheduled = false;
9
21
  var pendingDeletes = [];
10
22
  function recoveryGuardOpen(reasonKey) {
11
23
  try {
12
24
  var key = `on-zero-recover-${reasonKey}`;
13
- var last = Number(window.sessionStorage.getItem(key) || 0);
14
- if (Date.now() - last < RECOVER_GUARD_MS) return false;
15
- window.sessionStorage.setItem(key, String(Date.now()));
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));
16
30
  } catch (e) {}
17
31
  return true;
18
32
  }
33
+ var lastStoreClosedAtMs = 0;
19
34
  function recover(deps, reasonKey, message, dropLocalState) {
20
35
  if (typeof window === "undefined") return;
21
36
  if (dropLocalState) {
@@ -70,6 +85,55 @@ function logToConsole(level, context) {
70
85
  var method = level === "debug" ? "debug" : level;
71
86
  console[method](...(prefix ? [prefix] : []), ...args);
72
87
  }
88
+ function logArgText(arg) {
89
+ if (typeof arg === "string") return arg;
90
+ if (_instanceof(arg, Error)) return `${arg.name} ${arg.message} ${arg.stack || ""}`;
91
+ if (arg && (typeof arg === "undefined" ? "undefined" : _type_of(arg)) === "object") {
92
+ var message = "message" in arg ? arg.message : void 0;
93
+ var name = "name" in arg ? arg.name : void 0;
94
+ if (typeof message === "string") return `${typeof name === "string" ? name : ""} ${message}`;
95
+ }
96
+ return "";
97
+ }
98
+ function isBenignStoreClosedLog(text) {
99
+ if (/Mutator\s+".*"\s+error on server/i.test(text)) return true;
100
+ if (/Mutator\s+".*"\s+app error on client/i.test(text)) return true;
101
+ return false;
102
+ }
103
+ function classifyZeroRecoveryLog(level, args) {
104
+ var nowMs = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Date.now();
105
+ if (level !== "error") return void 0;
106
+ var text = args.map(logArgText).join(" ");
107
+ if (text.includes(LOCAL_STORE_LOST)) {
108
+ return {
109
+ reason: "indexeddb-not-found",
110
+ reasonKey: "local-store",
111
+ message: "local store lost",
112
+ dropLocalState: true
113
+ };
114
+ }
115
+ if (text.includes(SQLITE_ERROR_NAME) && text.includes(SQLITE_STATEMENT_FINALIZED)) {
116
+ return {
117
+ reason: "sqlite-statement-finalized",
118
+ reasonKey: "sqlite-statement-finalized",
119
+ message: "sqlite statement finalized",
120
+ dropLocalState: true
121
+ };
122
+ }
123
+ if (text.includes(STORE_CLOSED) && !isBenignStoreClosedLog(text)) {
124
+ var prevMs = lastStoreClosedAtMs;
125
+ lastStoreClosedAtMs = nowMs;
126
+ if (prevMs > 0 && nowMs - prevMs >= STORE_CLOSED_REPEAT_MIN_MS && nowMs - prevMs <= STORE_CLOSED_REPEAT_MAX_MS) {
127
+ return {
128
+ reason: "store-closed-repeat",
129
+ reasonKey: "store-closed-repeat",
130
+ message: "local store closed repeatedly",
131
+ dropLocalState: true
132
+ };
133
+ }
134
+ }
135
+ return void 0;
136
+ }
73
137
  function composeRecoveryLogSink(deps, consumerLogSink) {
74
138
  var consumerFlush = consumerLogSink === null || consumerLogSink === void 0 ? void 0 : consumerLogSink.flush;
75
139
  return {
@@ -78,12 +142,9 @@ function composeRecoveryLogSink(deps, consumerLogSink) {
78
142
  args[_key - 2] = arguments[_key];
79
143
  }
80
144
  if (consumerLogSink) consumerLogSink.log(level, context, ...args);else logToConsole(level, context, ...args);
81
- if (level !== "error") return;
82
- var text = args.map(function (arg) {
83
- return typeof arg === "string" ? arg : arg && (typeof arg === "undefined" ? "undefined" : _type_of(arg)) === "object" && "message" in arg ? String(arg.message) : "";
84
- }).join(" ");
85
- if (text.includes(LOCAL_STORE_LOST)) {
86
- recover(deps, "local-store", "local store lost", true);
145
+ var recovery = classifyZeroRecoveryLog(level, args);
146
+ if (recovery) {
147
+ recover(deps, recovery.reasonKey, recovery.message, recovery.dropLocalState);
87
148
  }
88
149
  },
89
150
  // call through the consumer sink so a class-based sink keeps its `this`,
@@ -96,6 +157,7 @@ function composeRecoveryLogSink(deps, consumerLogSink) {
96
157
  function resetRecoveryStateForTests() {
97
158
  reloadScheduled = false;
98
159
  pendingDeletes.length = 0;
160
+ lastStoreClosedAtMs = 0;
99
161
  }
100
- export { composeRecoveryLogSink, makeZeroRecovery, resetRecoveryStateForTests };
162
+ export { classifyZeroRecoveryLog, composeRecoveryLogSink, makeZeroRecovery, resetRecoveryStateForTests };
101
163
  //# sourceMappingURL=recoverZeroClient.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_type_of","obj","Symbol","constructor","RECOVER_GUARD_MS","LOCAL_STORE_LOST","reloadScheduled","pendingDeletes","recoveryGuardOpen","reasonKey","key","last","Number","window","sessionStorage","getItem","Date","now","setItem","String","e","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","composeRecoveryLogSink","consumerLogSink","consumerFlush","flush"],"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","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,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 { composeRecoveryLogSink, makeZeroRecovery, resetRecoveryStateForTests } from "./recoverZeroClient.mjs";
4
+ import { classifyZeroRecoveryLog, composeRecoveryLogSink, makeZeroRecovery, resetRecoveryStateForTests } from "./recoverZeroClient.mjs";
5
5
  let emitterSeq = 0;
6
6
  function setup() {
7
7
  const events = [];
@@ -150,6 +150,45 @@ describe("zero recovery", () => {
150
150
  expect(deleteLocalState).toHaveBeenCalledTimes(1);
151
151
  expect(reload).toHaveBeenCalledTimes(1);
152
152
  });
153
+ test("logSink recovers on native sqlite finalized-statement local-store loss", async () => {
154
+ const {
155
+ deps,
156
+ deleteLocalState,
157
+ reload
158
+ } = setup();
159
+ const sqliteError = new Error("This statement has been finalized");
160
+ sqliteError.name = "SqliteError";
161
+ const sink = composeRecoveryLogSink(deps);
162
+ sink.log("error", {
163
+ bgIntervalProcess: "Heartbeat"
164
+ }, "Error running.", sqliteError);
165
+ await flush();
166
+ expect(deleteLocalState).toHaveBeenCalledTimes(1);
167
+ expect(reload).toHaveBeenCalledTimes(1);
168
+ });
169
+ test("logSink recovers on repeated store-closed local-store loss", async () => {
170
+ const nowSpy = vi.spyOn(Date, "now");
171
+ const {
172
+ deps,
173
+ deleteLocalState,
174
+ reload
175
+ } = setup();
176
+ try {
177
+ const sink = composeRecoveryLogSink(deps);
178
+ nowSpy.mockReturnValue(1e4);
179
+ sink.log("error", void 0, "Failed to connect.", new Error("Store is closed"));
180
+ await flush();
181
+ expect(deleteLocalState).not.toHaveBeenCalled();
182
+ expect(reload).not.toHaveBeenCalled();
183
+ nowSpy.mockReturnValue(13e3);
184
+ sink.log("error", void 0, "Failed to connect.", new Error("Store is closed"));
185
+ await flush();
186
+ expect(deleteLocalState).toHaveBeenCalledTimes(1);
187
+ expect(reload).toHaveBeenCalledTimes(1);
188
+ } finally {
189
+ nowSpy.mockRestore();
190
+ }
191
+ });
153
192
  test("logSink with no consumer preserves console output and still watches", async () => {
154
193
  const {
155
194
  deps,
@@ -198,6 +237,27 @@ describe("zero recovery", () => {
198
237
  expect(deleteLocalState).not.toHaveBeenCalled();
199
238
  expect(reload).not.toHaveBeenCalled();
200
239
  });
240
+ test("recovery log classification is narrow", () => {
241
+ const sqliteError = new Error("This statement has been finalized");
242
+ sqliteError.name = "SqliteError";
243
+ expect(classifyZeroRecoveryLog("error", ["Error running.", sqliteError])).toMatchObject({
244
+ reason: "sqlite-statement-finalized",
245
+ dropLocalState: true
246
+ });
247
+ expect(classifyZeroRecoveryLog("error", [{
248
+ name: "SqliteError",
249
+ message: "database is locked"
250
+ }])).toBeUndefined();
251
+ expect(classifyZeroRecoveryLog("warn", ["Expected IndexedDB not found"])).toBeUndefined();
252
+ expect(classifyZeroRecoveryLog("error", ["Store is closed"], 1e4)).toBeUndefined();
253
+ expect(classifyZeroRecoveryLog("error", ["Store is closed"], 11e3)).toBeUndefined();
254
+ expect(classifyZeroRecoveryLog("error", ["Store is closed"], 14e3)).toMatchObject({
255
+ reason: "store-closed-repeat",
256
+ dropLocalState: true
257
+ });
258
+ resetRecoveryStateForTests();
259
+ expect(classifyZeroRecoveryLog("error", ['Mutator "send" error on server', "Store is closed"], 2e4)).toBeUndefined();
260
+ });
201
261
  test("default reload path is a safe no-op when location is absent", async () => {
202
262
  const events = [];
203
263
  const zeroEvents = createEmitter(`test-recover-${emitterSeq++}`, null);
@@ -1 +1 @@
1
- {"version":3,"names":["createEmitter","UpdateNeededReasonType","beforeEach","describe","expect","test","vi","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","infoSpy","spyOn","console","mockImplementation","worker","toHaveBeenCalledWith","mockRestore","ClassSink","flushed","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","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,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 { composeRecoveryLogSink, makeZeroRecovery, resetRecoveryStateForTests } from "./recoverZeroClient.native.js";
4
+ import { classifyZeroRecoveryLog, composeRecoveryLogSink, makeZeroRecovery, resetRecoveryStateForTests } from "./recoverZeroClient.native.js";
5
5
  function _class_call_check(instance, Constructor) {
6
6
  if (!(instance instanceof Constructor)) {
7
7
  throw new TypeError("Cannot call a class as a function");
@@ -190,6 +190,45 @@ describe("zero recovery", function () {
190
190
  expect(deleteLocalState).toHaveBeenCalledTimes(1);
191
191
  expect(reload).toHaveBeenCalledTimes(1);
192
192
  });
193
+ test("logSink recovers on native sqlite finalized-statement local-store loss", async function () {
194
+ var {
195
+ deps,
196
+ deleteLocalState,
197
+ reload
198
+ } = setup();
199
+ var sqliteError = new Error("This statement has been finalized");
200
+ sqliteError.name = "SqliteError";
201
+ var sink = composeRecoveryLogSink(deps);
202
+ sink.log("error", {
203
+ bgIntervalProcess: "Heartbeat"
204
+ }, "Error running.", sqliteError);
205
+ await flush();
206
+ expect(deleteLocalState).toHaveBeenCalledTimes(1);
207
+ expect(reload).toHaveBeenCalledTimes(1);
208
+ });
209
+ test("logSink recovers on repeated store-closed local-store loss", async function () {
210
+ var nowSpy = vi.spyOn(Date, "now");
211
+ var {
212
+ deps,
213
+ deleteLocalState,
214
+ reload
215
+ } = setup();
216
+ try {
217
+ var sink = composeRecoveryLogSink(deps);
218
+ nowSpy.mockReturnValue(1e4);
219
+ sink.log("error", void 0, "Failed to connect.", new Error("Store is closed"));
220
+ await flush();
221
+ expect(deleteLocalState).not.toHaveBeenCalled();
222
+ expect(reload).not.toHaveBeenCalled();
223
+ nowSpy.mockReturnValue(13e3);
224
+ sink.log("error", void 0, "Failed to connect.", new Error("Store is closed"));
225
+ await flush();
226
+ expect(deleteLocalState).toHaveBeenCalledTimes(1);
227
+ expect(reload).toHaveBeenCalledTimes(1);
228
+ } finally {
229
+ nowSpy.mockRestore();
230
+ }
231
+ });
193
232
  test("logSink with no consumer preserves console output and still watches", async function () {
194
233
  var {
195
234
  deps,
@@ -250,6 +289,27 @@ describe("zero recovery", function () {
250
289
  expect(deleteLocalState).not.toHaveBeenCalled();
251
290
  expect(reload).not.toHaveBeenCalled();
252
291
  });
292
+ test("recovery log classification is narrow", function () {
293
+ var sqliteError = new Error("This statement has been finalized");
294
+ sqliteError.name = "SqliteError";
295
+ expect(classifyZeroRecoveryLog("error", ["Error running.", sqliteError])).toMatchObject({
296
+ reason: "sqlite-statement-finalized",
297
+ dropLocalState: true
298
+ });
299
+ expect(classifyZeroRecoveryLog("error", [{
300
+ name: "SqliteError",
301
+ message: "database is locked"
302
+ }])).toBeUndefined();
303
+ expect(classifyZeroRecoveryLog("warn", ["Expected IndexedDB not found"])).toBeUndefined();
304
+ expect(classifyZeroRecoveryLog("error", ["Store is closed"], 1e4)).toBeUndefined();
305
+ expect(classifyZeroRecoveryLog("error", ["Store is closed"], 11e3)).toBeUndefined();
306
+ expect(classifyZeroRecoveryLog("error", ["Store is closed"], 14e3)).toMatchObject({
307
+ reason: "store-closed-repeat",
308
+ dropLocalState: true
309
+ });
310
+ resetRecoveryStateForTests();
311
+ expect(classifyZeroRecoveryLog("error", ['Mutator "send" error on server', "Store is closed"], 2e4)).toBeUndefined();
312
+ });
253
313
  test("default reload path is a safe no-op when location is absent", async function () {
254
314
  var events = [];
255
315
  var zeroEvents = createEmitter(`test-recover-${emitterSeq++}`, null);
@@ -1 +1 @@
1
- {"version":3,"names":["createEmitter","UpdateNeededReasonType","beforeEach","describe","expect","test","vi","composeRecoveryLogSink","makeZeroRecovery","resetRecoveryStateForTests","_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","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","toBe","filter","some","consumer","log","sink","infoSpy","spyOn","console","mockImplementation","worker","toHaveBeenCalledWith","mockRestore"],"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","makeZeroRecovery","resetRecoveryStateForTests","_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","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","toBe","filter","some","consumer","log","sink","sqliteError","Error","name","bgIntervalProcess","nowSpy","spyOn","Date","mockReturnValue","mockRestore","infoSpy","console","mockImplementation","worker","toHaveBeenCalledWith","_sink_flush","ClassSink","ClassSink2","flush2","flushed","call"],"sources":["../../../src/helpers/recoverZeroClient.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -20,6 +20,6 @@ export * from "./zql.mjs";
20
20
  import { defineQuery, defineQueries } from "@rocicorp/zero";
21
21
  import { clearZeroClientData } from "./helpers/clearZeroClientData.mjs";
22
22
  import { showZeroClientErrorOnce, resetShownZeroClientError } from "./helpers/showZeroClientError.mjs";
23
- import { makeZeroRecovery, composeRecoveryLogSink } from "./helpers/recoverZeroClient.mjs";
24
- export { clearZeroClientData, composeRecoveryLogSink, createZeroClient, defineQueries, defineQuery, ensureAuth, getAuth, makeZeroRecovery, resetShownZeroClientError, setAuthData, setEnvironment, setRunner, showZeroClientErrorOnce };
23
+ import { classifyZeroRecoveryLog, makeZeroRecovery, composeRecoveryLogSink } from "./helpers/recoverZeroClient.mjs";
24
+ export { classifyZeroRecoveryLog, clearZeroClientData, composeRecoveryLogSink, createZeroClient, defineQueries, defineQuery, ensureAuth, getAuth, makeZeroRecovery, resetShownZeroClientError, setAuthData, setEnvironment, setRunner, showZeroClientErrorOnce };
25
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","createZeroClient","setRunner","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError","makeZeroRecovery","composeRecoveryLogSink"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,UAAA,EAAYC,OAAA,QAAe;AACpC,SAASC,WAAA,EAAaC,cAAA,QAAsB;AAE5C,SACEC,gBAAA,QAIK;AACP,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,SAAA,QAAkC;AAC3C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,WAAA,EAAaC,aAAA,QAAqB;AAQ3C,SACEC,mBAAA,QAEK;AACP,SACEC,uBAAA,EACAC,yBAAA,QAGK;AACP,SACEC,gBAAA,EACAC,sBAAA,QAEK","ignoreList":[]}
1
+ {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","createZeroClient","setRunner","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError","classifyZeroRecoveryLog","makeZeroRecovery","composeRecoveryLogSink"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,UAAA,EAAYC,OAAA,QAAe;AACpC,SAASC,WAAA,EAAaC,cAAA,QAAsB;AAE5C,SACEC,gBAAA,QAIK;AACP,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,SAAA,QAAkC;AAC3C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,WAAA,EAAaC,aAAA,QAAqB;AAQ3C,SACEC,mBAAA,QAEK;AACP,SACEC,uBAAA,EACAC,yBAAA,QAGK;AACP,SACEC,uBAAA,EACAC,gBAAA,EACAC,sBAAA,QAIK","ignoreList":[]}
@@ -20,6 +20,6 @@ export * from "./zql.mjs";
20
20
  import { defineQuery, defineQueries } from "@rocicorp/zero";
21
21
  import { clearZeroClientData } from "./helpers/clearZeroClientData.mjs";
22
22
  import { showZeroClientErrorOnce, resetShownZeroClientError } from "./helpers/showZeroClientError.mjs";
23
- import { makeZeroRecovery, composeRecoveryLogSink } from "./helpers/recoverZeroClient.mjs";
24
- export { clearZeroClientData, composeRecoveryLogSink, createZeroClient, defineQueries, defineQuery, ensureAuth, getAuth, makeZeroRecovery, resetShownZeroClientError, setAuthData, setEnvironment, setRunner, showZeroClientErrorOnce };
23
+ import { classifyZeroRecoveryLog, makeZeroRecovery, composeRecoveryLogSink } from "./helpers/recoverZeroClient.mjs";
24
+ export { classifyZeroRecoveryLog, clearZeroClientData, composeRecoveryLogSink, createZeroClient, defineQueries, defineQuery, ensureAuth, getAuth, makeZeroRecovery, resetShownZeroClientError, setAuthData, setEnvironment, setRunner, showZeroClientErrorOnce };
25
25
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","createZeroClient","setRunner","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError","makeZeroRecovery","composeRecoveryLogSink"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,UAAA,EAAYC,OAAA,QAAe;AACpC,SAASC,WAAA,EAAaC,cAAA,QAAsB;AAE5C,SACEC,gBAAA,QAIK;AACP,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,SAAA,QAAkC;AAC3C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,WAAA,EAAaC,aAAA,QAAqB;AAQ3C,SACEC,mBAAA,QAEK;AACP,SACEC,uBAAA,EACAC,yBAAA,QAGK;AACP,SACEC,gBAAA,EACAC,sBAAA,QAEK","ignoreList":[]}
1
+ {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","createZeroClient","setRunner","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError","classifyZeroRecoveryLog","makeZeroRecovery","composeRecoveryLogSink"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,UAAA,EAAYC,OAAA,QAAe;AACpC,SAASC,WAAA,EAAaC,cAAA,QAAsB;AAE5C,SACEC,gBAAA,QAIK;AACP,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,SAAA,QAAkC;AAC3C,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASC,WAAA,EAAaC,aAAA,QAAqB;AAQ3C,SACEC,mBAAA,QAEK;AACP,SACEC,uBAAA,EACAC,yBAAA,QAGK;AACP,SACEC,uBAAA,EACAC,gBAAA,EACAC,sBAAA,QAIK","ignoreList":[]}
@@ -20,6 +20,6 @@ export * from "./zql.native.js";
20
20
  import { defineQuery, defineQueries } from "@rocicorp/zero";
21
21
  import { clearZeroClientData } from "./helpers/clearZeroClientData.native.js";
22
22
  import { showZeroClientErrorOnce, resetShownZeroClientError } from "./helpers/showZeroClientError.native.js";
23
- import { makeZeroRecovery, composeRecoveryLogSink } from "./helpers/recoverZeroClient.native.js";
24
- export { clearZeroClientData, composeRecoveryLogSink, createZeroClient, defineQueries, defineQuery, ensureAuth, getAuth, makeZeroRecovery, resetShownZeroClientError, setAuthData, setEnvironment, setRunner, showZeroClientErrorOnce };
23
+ import { classifyZeroRecoveryLog, makeZeroRecovery, composeRecoveryLogSink } from "./helpers/recoverZeroClient.native.js";
24
+ export { classifyZeroRecoveryLog, clearZeroClientData, composeRecoveryLogSink, createZeroClient, defineQueries, defineQuery, ensureAuth, getAuth, makeZeroRecovery, resetShownZeroClientError, setAuthData, setEnvironment, setRunner, showZeroClientErrorOnce };
25
25
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","createZeroClient","setRunner","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError","makeZeroRecovery","composeRecoveryLogSink"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,UAAA,EAAYC,OAAA,QAAe;AACpC,SAASC,WAAA,EAAaC,cAAA,QAAsB;AAE5C,SAAAC,gBAAA;AAAA,cACE;AAAA,cAIK;AACP,cAAc;AACd,cAAc;AACd,SAAAC,SAAc;AACd,cAAc;AACd,cAAS;AACT,cAAc;AACd,cAAc;AACd,SAAAC,WAAc,EAAAC,aAAA;AACd,SAAAC,mBAAc;AACd,SAASC,uBAAa,EAAAC,yBAAqB;AAQ3C,SAAAC,gBAAA,EAAAC,sBAAA;AAAA,SACEJ,mBAEK,EACPI,sBAAA,EACER,gBAAA,EACAG,aAAA,EAAAD,WAGK,EACPN,UAAA,EACEC,OAAA,EACAU,gBAAA,EAAAD,yBAEK,E","ignoreList":[]}
1
+ {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","createZeroClient","setRunner","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError","classifyZeroRecoveryLog","makeZeroRecovery","composeRecoveryLogSink"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAASA,UAAA,EAAYC,OAAA,QAAe;AACpC,SAASC,WAAA,EAAaC,cAAA,QAAsB;AAE5C,SAAAC,gBAAA;AAAA,cACE;AAAA,cAIK;AACP,cAAc;AACd,cAAc;AACd,SAAAC,SAAc;AACd,cAAc;AACd,cAAS;AACT,cAAc;AACd,cAAc;AACd,SAAAC,WAAc,EAAAC,aAAA;AACd,SAAAC,mBAAc;AACd,SAASC,uBAAa,EAAAC,yBAAqB;AAQ3C,SAAAC,uBAAA,EAAAC,gBAAA,EAAAC,sBAAA;AAAA,SACEF,uBAEK,EACPH,mBAAA,EACEK,sBAAA,EACAT,gBAAA,EAAAG,aAGK,EACPD,WAAA,EACEN,UAAA,EACAC,OAAA,EACAW,gBAAA,EAAAF,yBAIK,E","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "on-zero",
3
- "version": "0.6.2",
3
+ "version": "0.6.3",
4
4
  "description": "A typed layer over @rocicorp/zero with queries, mutations, and permissions",
5
5
  "sideEffects": false,
6
6
  "source": "src/index.ts",
@@ -83,7 +83,7 @@
83
83
  }
84
84
  },
85
85
  "dependencies": {
86
- "@take-out/helpers": "0.6.2",
86
+ "@take-out/helpers": "0.6.3",
87
87
  "chokidar": "^4.0.3",
88
88
  "citty": "^0.1.6",
89
89
  "valibot": "^1.1.0"