on-zero 0.4.31 → 0.4.32

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 (118) hide show
  1. package/dist/cjs/cli.native.js.map +1 -1
  2. package/dist/cjs/combineZeroClients.native.js.map +1 -1
  3. package/dist/cjs/createPermissions.native.js.map +1 -1
  4. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  5. package/dist/cjs/createUseQuery.native.js.map +1 -1
  6. package/dist/cjs/createZeroClient.authData.test.cjs +67 -0
  7. package/dist/cjs/createZeroClient.authData.test.native.js +72 -0
  8. package/dist/cjs/createZeroClient.authData.test.native.js.map +1 -0
  9. package/dist/cjs/createZeroClient.cjs +41 -26
  10. package/dist/cjs/createZeroClient.native.js +47 -26
  11. package/dist/cjs/createZeroClient.native.js.map +1 -1
  12. package/dist/cjs/createZeroServer.native.js.map +1 -1
  13. package/dist/cjs/generate-helpers.native.js.map +1 -1
  14. package/dist/cjs/generate-lite.native.js.map +1 -1
  15. package/dist/cjs/generate-lite.test.native.js.map +1 -1
  16. package/dist/cjs/generate.native.js.map +1 -1
  17. package/dist/cjs/generate.test.native.js.map +1 -1
  18. package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
  19. package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
  20. package/dist/cjs/helpers/createMutators.native.js.map +1 -1
  21. package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +1 -1
  22. package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
  23. package/dist/cjs/helpers/getAuth.native.js.map +1 -1
  24. package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
  25. package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
  26. package/dist/cjs/helpers/queryContext.native.js.map +1 -1
  27. package/dist/cjs/helpers/recoverZeroClient.cjs +101 -0
  28. package/dist/cjs/helpers/recoverZeroClient.native.js +130 -0
  29. package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -0
  30. package/dist/cjs/helpers/recoverZeroClient.test.cjs +201 -0
  31. package/dist/cjs/helpers/recoverZeroClient.test.native.js +256 -0
  32. package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -0
  33. package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
  34. package/dist/cjs/helpers/useMutation.native.js.map +1 -1
  35. package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
  36. package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
  37. package/dist/cjs/httpPull/auth.test.native.js.map +1 -1
  38. package/dist/cjs/httpPull/churn.test.native.js.map +1 -1
  39. package/dist/cjs/httpPull/fixtureSchema.native.js.map +1 -1
  40. package/dist/cjs/httpPull/fixtureServer.native.js.map +1 -1
  41. package/dist/cjs/httpPull/integration.test.native.js.map +1 -1
  42. package/dist/cjs/httpPull/rebase.test.native.js.map +1 -1
  43. package/dist/cjs/httpPull/relations.test.native.js.map +1 -1
  44. package/dist/cjs/httpPull/testHarness.native.js.map +1 -1
  45. package/dist/cjs/httpPull/transport.test.native.js.map +1 -1
  46. package/dist/cjs/httpPullTransport.native.js.map +1 -1
  47. package/dist/cjs/index.cjs +4 -1
  48. package/dist/cjs/index.native.js +3 -0
  49. package/dist/cjs/index.native.js.map +1 -1
  50. package/dist/cjs/instanceRegistry.native.js.map +1 -1
  51. package/dist/cjs/modelRegistry.native.js.map +1 -1
  52. package/dist/cjs/multiInstance.test.cjs +4 -3
  53. package/dist/cjs/multiInstance.test.native.js +6 -6
  54. package/dist/cjs/multiInstance.test.native.js.map +1 -1
  55. package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
  56. package/dist/cjs/mutations.native.js.map +1 -1
  57. package/dist/cjs/queryRegistry.native.js.map +1 -1
  58. package/dist/cjs/resolveQuery.native.js.map +1 -1
  59. package/dist/cjs/run.native.js.map +1 -1
  60. package/dist/cjs/serverWhere.native.js.map +1 -1
  61. package/dist/cjs/serverWhere.test.native.js.map +1 -1
  62. package/dist/cjs/state.native.js.map +1 -1
  63. package/dist/cjs/types.native.js.map +1 -1
  64. package/dist/cjs/usePermission.test.native.js.map +1 -1
  65. package/dist/cjs/vite-plugin.native.js.map +1 -1
  66. package/dist/cjs/where.native.js.map +1 -1
  67. package/dist/cjs/zeroRunner.native.js.map +1 -1
  68. package/dist/cjs/zql.native.js.map +1 -1
  69. package/dist/esm/createZeroClient.authData.test.mjs +68 -0
  70. package/dist/esm/createZeroClient.authData.test.mjs.map +1 -0
  71. package/dist/esm/createZeroClient.authData.test.native.js +70 -0
  72. package/dist/esm/createZeroClient.authData.test.native.js.map +1 -0
  73. package/dist/esm/createZeroClient.mjs +42 -27
  74. package/dist/esm/createZeroClient.mjs.map +1 -1
  75. package/dist/esm/createZeroClient.native.js +48 -27
  76. package/dist/esm/createZeroClient.native.js.map +1 -1
  77. package/dist/esm/createZeroServer.mjs.map +1 -1
  78. package/dist/esm/helpers/recoverZeroClient.mjs +74 -0
  79. package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -0
  80. package/dist/esm/helpers/recoverZeroClient.native.js +100 -0
  81. package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -0
  82. package/dist/esm/helpers/recoverZeroClient.test.mjs +202 -0
  83. package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -0
  84. package/dist/esm/helpers/recoverZeroClient.test.native.js +254 -0
  85. package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -0
  86. package/dist/esm/index.js +2 -1
  87. package/dist/esm/index.js.map +1 -1
  88. package/dist/esm/index.mjs +2 -1
  89. package/dist/esm/index.mjs.map +1 -1
  90. package/dist/esm/index.native.js +2 -1
  91. package/dist/esm/index.native.js.map +1 -1
  92. package/dist/esm/multiInstance.test.mjs +4 -3
  93. package/dist/esm/multiInstance.test.mjs.map +1 -1
  94. package/dist/esm/multiInstance.test.native.js +6 -6
  95. package/dist/esm/multiInstance.test.native.js.map +1 -1
  96. package/package.json +2 -2
  97. package/src/createZeroClient.authData.test.tsx +73 -0
  98. package/src/createZeroClient.tsx +60 -47
  99. package/src/createZeroServer.ts +2 -2
  100. package/src/helpers/recoverZeroClient.test.ts +172 -0
  101. package/src/helpers/recoverZeroClient.ts +173 -0
  102. package/src/index.ts +5 -0
  103. package/src/multiInstance.test.tsx +5 -3
  104. package/src/multiInstanceNested.test.tsx +1 -1
  105. package/src/types.ts +6 -1
  106. package/types/createZeroClient.authData.test.d.ts +5 -0
  107. package/types/createZeroClient.authData.test.d.ts.map +1 -0
  108. package/types/createZeroClient.d.ts +2 -1
  109. package/types/createZeroClient.d.ts.map +1 -1
  110. package/types/createZeroServer.d.ts +4 -4
  111. package/types/helpers/recoverZeroClient.d.ts +17 -0
  112. package/types/helpers/recoverZeroClient.d.ts.map +1 -0
  113. package/types/helpers/recoverZeroClient.test.d.ts +2 -0
  114. package/types/helpers/recoverZeroClient.test.d.ts.map +1 -0
  115. package/types/index.d.ts +1 -0
  116. package/types/index.d.ts.map +1 -1
  117. package/types/types.d.ts +6 -0
  118. package/types/types.d.ts.map +1 -1
