on-zero 0.6.2 → 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 +197 -14
  11. package/dist/cjs/helpers/recoverZeroClient.native.js +220 -24
  12. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
  13. package/dist/cjs/helpers/recoverZeroClient.test.cjs +241 -0
  14. package/dist/cjs/helpers/recoverZeroClient.test.native.js +269 -0
  15. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
  16. package/dist/cjs/index.cjs +2 -0
  17. package/dist/cjs/index.native.js +2 -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 +196 -15
  38. package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -1
  39. package/dist/esm/helpers/recoverZeroClient.native.js +219 -25
  40. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -1
  41. package/dist/esm/helpers/recoverZeroClient.test.mjs +242 -1
  42. package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -1
  43. package/dist/esm/helpers/recoverZeroClient.test.native.js +270 -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 +270 -1
  66. package/src/helpers/recoverZeroClient.ts +347 -50
  67. package/src/index.ts +6 -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 +23 -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
@@ -7,7 +7,7 @@ import { ensureHttpPullTransport } from "./httpPullTransport.mjs";
7
7
  import { createUseQuery } from "./createUseQuery.mjs";
8
8
  import { registerClientInstance } from "./instanceRegistry.mjs";
9
9
  import { createMutators } from "./helpers/createMutators.mjs";
10
- import { composeRecoveryLogSink, makeZeroRecovery } from "./helpers/recoverZeroClient.mjs";
10
+ import { composeRecoveryLogSink, isRecoverableZeroStalePokeMessage, makeZeroRecovery } from "./helpers/recoverZeroClient.mjs";
11
11
  import { getAuth } from "./helpers/getAuth.mjs";
12
12
  import { getAllMutationsPermissions, getMutationsPermissions } from "./modelRegistry.mjs";
13
13
  import { registerQuery } from "./queryRegistry.mjs";