package/dist/esm/index.js CHANGED
@@ -21,5 +21,6 @@ export * from "./zql.mjs";
21
21
  import { defineQuery, defineQueries } from "@rocicorp/zero";
22
22
  import { clearZeroClientData } from "./helpers/clearZeroClientData.mjs";
23
23
  import { showZeroClientErrorOnce, resetShownZeroClientError } from "./helpers/showZeroClientError.mjs";
24
- export { clearZeroClientData, defineQueries, defineQuery, ensureAuth, getAuth, resetShownZeroClientError, setAuthData, setEnvironment, setRunner, showZeroClientErrorOnce };
24
+ import { makeZeroRecovery, composeRecoveryLogSink } from "./helpers/recoverZeroClient.mjs";
25
+ export { clearZeroClientData, composeRecoveryLogSink, defineQueries, defineQuery, ensureAuth, getAuth, makeZeroRecovery, resetShownZeroClientError, setAuthData, setEnvironment, setRunner, showZeroClientErrorOnce };
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","setRunner","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError"],"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,cAAc;AACd,cAAc;AACd,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","ignoreList":[]}
1
+ {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","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,cAAc;AACd,cAAc;AACd,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":[]}
@@ -21,5 +21,6 @@ export * from "./zql.mjs";
21
21
  import { defineQuery, defineQueries } from "@rocicorp/zero";
22
22
  import { clearZeroClientData } from "./helpers/clearZeroClientData.mjs";
23
23
  import { showZeroClientErrorOnce, resetShownZeroClientError } from "./helpers/showZeroClientError.mjs";
24
- export { clearZeroClientData, defineQueries, defineQuery, ensureAuth, getAuth, resetShownZeroClientError, setAuthData, setEnvironment, setRunner, showZeroClientErrorOnce };
24
+ import { makeZeroRecovery, composeRecoveryLogSink } from "./helpers/recoverZeroClient.mjs";
25
+ export { clearZeroClientData, composeRecoveryLogSink, defineQueries, defineQuery, ensureAuth, getAuth, makeZeroRecovery, resetShownZeroClientError, setAuthData, setEnvironment, setRunner, showZeroClientErrorOnce };
25
26
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","setRunner","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError"],"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,cAAc;AACd,cAAc;AACd,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","ignoreList":[]}
1
+ {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","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,cAAc;AACd,cAAc;AACd,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":[]}
@@ -21,5 +21,6 @@ export * from "./zql.native.js";
21
21
  import { defineQuery, defineQueries } from "@rocicorp/zero";
22
22
  import { clearZeroClientData } from "./helpers/clearZeroClientData.native.js";
23
23
  import { showZeroClientErrorOnce, resetShownZeroClientError } from "./helpers/showZeroClientError.native.js";
24
- export { clearZeroClientData, defineQueries, defineQuery, ensureAuth, getAuth, resetShownZeroClientError, setAuthData, setEnvironment, setRunner, showZeroClientErrorOnce };
24
+ import { makeZeroRecovery, composeRecoveryLogSink } from "./helpers/recoverZeroClient.native.js";
25
+ export { clearZeroClientData, composeRecoveryLogSink, defineQueries, defineQuery, ensureAuth, getAuth, makeZeroRecovery, resetShownZeroClientError, setAuthData, setEnvironment, setRunner, showZeroClientErrorOnce };
25
26
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","setRunner","defineQuery","defineQueries","clearZeroClientData","showZeroClientErrorOnce","resetShownZeroClientError"],"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,cAAc;AACd,cAAc;AACd,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,SAAAC,mBAAA;AAAA,SACEC,uBAAA,EAAAC,yBAAA;AAAA,SAGFF,mBAAA,EACED,aAAA,EACAD,WAAA,EAAAL,UAGK,E","ignoreList":[]}
1
+ {"version":3,"names":["ensureAuth","getAuth","setAuthData","setEnvironment","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,cAAc;AACd,cAAc;AACd,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,SAAAC,mBAAA;AAAA,SACEC,uBAAA,EAAAC,yBAAA;AAAA,SAEKC,gBAAA,EAAAC,sBAAA;AACP,SACEJ,mBAAA,EACAI,sBAAA,EAAAL,aAGK,EACPD,WAAA,EACEL,UAAA,EACAC,OAAA,EAAAS,gBAEK,E","ignoreList":[]}
@@ -315,9 +315,10 @@ describe("combineZeroClients facade", () => {
315
315
  type: "error",
316
316
  message: "from-b"
317
317
  });
318
- expect(seen.map(event => event?.message)).toEqual(["from-a", "from-b"]);
319
- expect(a.zeroEvents.value?.message).toBe("from-a");
320
- expect(b.zeroEvents.value?.message).toBe("from-b");
318
+ const messageOf = event => event?.type === "error" ? event.message : void 0;
319
+ expect(seen.map(messageOf)).toEqual(["from-a", "from-b"]);
320
+ expect(messageOf(a.zeroEvents.value)).toBe("from-a");
321
+ expect(messageOf(b.zeroEvents.value)).toBe("from-b");
321
322
  });
322
323
  });
323
324
  //# sourceMappingURL=multiInstance.test.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createSchema","string","table","createEmitter","describe","expect","test","vi","combineZeroClients","createZeroClient","getInstanceForNamespace","registerClientInstance","registerQuery","run","setRunner","userTable","columns","id","name","primaryKey","taskTable","title","schema","tables","makeQueryFn","args","makeClient","instanceName","namespace","byId","client","models","groupedQueries","fakeClient","namespaces","zeroStub","customQueries","useQuery","fn","useQueryDirect","usePermission","usePermissionDirect","zero","preload","getQuery","zeroEvents","ControlQueries","children","control","project","controlRunner","_args","from","projectRunner","runner","ambientRunner","resolves","toEqual","not","toHaveBeenCalled","request","mock","calls","query","queryName","toBe","ambient","toHaveBeenCalledTimes","toThrow","mdlThing","mutate","insert","a","b","options","seenByB","listen","event","push","emit","type","message","value","clientID","insertSpy","updateSpy","fzUser","userID","fzTask","update","combined","toHaveBeenCalledWith","unknownNs","userQuery","taskQuery","anonymous","aQuery","bQuery","inner","seen","map"],"sources":["../../src/multiInstance.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createSchema","string","table","createEmitter","describe","expect","test","vi","combineZeroClients","createZeroClient","getInstanceForNamespace","registerClientInstance","registerQuery","run","setRunner","userTable","columns","id","name","primaryKey","taskTable","title","schema","tables","makeQueryFn","args","makeClient","instanceName","namespace","byId","client","models","groupedQueries","fakeClient","namespaces","zeroStub","customQueries","useQuery","fn","useQueryDirect","usePermission","usePermissionDirect","zero","preload","getQuery","zeroEvents","ControlQueries","children","control","project","controlRunner","_args","from","projectRunner","runner","ambientRunner","resolves","toEqual","not","toHaveBeenCalled","request","mock","calls","query","queryName","toBe","ambient","toHaveBeenCalledTimes","toThrow","mdlThing","mutate","insert","a","b","options","seenByB","listen","event","push","emit","type","message","value","clientID","insertSpy","updateSpy","fzUser","userID","fzTask","update","combined","toHaveBeenCalledWith","unknownNs","userQuery","taskQuery","anonymous","aQuery","bQuery","inner","seen","messageOf","map"],"sources":["../../src/multiInstance.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -355,7 +355,6 @@ describe("combineZeroClients facade", function () {