@@ -183,6 +183,14 @@ function createZeroClientInternal({
183
183
  const usePermission = createUsePermission(useQuery);
184
184
  const usePermissionDirect = createUsePermission(useQueryDirect);
185
185
  let cachedZero = null;
186
+ const REMINT_GUARD_MS = 12e3;
187
+ const REMINT_MAX_ATTEMPTS = 5;
188
+ const REMINT_ATTEMPT_RESET_MS = 6e4;
189
+ const remintControl = {
190
+ bump: null
191
+ };
192
+ let lastRemintAt = 0;
193
+ let remintAttempts = 0;
186
194
  function invalidateZeroInstance(instanceToInvalidate) {
187
195
  if (!instanceToInvalidate) return;
188
196
  if (cachedZero?.instance === instanceToInvalidate) {
@@ -205,6 +213,26 @@ function createZeroClientInternal({
205
213
  invalidateZeroInstance(instanceToDelete);
206
214
  }
207
215
  }
216
+ async function remint(opts = {}) {
217
+ if (!remintControl.bump) return false;
218
+ const now = Date.now();
219
+ const sinceLast = now - lastRemintAt;
220
+ if (lastRemintAt > 0 && sinceLast < REMINT_GUARD_MS) return false;
221
+ if (sinceLast > REMINT_ATTEMPT_RESET_MS) remintAttempts = 0;
222
+ if (remintAttempts >= REMINT_MAX_ATTEMPTS) return false;
223
+ lastRemintAt = now;
224
+ remintAttempts += 1;
225
+ const {
226
+ dropLocalState = true
227
+ } = opts;
228
+ if (dropLocalState && latestZeroInstance) {
229
+ await deleteZeroInstance(latestZeroInstance).catch(() => {});
230
+ }
231
+ const bump = remintControl.bump;
232
+ if (!bump) return false;
233
+ bump();
234
+ return true;
235
+ }
208
236
  const DISABLED_ZERO_STUB_CONNECTION_STATE = {
209
237
  current: {
210
238
  name: "closed"
@@ -238,6 +266,11 @@ function createZeroClientInternal({
238
266
  transport,
239
267
  pullIntervalMs = 3e4,
240
268
  beforeReload,
269
+ scheduleReload,
270
+ guardStorage,
271
+ benignLogFilter,
272
+ refreshAuth,
273
+ connectionDataset,
241
274
  disable,
242
275
  ...props
243
276
  }) => {
@@ -259,10 +292,17 @@ function createZeroClientInternal({
259
292
  can: permissionsHelpers.can
260
293
  });
261
294
  }, []);
295
+ const [remintGeneration, setRemintGeneration] = useState(0);
296
+ useEffect(() => {
297
+ remintControl.bump = () => setRemintGeneration(generation => generation + 1);
298
+ return () => {
299
+ remintControl.bump = null;
300
+ };
301
+ }, []);
262
302
  const instanceKey = JSON.stringify([Object.entries({
263
303
  kvStore: "mem",
264
304
  ...props
265
- }).filter(([key, value]) => key !== "auth" && typeof value !== "function" && value !== void 0).sort(([a], [b]) => a < b ? -1 : 1), hasAuth, transport]);
305
+ }).filter(([key, value]) => key !== "auth" && typeof value !== "function" && value !== void 0).sort(([a], [b]) => a < b ? -1 : 1), hasAuth, transport, remintGeneration]);
266
306
  const [instance2, setInstance] = useState();
267
307
  useEffect(() => {
268
308
  if (disable) {
@@ -289,7 +329,10 @@ function createZeroClientInternal({
289
329
  const recoveryDeps = {
290
330
  deleteLocalState: () => deleteZeroInstance(instanceRef.current),
291
331
  zeroEvents,
292
- beforeReload
332
+ beforeReload,
333
+ scheduleReload,
334
+ guardStorage,
335
+ benignLogFilter
293
336
  };
294
337
  const recovery = makeZeroRecovery(recoveryDeps);
295
338
  const createdInstance = new ZeroClient({
@@ -337,7 +380,10 @@ function createZeroClientInternal({
337
380
  children: /* @__PURE__ */jsxs(ZeroContext.Provider, {
338
381
  value: liveInstance ?? DISABLED_ZERO_STUB,
339
382
  children: [liveInstance ? /* @__PURE__ */jsx(SetZeroInstance, {}) : null, liveInstance ? /* @__PURE__ */jsx(ConnectionMonitor, {
340
- zeroEvents
383
+ zeroEvents,
384
+ refreshAuth,
385
+ exposeDataset: connectionDataset,
386
+ datasetCacheUrl: connectionDataset ? props.cacheURL ?? props.server : void 0
341
387
  }) : null, children]
342
388
  })
343
389
  })
@@ -358,23 +404,55 @@ function createZeroClientInternal({
358
404
  return null;
359
405
  };
360
406
  const ConnectionMonitor = memo(({
361
- zeroEvents: zeroEvents2
407
+ zeroEvents: zeroEvents2,
408
+ refreshAuth,
409
+ exposeDataset,
410
+ datasetCacheUrl
362
411
  }) => {
412
+ const zeroInstance = useZero();
363
413
  const state = useConnectionState();
364
414
  const prevState = useRef(state.name);
415
+ const staleReconnectRef = useRef(null);
416
+ const needsAuthRef = useRef(false);
365
417
  useEffect(() => {
366
- if (state.name !== prevState.current) {
367
- const reason = "reason" in state ? state.reason : "";
368
- prevState.current = state.name;
369
- if (state.name === "error" || state.name === "needs-auth") {
370
- const message = typeof reason === "string" ? reason : state.name;
418
+ const name = state.name;
419
+ const reason = "reason" in state && typeof state.reason === "string" ? state.reason : "";
420
+ if (exposeDataset && typeof document !== "undefined" && document.body) {
421
+ document.body.dataset.zeroState = name;
422
+ if (datasetCacheUrl) document.body.dataset.zeroCacheUrl = datasetCacheUrl;
423
+ if (reason) document.body.dataset.zeroReason = reason.slice(0, 200);else delete document.body.dataset.zeroReason;
424
+ if (name === "connected") document.body.dataset.zeroConnected = "true";else delete document.body.dataset.zeroConnected;
425
+ }
426
+ if (name === "error" && isRecoverableZeroStalePokeMessage(reason)) {
427
+ if (staleReconnectRef.current !== reason) {
428
+ staleReconnectRef.current = reason;
429
+ void Promise.resolve(zeroInstance.connection?.connect?.()).catch(() => {});
430
+ }
431
+ return;
432
+ }
433
+ if (name !== "error") staleReconnectRef.current = null;
434
+ if (name === "needs-auth") {
435
+ if (refreshAuth && !needsAuthRef.current) {
436
+ needsAuthRef.current = true;
437
+ void refreshAuth().then(token => {
438
+ if (token) zeroInstance.connection?.connect?.({
439
+ auth: token
440
+ });
441
+ }).catch(() => {});
442
+ }
443
+ } else {
444
+ needsAuthRef.current = false;
445
+ }
446
+ if (name !== prevState.current) {
447
+ prevState.current = name;
448
+ if (name === "error" || name === "needs-auth") {
371
449
  zeroEvents2.emit({
372
450
  type: "error",
373
- message
451
+ message: reason || name
374
452
  });
375
453
  }
376
454
  }
377
- }, [state, zeroEvents2]);
455
+ }, [state, zeroEvents2, zeroInstance, refreshAuth, exposeDataset, datasetCacheUrl]);
378
456
  return null;
379
457
  });
380
458
  function preload(fnArg, paramsOrOptions, optionsArg) {
@@ -417,7 +495,8 @@ function createZeroClientInternal({
417
495
  usePermissionDirect,
418
496
  zero,
419
497
  preload,
420
- getQuery
498
+ getQuery,
499
+ remint
421
500
  };
422
501
  }
423
502
  export { createZeroClient, createZeroClientInternal };
@@ -1 +1 @@
1
- {"version":3,"names":["defineQueries","defineQuery","Zero","ZeroClient","useConnectionState","useZero","ZeroContext","createEmitter","IS_SERVER_RUNTIME","createContext","memo","useContext","useEffect","useMemo","useRef","useState","createPermissions","ensureHttpPullTransport","createUseQuery","registerClientInstance","createMutators","composeRecoveryLogSink","makeZeroRecovery","getAuth","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","jsx","jsxs","getZeroProxyValue","instance","key","value","Reflect","get","bound","bind","property","ownKeys","descriptor","Object","getOwnPropertyDescriptor","defineProperty","createUnavailableDirectUseQuery","useQueryDirect","Error","createZeroClient","options","createZeroClientInternal","schema","models","groupedQueries","permissionStrategy","instanceName","createDirectUseQuery","permissionsHelpers","environment","wrappedNamespaces","namespace","queries","entries","name","fn","args","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","customQueries","namespaces","keys","DisabledContext","latestZeroInstance","zero","Proxy","_","instanceToDelete","deleteZeroInstance","emitterScope","zeroEvents","zeroInstanceVersion","AuthDataContext","useQuery","getZero","zeroVersion","createUsePermission","useQueryImpl","usePermission2","enabled","debug","disableMode","lastRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","result","type","current","usePermission","usePermissionDirect","cachedZero","invalidateZeroInstance","instanceToInvalidate","runner","emit","close","delete","DISABLED_ZERO_STUB_CONNECTION_STATE","subscribe","DISABLED_ZERO_STUB","context","connection","state","ProvideZeroServer","children","authData","authDataIn","Provider","ProvideZeroClient","transport","pullIntervalMs","beforeReload","disable","props","hasAuth","stableAuthDataRef","mutators","can","instanceKey","JSON","stringify","kvStore","filter","sort","a","b","instance2","setInstance","cached","serverURL","cacheURL","server","origin","instanceRef","recoveryDeps","deleteLocalState","recovery","createdInstance","logSink","onUpdateNeeded","onClientStateNotFound","prevAuthRef","prevAuth","connect","liveInstance","SetZeroInstance","ConnectionMonitor","ProvideZero","zeroInstance","query","run","zeroEvents2","prevState","reason","message","preload","fnArg","paramsOrOptions","optionsArg","hasParams","params","queryRequest","getQuery","ControlQueries","action","whenDisabled","mode"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["defineQueries","defineQuery","Zero","ZeroClient","useConnectionState","useZero","ZeroContext","createEmitter","IS_SERVER_RUNTIME","createContext","memo","useContext","useEffect","useMemo","useRef","useState","createPermissions","ensureHttpPullTransport","createUseQuery","registerClientInstance","createMutators","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","makeZeroRecovery","getAuth","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","jsx","jsxs","getZeroProxyValue","instance","key","value","Reflect","get","bound","bind","property","ownKeys","descriptor","Object","getOwnPropertyDescriptor","defineProperty","createUnavailableDirectUseQuery","useQueryDirect","Error","createZeroClient","options","createZeroClientInternal","schema","models","groupedQueries","permissionStrategy","instanceName","createDirectUseQuery","permissionsHelpers","environment","wrappedNamespaces","namespace","queries","entries","name","fn","args","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","customQueries","namespaces","keys","DisabledContext","latestZeroInstance","zero","Proxy","_","instanceToDelete","deleteZeroInstance","emitterScope","zeroEvents","zeroInstanceVersion","AuthDataContext","useQuery","getZero","zeroVersion","createUsePermission","useQueryImpl","usePermission2","enabled","debug","disableMode","lastRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","result","type","current","usePermission","usePermissionDirect","cachedZero","REMINT_GUARD_MS","REMINT_MAX_ATTEMPTS","REMINT_ATTEMPT_RESET_MS","remintControl","bump","lastRemintAt","remintAttempts","invalidateZeroInstance","instanceToInvalidate","runner","emit","close","delete","remint","opts","now","Date","sinceLast","dropLocalState","catch","DISABLED_ZERO_STUB_CONNECTION_STATE","subscribe","DISABLED_ZERO_STUB","context","connection","state","ProvideZeroServer","children","authData","authDataIn","Provider","ProvideZeroClient","transport","pullIntervalMs","beforeReload","scheduleReload","guardStorage","benignLogFilter","refreshAuth","connectionDataset","disable","props","hasAuth","stableAuthDataRef","mutators","can","remintGeneration","setRemintGeneration","generation","instanceKey","JSON","stringify","kvStore","filter","sort","a","b","instance2","setInstance","cached","serverURL","cacheURL","server","origin","instanceRef","recoveryDeps","deleteLocalState","recovery","createdInstance","logSink","onUpdateNeeded","onClientStateNotFound","prevAuthRef","prevAuth","connect","liveInstance","SetZeroInstance","ConnectionMonitor","exposeDataset","datasetCacheUrl","ProvideZero","zeroInstance","query","run","zeroEvents2","prevState","staleReconnectRef","needsAuthRef","reason","document","body","dataset","zeroState","zeroCacheUrl","zeroReason","slice","zeroConnected","Promise","resolve","then","token","message","preload","fnArg","paramsOrOptions","optionsArg","hasParams","params","queryRequest","getQuery","ControlQueries","action","whenDisabled","mode"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,7 @@ import { ensureHttpPullTransport } from "./httpPullTransport.native.js";
8
8
  import { createUseQuery } from "./createUseQuery.native.js";
9
9
  import { registerClientInstance } from "./instanceRegistry.native.js";
10
10
  import { createMutators } from "./helpers/createMutators.native.js";
11
- import { composeRecoveryLogSink, makeZeroRecovery } from "./helpers/recoverZeroClient.native.js";
11
+ import { composeRecoveryLogSink, isRecoverableZeroStalePokeMessage, makeZeroRecovery } from "./helpers/recoverZeroClient.native.js";
12
12
  import { getAuth } from "./helpers/getAuth.native.js";
13
13
  import { getAllMutationsPermissions, getMutationsPermissions } from "./modelRegistry.native.js";
14
14
  import { registerQuery } from "./queryRegistry.native.js";
@@ -284,6 +284,14 @@ function createZeroClientInternal(param) {
284
284
  var usePermission = createUsePermission(useQuery);
285
285
  var usePermissionDirect = createUsePermission(useQueryDirect);
286
286
  var cachedZero = null;
287
+ var REMINT_GUARD_MS = 12e3;
288
+ var REMINT_MAX_ATTEMPTS = 5;
289
+ var REMINT_ATTEMPT_RESET_MS = 6e4;
290
+ var remintControl = {
291
+ bump: null
292
+ };
293
+ var lastRemintAt = 0;
294
+ var remintAttempts = 0;
287
295
  function invalidateZeroInstance(instanceToInvalidate) {
288
296
  if (!instanceToInvalidate) return;
289
297
  if ((cachedZero === null || cachedZero === void 0 ? void 0 : cachedZero.instance) === instanceToInvalidate) {
@@ -306,6 +314,27 @@ function createZeroClientInternal(param) {
306
314
  invalidateZeroInstance(instanceToDelete);
307
315
  }
308
316
  }
317
+ async function remint() {
318
+ var opts = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
319
+ if (!remintControl.bump) return false;
320
+ var now = Date.now();
321
+ var sinceLast = now - lastRemintAt;
322
+ if (lastRemintAt > 0 && sinceLast < REMINT_GUARD_MS) return false;
323
+ if (sinceLast > REMINT_ATTEMPT_RESET_MS) remintAttempts = 0;
324
+ if (remintAttempts >= REMINT_MAX_ATTEMPTS) return false;
325
+ lastRemintAt = now;
326
+ remintAttempts += 1;
327
+ var {
328
+ dropLocalState = true
329
+ } = opts;
330
+ if (dropLocalState && latestZeroInstance) {
331
+ await deleteZeroInstance(latestZeroInstance).catch(function () {});
332
+ }
333
+ var bump = remintControl.bump;
334
+ if (!bump) return false;
335
+ bump();
336
+ return true;
337
+ }
309
338
  var DISABLED_ZERO_STUB_CONNECTION_STATE = {
310
339
  current: {
311
340
  name: "closed"
@@ -351,6 +380,11 @@ function createZeroClientInternal(param) {
351
380
  transport,
352
381
  pullIntervalMs = 3e4,
353
382
  beforeReload,
383
+ scheduleReload,
384
+ guardStorage,
385
+ benignLogFilter,
386
+ refreshAuth,
387
+ connectionDataset,
354
388
  disable,
355
389
  ...props
356
390
  } = param2;
@@ -375,6 +409,17 @@ function createZeroClientInternal(param) {
375
409
  },
376
410
  // eslint-disable-next-line react-hooks/exhaustive-deps
377
411
  []);
412
+ var [remintGeneration, setRemintGeneration] = useState(0);
413
+ useEffect(function () {
414
+ remintControl.bump = function () {
415
+ return setRemintGeneration(function (generation) {
416
+ return generation + 1;
417
+ });
418
+ };
419
+ return function () {
420
+ remintControl.bump = null;
421
+ };
422
+ }, []);
378
423
  var instanceKey = JSON.stringify([Object.entries({
379
424
  kvStore: "mem",
380
425
  ...props
@@ -385,7 +430,7 @@ function createZeroClientInternal(param) {
385
430
  var [a] = param3,
386
431
  [b] = param1;
387
432
  return a < b ? -1 : 1;
388
- }), hasAuth, transport]);
433
+ }), hasAuth, transport, remintGeneration]);
389
434
  var [instance2, setInstance] = useState();
390
435
  useEffect(function () {
391
436
  if (disable) {
@@ -415,7 +460,10 @@ function createZeroClientInternal(param) {
415
460
  return deleteZeroInstance(instanceRef.current);
416
461
  },
417
462
  zeroEvents,
418
- beforeReload
463
+ beforeReload,
464
+ scheduleReload,
465
+ guardStorage,
466
+ benignLogFilter
419
467
  };
420
468
  var recovery = makeZeroRecovery(recoveryDeps);
421
469
  var _options_logSink, _options_onUpdateNeeded, _options_onClientStateNotFound;
@@ -462,6 +510,7 @@ function createZeroClientInternal(param) {
462
510
  }
463
511
  }, [instance2, auth]);
464
512
  var liveInstance = disable ? void 0 : instance2;
513
+ var _props_cacheURL;
465
514
  return /* @__PURE__ */_jsx(AuthDataContext.Provider, {
466
515
  value: authData,
467
516
  children: /* @__PURE__ */_jsx(DisabledContext.Provider, {
@@ -469,7 +518,10 @@ function createZeroClientInternal(param) {
469
518
  children: /* @__PURE__ */_jsxs(ZeroContext.Provider, {
470
519
  value: liveInstance !== null && liveInstance !== void 0 ? liveInstance : DISABLED_ZERO_STUB,
471
520
  children: [liveInstance ? /* @__PURE__ */_jsx(SetZeroInstance, {}) : null, liveInstance ? /* @__PURE__ */_jsx(ConnectionMonitor, {
472
- zeroEvents
521
+ zeroEvents,
522
+ refreshAuth,
523
+ exposeDataset: connectionDataset,
524
+ datasetCacheUrl: connectionDataset ? (_props_cacheURL = props.cacheURL) !== null && _props_cacheURL !== void 0 ? _props_cacheURL : props.server : void 0
473
525
  }) : null, children]
474
526
  })
475
527
  })
@@ -493,23 +545,57 @@ function createZeroClientInternal(param) {
493
545
  };
494
546
  var ConnectionMonitor = /* @__PURE__ */memo(function (param2) {
495
547
  var {
496
- zeroEvents: zeroEvents2
548
+ zeroEvents: zeroEvents2,
549
+ refreshAuth,
550
+ exposeDataset,
551
+ datasetCacheUrl
497
552
  } = param2;
553
+ var zeroInstance = useZero();
498
554
  var state = useConnectionState();
499
555
  var prevState = useRef(state.name);
556
+ var staleReconnectRef = useRef(null);
557
+ var needsAuthRef = useRef(false);
500
558
  useEffect(function () {
501
- if (state.name !== prevState.current) {
502
- var reason = "reason" in state ? state.reason : "";
503
- prevState.current = state.name;
504
- if (state.name === "error" || state.name === "needs-auth") {
505
- var message = typeof reason === "string" ? reason : state.name;
559
+ var name = state.name;
560
+ var reason = "reason" in state && typeof state.reason === "string" ? state.reason : "";
561
+ if (exposeDataset && typeof document !== "undefined" && document.body) {
562
+ document.body.dataset.zeroState = name;
563
+ if (datasetCacheUrl) document.body.dataset.zeroCacheUrl = datasetCacheUrl;
564
+ if (reason) document.body.dataset.zeroReason = reason.slice(0, 200);else delete document.body.dataset.zeroReason;
565
+ if (name === "connected") document.body.dataset.zeroConnected = "true";else delete document.body.dataset.zeroConnected;
566
+ }
567
+ if (name === "error" && isRecoverableZeroStalePokeMessage(reason)) {
568
+ if (staleReconnectRef.current !== reason) {
569
+ var _zeroInstance_connection_connect, _zeroInstance_connection;
570
+ staleReconnectRef.current = reason;
571
+ void Promise.resolve((_zeroInstance_connection = zeroInstance.connection) === null || _zeroInstance_connection === void 0 ? void 0 : (_zeroInstance_connection_connect = _zeroInstance_connection.connect) === null || _zeroInstance_connection_connect === void 0 ? void 0 : _zeroInstance_connection_connect.call(_zeroInstance_connection)).catch(function () {});
572
+ }
573
+ return;
574
+ }
575
+ if (name !== "error") staleReconnectRef.current = null;
576
+ if (name === "needs-auth") {
577
+ if (refreshAuth && !needsAuthRef.current) {
578
+ needsAuthRef.current = true;
579
+ void refreshAuth().then(function (token) {
580
+ var _zeroInstance_connection_connect2, _zeroInstance_connection2;
581
+ if (token) (_zeroInstance_connection2 = zeroInstance.connection) === null || _zeroInstance_connection2 === void 0 ? void 0 : (_zeroInstance_connection_connect2 = _zeroInstance_connection2.connect) === null || _zeroInstance_connection_connect2 === void 0 ? void 0 : _zeroInstance_connection_connect2.call(_zeroInstance_connection2, {
582
+ auth: token
583
+ });
584
+ }).catch(function () {});
585
+ }
586
+ } else {
587
+ needsAuthRef.current = false;
588
+ }
589
+ if (name !== prevState.current) {
590
+ prevState.current = name;
591
+ if (name === "error" || name === "needs-auth") {
506
592
  zeroEvents2.emit({
507
593
  type: "error",
508
- message
594
+ message: reason || name
509
595
  });
510
596
  }
511
597
  }
512
- }, [state, zeroEvents2]);
598
+ }, [state, zeroEvents2, zeroInstance, refreshAuth, exposeDataset, datasetCacheUrl]);
513
599
  return null;
514
600
  });
515
601
  function preload(fnArg, paramsOrOptions, optionsArg) {
@@ -553,7 +639,8 @@ function createZeroClientInternal(param) {
553
639
  usePermissionDirect,
554
640
  zero,
555
641
  preload,
556
- getQuery
642
+ getQuery,
643
+ remint
557
644
  };
558
645
  }
559
646
  export { createZeroClient, createZeroClientInternal };
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","defineQueries","defineQuery","Zero","ZeroClient","useConnectionState","useZero","ZeroContext","createEmitter","IS_SERVER_RUNTIME","createContext","memo","useContext","useEffect","useMemo","useRef","useState","createPermissions","ensureHttpPullTransport","createUseQuery","registerClientInstance","createMutators","composeRecoveryLogSink","makeZeroRecovery","getAuth","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","getZeroProxyValue","instance","key","value","Reflect","get","bound","bind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","ownKeys","Symbol","iterator","_step","next","done","property","descriptor","Object","getOwnPropertyDescriptor","defineProperty","err","return","createUnavailableDirectUseQuery","useQueryDirect","Error","createZeroClient","options","createZeroClientInternal","param","schema","models","groupedQueries","permissionStrategy","instanceName","createDirectUseQuery","permissionsHelpers","environment","wrappedNamespaces","entries","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","param2","args","_iterator1","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","customQueries","namespaces","keys","DisabledContext","latestZeroInstance","zero","Proxy","_","instanceToDelete","deleteZeroInstance","emitterScope","zeroEvents","zeroInstanceVersion","AuthDataContext","useQuery","getZero","zeroVersion","createUsePermission","useQueryImpl","usePermission2","enabled","arguments","length","debug","disableMode","lastRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","result","type","current","usePermission","usePermissionDirect","cachedZero","invalidateZeroInstance","instanceToInvalidate","runner","emit","close","delete","DISABLED_ZERO_STUB_CONNECTION_STATE","subscribe","DISABLED_ZERO_STUB","context","connection","state","ProvideZeroServer","children","authData","authDataIn","Provider","ProvideZeroClient","transport","pullIntervalMs","beforeReload","disable","props","hasAuth","stableAuthDataRef","_ref","mutators","can","instanceKey","JSON","stringify","kvStore","filter","param3","sort","param1","a","b","instance2","setInstance","cached","_options_cacheURL","serverURL","cacheURL","server","origin","instanceRef","recoveryDeps","deleteLocalState","recovery","_options_logSink","_options_onUpdateNeeded","_options_onClientStateNotFound","createdInstance"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","defineQueries","defineQuery","Zero","ZeroClient","useConnectionState","useZero","ZeroContext","createEmitter","IS_SERVER_RUNTIME","createContext","memo","useContext","useEffect","useMemo","useRef","useState","createPermissions","ensureHttpPullTransport","createUseQuery","registerClientInstance","createMutators","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","makeZeroRecovery","getAuth","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","getZeroProxyValue","instance","key","value","Reflect","get","bound","bind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","ownKeys","Symbol","iterator","_step","next","done","property","descriptor","Object","getOwnPropertyDescriptor","defineProperty","err","return","createUnavailableDirectUseQuery","useQueryDirect","Error","createZeroClient","options","createZeroClientInternal","param","schema","models","groupedQueries","permissionStrategy","instanceName","createDirectUseQuery","permissionsHelpers","environment","wrappedNamespaces","entries","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","param2","args","_iterator1","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","customQueries","namespaces","keys","DisabledContext","latestZeroInstance","zero","Proxy","_","instanceToDelete","deleteZeroInstance","emitterScope","zeroEvents","zeroInstanceVersion","AuthDataContext","useQuery","getZero","zeroVersion","createUsePermission","useQueryImpl","usePermission2","enabled","arguments","length","debug","disableMode","lastRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","result","type","current","usePermission","usePermissionDirect","cachedZero","REMINT_GUARD_MS","REMINT_MAX_ATTEMPTS","REMINT_ATTEMPT_RESET_MS","remintControl","bump","lastRemintAt","remintAttempts","invalidateZeroInstance","instanceToInvalidate","runner","emit","close","delete","remint","opts","now","Date","sinceLast","dropLocalState","catch","DISABLED_ZERO_STUB_CONNECTION_STATE","subscribe","DISABLED_ZERO_STUB","context","connection","state","ProvideZeroServer","children","authData","authDataIn","Provider","ProvideZeroClient","transport","pullIntervalMs","beforeReload","scheduleReload","guardStorage","benignLogFilter","refreshAuth","connectionDataset","disable","props","hasAuth","stableAuthDataRef","_ref","mutators","can","remintGeneration","setRemintGeneration","generation","instanceKey","JSON","stringify","kvStore","filter","param3","sort","param1","a","b","instance2","setInstance","cached","_options_cacheURL","serverURL","cacheURL","server","origin","instanceRef","recoveryDeps","deleteLocalState","recovery","_options_logSink","_options_onUpdateNeeded","_options_onClientStateNotFound","createdInstance","logSink","onUpdateNeeded","onClientStateNotFound","prevAuthRef","prevAuth","connect"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -94,4 +94,56 @@ test("zero.delete invalidates cached instance before a remount recovery", async
94
94
  expect(fakeZero.instances).toHaveLength(2);
95
95
  expect(fakeZero.instances[1]).not.toBe(first);
96
96
  });
97
+ test("remint drops local state and reconstructs a fresh instance in place", async () => {
98
+ root = createRoot(container);
99
+ await act(async () => {
100
+ root?.render(/* @__PURE__ */jsx(client.ProvideZero, {
101
+ cacheURL: "http://127.0.0.1:7777/zero",
102
+ userID: "remint-test",
103
+ children: /* @__PURE__ */jsx("span", {
104
+ children: "ok"
105
+ })
106
+ }));
107
+ await Promise.resolve();
108
+ });
109
+ const first = fakeZero.instances.at(-1);
110
+ expect(first).toBeDefined();
111
+ const countBefore = fakeZero.instances.length;
112
+ let result;
113
+ await act(async () => {
114
+ result = await client.remint();
115
+ await Promise.resolve();
116
+ });
117
+ expect(result).toBe(true);
118
+ expect(first?.delete).toHaveBeenCalledTimes(1);
119
+ expect(fakeZero.instances.length).toBe(countBefore + 1);
120
+ expect(fakeZero.instances.at(-1)).not.toBe(first);
121
+ });
122
+ test("remint with no provider mounted returns false without burning the guard budget", async () => {
123
+ const isolated = createZeroClient({
124
+ schema,
125
+ models: {},
126
+ groupedQueries: {},
127
+ instanceName: "remint-unmounted-test"
128
+ });
129
+ expect(await isolated.remint()).toBe(false);
130
+ expect(await isolated.remint()).toBe(false);
131
+ root = createRoot(container);
132
+ await act(async () => {
133
+ root?.render(/* @__PURE__ */jsx(isolated.ProvideZero, {
134
+ cacheURL: "http://127.0.0.1:7777/zero",
135
+ userID: "remint-unmounted",
136
+ children: /* @__PURE__ */jsx("span", {
137
+ children: "ok"
138
+ })
139
+ }));
140
+ await Promise.resolve();
141
+ });
142
+ let result;
143
+ await act(async () => {
144
+ result = await isolated.remint();
145
+ await Promise.resolve();
146
+ });
147
+ expect(result).toBe(true);
148
+ });
97
149
  //# sourceMappingURL=createZeroClient.recovery.test.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","jsx","fakeZero","hoisted","FakeZero","context","connection","state","current","name","subscribe","connect","fn","delete","errors","close","run","preload","cleanup","complete","Promise","resolve","constructor","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","unmount","mount","render","ProvideZero","cacheURL","userID","children","first","toBeDefined","deleteZero","zero","toHaveBeenCalledTimes","toHaveLength","not","toBe"],"sources":["../../src/createZeroClient.recovery.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","FakeZero","context","connection","state","current","name","subscribe","connect","fn","delete","errors","close","run","preload","cleanup","complete","Promise","resolve","constructor","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","unmount","mount","render","ProvideZero","cacheURL","userID","children","first","toBeDefined","deleteZero","zero","toHaveBeenCalledTimes","toHaveLength","not","toBe","at","countBefore","result","remint","isolated"],"sources":["../../src/createZeroClient.recovery.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}