355
355
  }).toThrow(/not one of the passed clients/);
356
356
  });
357
357
  test("combined zeroEvents relays every instance", function () {
358
- var _a_zeroEvents_value, _b_zeroEvents_value;
359
358
  var {
360
359
  client: a
361
360
  } = makeClient("relay-a", "relayA");
@@ -375,11 +374,12 @@ describe("combineZeroClients facade", function () {
375
374
  type: "error",
376
375
  message: "from-b"
377
376
  });
378
- expect(seen.map(function (event) {
379
- return event === null || event === void 0 ? void 0 : event.message;
380
- })).toEqual(["from-a", "from-b"]);
381
- expect((_a_zeroEvents_value = a.zeroEvents.value) === null || _a_zeroEvents_value === void 0 ? void 0 : _a_zeroEvents_value.message).toBe("from-a");
382
- expect((_b_zeroEvents_value = b.zeroEvents.value) === null || _b_zeroEvents_value === void 0 ? void 0 : _b_zeroEvents_value.message).toBe("from-b");
377
+ var messageOf = function (event) {
378
+ return (event === null || event === void 0 ? void 0 : event.type) === "error" ? event.message : void 0;
379
+ };
380
+ expect(seen.map(messageOf)).toEqual(["from-a", "from-b"]);
381
+ expect(messageOf(a.zeroEvents.value)).toBe("from-a");
382
+ expect(messageOf(b.zeroEvents.value)).toBe("from-b");
383
383
  });
384
384
  });
385
385
  //# sourceMappingURL=multiInstance.test.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createSchema","string","table","createEmitter","describe","expect","test","vi","combineZeroClients","createZeroClient","getInstanceForNamespace","registerClientInstance","registerQuery","run","setRunner","userTable","columns","id","name","primaryKey","taskTable","title","schema","tables","makeQueryFn","args","makeClient","instanceName","namespace","byId","client","models","groupedQueries","fakeClient","namespaces","zeroStub","customQueries","useQuery","fn","useQueryDirect","usePermission","usePermissionDirect","zero","preload","getQuery","zeroEvents","ControlQueries","param","children","control","project","controlRunner","_len","arguments","length","_args","Array","_key","from","projectRunner","runner","ambientRunner","resolves","toEqual","not","toHaveBeenCalled","request","mock","calls","query","queryName","toBe","ambient","toHaveBeenCalledTimes","toThrow","_getInstanceForNamespace","mdlThing","mutate","insert","_a_zeroEvents_options","_b_zeroEvents_options","a","b","options","seenByB","listen","event","push","emit","type","message","value","_client_zeroEvents_options"],"sources":["../../src/multiInstance.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createSchema","string","table","createEmitter","describe","expect","test","vi","combineZeroClients","createZeroClient","getInstanceForNamespace","registerClientInstance","registerQuery","run","setRunner","userTable","columns","id","name","primaryKey","taskTable","title","schema","tables","makeQueryFn","args","makeClient","instanceName","namespace","byId","client","models","groupedQueries","fakeClient","namespaces","zeroStub","customQueries","useQuery","fn","useQueryDirect","usePermission","usePermissionDirect","zero","preload","getQuery","zeroEvents","ControlQueries","param","children","control","project","controlRunner","_len","arguments","length","_args","Array","_key","from","projectRunner","runner","ambientRunner","resolves","toEqual","not","toHaveBeenCalled","request","mock","calls","query","queryName","toBe","ambient","toHaveBeenCalledTimes","toThrow","_getInstanceForNamespace","mdlThing","mutate","insert","_a_zeroEvents_options","_b_zeroEvents_options","a","b","options","seenByB","listen","event","push","emit","type","message","value","_client_zeroEvents_options"],"sources":["../../src/multiInstance.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "on-zero",
3
- "version": "0.4.31",
3
+ "version": "0.4.32",
4
4
  "description": "A typed layer over @rocicorp/zero with queries, mutations, and permissions",
5
5
  "sideEffects": false,
6
6
  "source": "src/index.ts",
@@ -77,7 +77,7 @@
77
77
  }
78
78
  },
79
79
  "dependencies": {
80
- "@take-out/helpers": "0.4.31",
80
+ "@take-out/helpers": "0.4.32",
81
81
  "chokidar": "^4.0.3",
82
82
  "citty": "^0.1.6",
83
83
  "valibot": "^1.1.0"
@@ -0,0 +1,73 @@
1
+ // @vitest-environment jsdom
2
+ //
3
+ // authData stabilization: ProvideZero keeps the last non-null authData across a
4
+ // transient blip (session refresh / tab wake) so mutations never see null
5
+ // mid-transition — but a REAL logout (auth token gone) must clear it, or client
6
+ // mutators keep running as the old user until the instance rotates.
7
+
8
+ import { createSchema, string, table } from '@rocicorp/zero'
9
+ import { act } from 'react'
10
+ import { createRoot, type Root } from 'react-dom/client'
11
+ import { afterEach, beforeEach, expect, test } from 'vitest'
12
+
13
+ import { createZeroClient } from './createZeroClient'
14
+ import { getAuthData } from './state'
15
+
16
+ declare global {
17
+ // eslint-disable-next-line no-var
18
+ var IS_REACT_ACT_ENVIRONMENT: boolean | undefined
19
+ }
20
+ globalThis.IS_REACT_ACT_ENVIRONMENT = true
21
+
22
+ const userTable = table('user').columns({ id: string(), name: string() }).primaryKey('id')
23
+ const schema = createSchema({ tables: [userTable] })
24
+
25
+ const client = createZeroClient({
26
+ schema,
27
+ models: {},
28
+ groupedQueries: {},
29
+ instanceName: 'authdata-test',
30
+ })
31
+
32
+ let container: HTMLDivElement
33
+ let root: Root
34
+
35
+ beforeEach(() => {
36
+ container = document.createElement('div')
37
+ root = createRoot(container)
38
+ })
39
+
40
+ afterEach(() => {
41
+ act(() => root.unmount())
42
+ })
43
+
44
+ function renderWith(props: {
45
+ auth?: string
46
+ authData: { id: string } | null
47
+ userID: string
48
+ }) {
49
+ act(() => {
50
+ root.render(
51
+ <client.ProvideZero
52
+ auth={props.auth}
53
+ authData={props.authData}
54
+ userID={props.userID}
55
+ >
56
+ <span>ok</span>
57
+ </client.ProvideZero>,
58
+ )
59
+ })
60
+ }
61
+
62
+ test('authData clears on logout (token gone) but survives a transient blip', () => {
63
+ renderWith({ auth: 'tok', authData: { id: 'u1' }, userID: 'u1' })
64
+ expect(getAuthData()).toEqual({ id: 'u1' })
65
+
66
+ // transient authData blip with the token still present → keep the last value
67
+ renderWith({ auth: 'tok', authData: null, userID: 'u1' })
68
+ expect(getAuthData()).toEqual({ id: 'u1' })
69
+
70
+ // real logout: no token + no authData → cleared (mutators must not run as u1)
71
+ renderWith({ authData: null, userID: 'anon' })
72
+ expect(getAuthData()).toBeNull()
73
+ })
@@ -1,6 +1,6 @@
1
1
  import { defineQueries, defineQuery, Zero as ZeroClient } from '@rocicorp/zero'
2
2
  import { useConnectionState, useZero, ZeroProvider } from '@rocicorp/zero/react'
3
- import { createEmitter, useEmitterValue } from '@take-out/helpers'
3
+ import { createEmitter } from '@take-out/helpers'
4
4
  import {
5
5
  createContext,
6
6
  memo,
@@ -22,6 +22,11 @@ import {
22
22
  } from './createUseQuery'
23
23
  import { registerClientInstance } from './instanceRegistry'
24
24
  import { createMutators } from './helpers/createMutators'
25
+ import {
26
+ composeRecoveryLogSink,
27
+ makeZeroRecovery,
28
+ type ZeroRecoveryDeps,
29
+ } from './helpers/recoverZeroClient'
25
30
  import { getAuth } from './helpers/getAuth'
26
31
  import { getAllMutationsPermissions, getMutationsPermissions } from './modelRegistry'
27
32
  import { registerQuery } from './queryRegistry'
@@ -226,8 +231,8 @@ export function createZeroClient<
226
231
  const zeroEvents = createEmitter<ZeroEvent | null>(`zero${emitterScope}`, null)
227
232
 
228
233
  // bumped after commit whenever the mounted zero instance changes (first
229
- // mount, identity change, client-state-not-found rotation) — the direct
230
- // query path re-materializes its views against the new instance
234
+ // mount, identity change) — the direct query path re-materializes its views
235
+ // against the new instance
231
236
  const zeroInstanceVersion = createEmitter<number>(
232
237
  `zero-instance-version${emitterScope}`,
233
238
  0,
@@ -316,24 +321,13 @@ export function createZeroClient<
316
321
  // with different identities would thrash this slot.
317
322
  let cachedZero: { key: string; instance: ZeroInstance } | null = null
318
323
 
319
- // bumping this recreates the instance with the same options — parity with
320
- // ZeroProvider's built-in onClientStateNotFound rotation. the pending flag
321
- // mirrors upstream's rotationPendingRef: a storm of client-state-not-found
322
- // callbacks coalesces into ONE rotation, re-armed when the fresh instance
323
- // is created — without it a new instance that immediately re-fires the
324
- // callback rotation-loops forever.
325
- const zeroInstanceGeneration = createEmitter<number>(
326
- `zero-instance-generation${emitterScope}`,
327
- 0,
328
- )
329
- let zeroRotationPending = false
330
-
331
324
  const ProvideZero = ({
332
325
  children,
333
326
  authData: authDataIn,
334
327
  disable,
335
328
  transport,
336
329
  pullIntervalMs = 30_000,
330
+ beforeReload,
337
331
  ...props
338
332
  }: Omit<ZeroOptions<Schema, ZeroMutators>, 'schema' | 'mutators'> & {
339
333
  children: ReactNode
@@ -346,8 +340,28 @@ export function createZeroClient<
346
340
  // http-pull only: every open connection also pulls on this interval so
347
341
  // server-initiated changes arrive without a client-side trigger
348
342
  pullIntervalMs?: number
343
+ // awaited before a self-healing recovery reload — e.g. wait for the dev
344
+ // origin to be reachable so the reload doesn't hit a restarting server.
345
+ beforeReload?: () => Promise<void>
349
346
  }) => {
350
- const authData = (authDataIn ?? null) as AuthData
347
+ // resolve the auth token first: a real logout (token gone) must clear
348
+ // authData so client mutators don't keep running as the old user, while a
349
+ // transient authData blip with the token still present (session refresh, tab
350
+ // wake) keeps the last value so mutations never see null mid-transition.
351
+ const auth = 'auth' in props ? (props as { auth?: string | null }).auth : undefined
352
+ const hasAuth = typeof auth === 'string'
353
+
354
+ // stabilize authData across transient gaps, but ONLY while authed — bakes in
355
+ // what consumers hand-rolled with a ref, and additionally clears on logout
356
+ // (the bare ref pattern does not, leaving mutators running as the old user
357
+ // until the instance rotates).
358
+ const stableAuthDataRef = useRef<AuthData | null>(authDataIn ?? null)
359
+ if (authDataIn) {
360
+ stableAuthDataRef.current = authDataIn
361
+ } else if (!hasAuth) {
362
+ stableAuthDataRef.current = null
363
+ }
364
+ const authData = (authDataIn ?? stableAuthDataRef.current ?? null) as AuthData
351
365
 
352
366
  // update global authData synchronously during render so mutations always have latest auth
353
367
  // (mutations read auth dynamically via getAuthData() to avoid stale closure race condition)
@@ -366,11 +380,6 @@ export function createZeroClient<
366
380
  // eslint-disable-next-line react-hooks/exhaustive-deps
367
381
  }, [])
368
382
 
369
- const generation = useEmitterValue(zeroInstanceGeneration)
370
-
371
- const auth = 'auth' in props ? (props as { auth?: string | null }).auth : undefined
372
- const hasAuth = typeof auth === 'string'
373
-
374
383
  // identity = every primitive option except the auth token value (token
375
384
  // changes refresh in place below; logged-in <-> logged-out still rotates
376
385
  // via hasAuth, matching zero's documented provider semantics). function
@@ -383,7 +392,6 @@ export function createZeroClient<
383
392
  )
384
393
  .sort(([a], [b]) => (a < b ? -1 : 1)),
385
394
  hasAuth,
386
- generation,
387
395
  transport,
388
396
  ])
389
397
 
@@ -413,33 +421,38 @@ export function createZeroClient<
413
421
  }
414
422
  ensureHttpPullTransport({ origin: serverURL, pullIntervalMs })
415
423
  }
416
- cached = {
417
- key: instanceKey,
418
- instance: new ZeroClient<Schema, ZeroMutators>({
419
- kvStore: 'mem',
420
- ...options,
421
- schema,
422
- // @ts-expect-error same erasure ZeroProvider needed
423
- mutators,
424
- onClientStateNotFound: () => {
425
- // consumer callback wins; recreate-with-same-options is the
426
- // fallback, mirroring ZeroProvider's internal rotation.
427
- if (options.onClientStateNotFound) {
428
- try {
429
- options.onClientStateNotFound()
430
- return
431
- } catch {
432
- // fall through to rotation
433
- }
434
- }
435
- if (zeroRotationPending) return
436
- zeroRotationPending = true
437
- zeroInstanceGeneration.emit(zeroInstanceGeneration.value + 1)
438
- },
439
- }),
424
+ // recovery closures reach the instance through this ref so they always
425
+ // delete the CURRENT instance's own store (set right after construction;
426
+ // the handlers only fire post-mount).
427
+ const instanceRef: { current: ZeroInstance | null } = { current: null }
428
+ const recoveryDeps: ZeroRecoveryDeps = {
429
+ deleteLocalState: () => instanceRef.current?.delete() ?? Promise.resolve(),
430
+ zeroEvents,
431
+ beforeReload,
440
432
  }
433
+ const recovery = makeZeroRecovery(recoveryDeps)
434
+ const createdInstance = new ZeroClient<Schema, ZeroMutators>({
435
+ kvStore: 'mem',
436
+ ...options,
437
+ schema,
438
+ // @ts-expect-error same erasure ZeroProvider needed
439
+ mutators,
440
+ // when the consumer brings no logSink, install ours: it preserves
441
+ // Zero's console output AND watches for the local-store-lost signature.
442
+ // a consumer with its own logSink owns log-based recovery (no
443
+ // double-fire with e.g. soot's origin-gated recovery).
444
+ logSink: options.logSink ?? composeRecoveryLogSink(recoveryDeps),
445
+ // consumer handlers win; otherwise on-zero's default self-healing
446
+ // recovery covers EVERY reason (drop local state + reload, guarded) —
447
+ // passing these to Zero disables its built-in reload, so any reason we
448
+ // left unhandled would fatal-blank the app forever.
449
+ onUpdateNeeded: options.onUpdateNeeded ?? recovery.onUpdateNeeded,
450
+ onClientStateNotFound:
451
+ options.onClientStateNotFound ?? recovery.onClientStateNotFound,
452
+ })
453
+ instanceRef.current = createdInstance
454
+ cached = { key: instanceKey, instance: createdInstance }
441
455
  cachedZero = cached
442
- zeroRotationPending = false
443
456
  }
444
457
  setInstance(cached.instance)
445
458
  // identity is fully captured by instanceKey; function props are bound
@@ -272,8 +272,8 @@ export function createZeroServer<
272
272
  { authData: authData || ({} as AuthData) },
273
273
  () =>
274
274
  userID === undefined
275
- ? zeroHandleQueryRequest(handler as any, schema, request)
276
- : zeroHandleQueryRequest({ handler: handler as any, schema, request, userID }),
275
+ ? zeroHandleQueryRequest(handler, schema, request)
276
+ : zeroHandleQueryRequest({ handler, schema, request, userID }),
277
277
  )
278
278
 
279
279
  return {
@@ -0,0 +1,172 @@
1
+ // @vitest-environment jsdom
2
+ import { createEmitter } from '@take-out/helpers'
3
+ import { UpdateNeededReasonType } from '@rocicorp/zero'
4
+ import { beforeEach, describe, expect, test, vi } from 'vitest'
5
+
6
+ import {
7
+ composeRecoveryLogSink,
8
+ makeZeroRecovery,
9
+ resetRecoveryStateForTests,
10
+ } from './recoverZeroClient'
11
+
12
+ import type { ZeroRecoveryDeps } from './recoverZeroClient'
13
+ import type { ZeroEvent } from '../types'
14
+
15
+ let emitterSeq = 0
16
+
17
+ function setup() {
18
+ const events: ZeroEvent[] = []
19
+ const zeroEvents = createEmitter<ZeroEvent | null>(`test-recover-${emitterSeq++}`, null)
20
+ zeroEvents.listen((event) => {
21
+ if (event) events.push(event)
22
+ })
23
+ const deleteLocalState = vi.fn(() => Promise.resolve())
24
+ const reload = vi.fn()
25
+ const deps: ZeroRecoveryDeps = { deleteLocalState, zeroEvents, reload }
26
+ return { deps, deleteLocalState, reload, events }
27
+ }
28
+
29
+ // recovery chains deletes -> beforeReload -> reload across several microtasks;
30
+ // a macrotask boundary drains the whole chain deterministically.
31
+ async function flush() {
32
+ await new Promise((resolve) => setTimeout(resolve, 0))
33
+ }
34
+
35
+ beforeEach(() => {
36
+ window.sessionStorage.clear()
37
+ resetRecoveryStateForTests()
38
+ })
39
+
40
+ describe('zero recovery', () => {
41
+ test('SchemaVersionNotSupported drops local state and reloads, emitting recovering', async () => {
42
+ const { deps, deleteLocalState, reload, events } = setup()
43
+ makeZeroRecovery(deps).onUpdateNeeded({
44
+ type: UpdateNeededReasonType.SchemaVersionNotSupported,
45
+ })
46
+ expect(events).toEqual([
47
+ {
48
+ type: 'recovering',
49
+ reason: expect.stringContaining('SchemaVersionNotSupported'),
50
+ },
51
+ ])
52
+ await flush()
53
+ expect(deleteLocalState).toHaveBeenCalledTimes(1)
54
+ expect(reload).toHaveBeenCalledTimes(1)
55
+ })
56
+
57
+ test('NewClientGroup / VersionNotSupported reload WITHOUT deleting (sibling-tab safe)', async () => {
58
+ const { deps, deleteLocalState, reload } = setup()
59
+ const recovery = makeZeroRecovery(deps)
60
+ recovery.onUpdateNeeded({ type: UpdateNeededReasonType.NewClientGroup })
61
+ await flush()
62
+ resetRecoveryStateForTests()
63
+ recovery.onUpdateNeeded({ type: UpdateNeededReasonType.VersionNotSupported })
64
+ await flush()
65
+ expect(deleteLocalState).not.toHaveBeenCalled()
66
+ expect(reload).toHaveBeenCalledTimes(2)
67
+ })
68
+
69
+ test('onClientStateNotFound drops local state and reloads', async () => {
70
+ const { deps, deleteLocalState, reload } = setup()
71
+ makeZeroRecovery(deps).onClientStateNotFound()
72
+ await flush()
73
+ expect(deleteLocalState).toHaveBeenCalledTimes(1)
74
+ expect(reload).toHaveBeenCalledTimes(1)
75
+ })
76
+
77
+ test('combined client: every instance deletes its own store, but only ONE reload', async () => {
78
+ // two instances (control + project) fail on the same page-load. each must
79
+ // drop its OWN store; only one page reload should fire.
80
+ const a = setup()
81
+ const b = setup()
82
+ makeZeroRecovery(a.deps).onClientStateNotFound()
83
+ makeZeroRecovery(b.deps).onClientStateNotFound()
84
+ await flush()
85
+ expect(a.deleteLocalState).toHaveBeenCalledTimes(1)
86
+ expect(b.deleteLocalState).toHaveBeenCalledTimes(1)
87
+ expect(a.reload.mock.calls.length + b.reload.mock.calls.length).toBe(1)
88
+ })
89
+
90
+ test('a second trigger in the same page-load adds no extra reload or fatal', async () => {
91
+ const { deps, reload, events } = setup()
92
+ const recovery = makeZeroRecovery(deps)
93
+ recovery.onClientStateNotFound()
94
+ recovery.onUpdateNeeded({ type: UpdateNeededReasonType.NewClientGroup })
95
+ await flush()
96
+ expect(reload).toHaveBeenCalledTimes(1)
97
+ expect(events.filter((event) => event.type === 'fatal')).toEqual([])
98
+ })
99
+
100
+ test('after a reload, a re-failing reason emits fatal instead of reloading again', async () => {
101
+ const { deps, reload, events } = setup()
102
+ const recovery = makeZeroRecovery(deps)
103
+ recovery.onClientStateNotFound()
104
+ await flush()
105
+ resetRecoveryStateForTests() // simulate the page reload clearing in-memory state
106
+ recovery.onClientStateNotFound()
107
+ await flush()
108
+ expect(reload).toHaveBeenCalledTimes(1)
109
+ expect(events.some((event) => event.type === 'fatal')).toBe(true)
110
+ })
111
+
112
+ test('after a reload, a different reason still recovers', async () => {
113
+ const { deps, reload } = setup()
114
+ const recovery = makeZeroRecovery(deps)
115
+ recovery.onClientStateNotFound()
116
+ await flush()
117
+ resetRecoveryStateForTests()
118
+ recovery.onUpdateNeeded({ type: UpdateNeededReasonType.SchemaVersionNotSupported })
119
+ await flush()
120
+ expect(reload).toHaveBeenCalledTimes(2)
121
+ })
122
+
123
+ test('logSink recovers on local-store-lost and forwards to the consumer sink', async () => {
124
+ const { deps, deleteLocalState, reload } = setup()
125
+ const consumer = { log: vi.fn() }
126
+ const sink = composeRecoveryLogSink(deps, consumer)
127
+ sink.log('error', undefined, 'Error during persist: Expected IndexedDB not found')
128
+ expect(consumer.log).toHaveBeenCalledTimes(1)
129
+ await flush()
130
+ expect(deleteLocalState).toHaveBeenCalledTimes(1)
131
+ expect(reload).toHaveBeenCalledTimes(1)
132
+ })
133
+
134
+ test('logSink with no consumer preserves console output and still watches', async () => {
135
+ const { deps, deleteLocalState, reload } = setup()
136
+ const infoSpy = vi.spyOn(console, 'info').mockImplementation(() => {})
137
+ const sink = composeRecoveryLogSink(deps)
138
+ sink.log('info', { worker: 'sync' }, 'connected')
139
+ expect(infoSpy).toHaveBeenCalledWith('worker=sync', 'connected')
140
+ infoSpy.mockRestore()
141
+ sink.log('error', undefined, 'Expected IndexedDB not found')
142
+ await flush()
143
+ expect(deleteLocalState).toHaveBeenCalledTimes(1)
144
+ expect(reload).toHaveBeenCalledTimes(1)
145
+ })
146
+
147
+ test('logSink flush calls through the consumer sink (preserves its this)', async () => {
148
+ const { deps } = setup()
149
+ class ClassSink {
150
+ flushed = false
151
+ log(): void {}
152
+ flush(): Promise<void> {
153
+ this.flushed = true
154
+ return Promise.resolve()
155
+ }
156
+ }
157
+ const consumer = new ClassSink()
158
+ const sink = composeRecoveryLogSink(deps, consumer)
159
+ await sink.flush?.()
160
+ expect(consumer.flushed).toBe(true)
161
+ })
162
+
163
+ test('logSink ignores non-error level and non-matching messages', async () => {
164
+ const { deps, deleteLocalState, reload } = setup()
165
+ const sink = composeRecoveryLogSink(deps)
166
+ sink.log('info', undefined, 'Expected IndexedDB not found')
167
+ sink.log('error', undefined, 'some unrelated error')
168
+ await flush()
169
+ expect(deleteLocalState).not.toHaveBeenCalled()
170
+ expect(reload).not.toHaveBeenCalled()
171
+ })
172
+ })