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.
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/cjs/combineZeroClients.native.js.map +1 -1
- package/dist/cjs/createPermissions.native.js.map +1 -1
- package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
- package/dist/cjs/createUseQuery.native.js.map +1 -1
- package/dist/cjs/createZeroClient.authData.test.cjs +67 -0
- package/dist/cjs/createZeroClient.authData.test.native.js +72 -0
- package/dist/cjs/createZeroClient.authData.test.native.js.map +1 -0
- package/dist/cjs/createZeroClient.cjs +41 -26
- package/dist/cjs/createZeroClient.native.js +47 -26
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/createZeroServer.native.js.map +1 -1
- package/dist/cjs/generate-helpers.native.js.map +1 -1
- package/dist/cjs/generate-lite.native.js.map +1 -1
- package/dist/cjs/generate-lite.test.native.js.map +1 -1
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
- package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.native.js.map +1 -1
- package/dist/cjs/helpers/didRunPermissionCheck.native.js.map +1 -1
- package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
- package/dist/cjs/helpers/getAuth.native.js.map +1 -1
- package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/cjs/helpers/queryContext.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.cjs +101 -0
- package/dist/cjs/helpers/recoverZeroClient.native.js +130 -0
- package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -0
- package/dist/cjs/helpers/recoverZeroClient.test.cjs +201 -0
- package/dist/cjs/helpers/recoverZeroClient.test.native.js +256 -0
- package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -0
- package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
- package/dist/cjs/helpers/useMutation.native.js.map +1 -1
- package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
- package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/cjs/httpPull/auth.test.native.js.map +1 -1
- package/dist/cjs/httpPull/churn.test.native.js.map +1 -1
- package/dist/cjs/httpPull/fixtureSchema.native.js.map +1 -1
- package/dist/cjs/httpPull/fixtureServer.native.js.map +1 -1
- package/dist/cjs/httpPull/integration.test.native.js.map +1 -1
- package/dist/cjs/httpPull/rebase.test.native.js.map +1 -1
- package/dist/cjs/httpPull/relations.test.native.js.map +1 -1
- package/dist/cjs/httpPull/testHarness.native.js.map +1 -1
- package/dist/cjs/httpPull/transport.test.native.js.map +1 -1
- package/dist/cjs/httpPullTransport.native.js.map +1 -1
- package/dist/cjs/index.cjs +4 -1
- package/dist/cjs/index.native.js +3 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/instanceRegistry.native.js.map +1 -1
- package/dist/cjs/modelRegistry.native.js.map +1 -1
- package/dist/cjs/multiInstance.test.cjs +4 -3
- package/dist/cjs/multiInstance.test.native.js +6 -6
- package/dist/cjs/multiInstance.test.native.js.map +1 -1
- package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
- package/dist/cjs/mutations.native.js.map +1 -1
- package/dist/cjs/queryRegistry.native.js.map +1 -1
- package/dist/cjs/resolveQuery.native.js.map +1 -1
- package/dist/cjs/run.native.js.map +1 -1
- package/dist/cjs/serverWhere.native.js.map +1 -1
- package/dist/cjs/serverWhere.test.native.js.map +1 -1
- package/dist/cjs/state.native.js.map +1 -1
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/usePermission.test.native.js.map +1 -1
- package/dist/cjs/vite-plugin.native.js.map +1 -1
- package/dist/cjs/where.native.js.map +1 -1
- package/dist/cjs/zeroRunner.native.js.map +1 -1
- package/dist/cjs/zql.native.js.map +1 -1
- package/dist/esm/createZeroClient.authData.test.mjs +68 -0
- package/dist/esm/createZeroClient.authData.test.mjs.map +1 -0
- package/dist/esm/createZeroClient.authData.test.native.js +70 -0
- package/dist/esm/createZeroClient.authData.test.native.js.map +1 -0
- package/dist/esm/createZeroClient.mjs +42 -27
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +48 -27
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroServer.mjs.map +1 -1
- package/dist/esm/helpers/recoverZeroClient.mjs +74 -0
- package/dist/esm/helpers/recoverZeroClient.mjs.map +1 -0
- package/dist/esm/helpers/recoverZeroClient.native.js +100 -0
- package/dist/esm/helpers/recoverZeroClient.native.js.map +1 -0
- package/dist/esm/helpers/recoverZeroClient.test.mjs +202 -0
- package/dist/esm/helpers/recoverZeroClient.test.mjs.map +1 -0
- package/dist/esm/helpers/recoverZeroClient.test.native.js +254 -0
- package/dist/esm/helpers/recoverZeroClient.test.native.js.map +1 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/multiInstance.test.mjs +4 -3
- package/dist/esm/multiInstance.test.mjs.map +1 -1
- package/dist/esm/multiInstance.test.native.js +6 -6
- package/dist/esm/multiInstance.test.native.js.map +1 -1
- package/package.json +2 -2
- package/src/createZeroClient.authData.test.tsx +73 -0
- package/src/createZeroClient.tsx +60 -47
- package/src/createZeroServer.ts +2 -2
- package/src/helpers/recoverZeroClient.test.ts +172 -0
- package/src/helpers/recoverZeroClient.ts +173 -0
- package/src/index.ts +5 -0
- package/src/multiInstance.test.tsx +5 -3
- package/src/multiInstanceNested.test.tsx +1 -1
- package/src/types.ts +6 -1
- package/types/createZeroClient.authData.test.d.ts +5 -0
- package/types/createZeroClient.authData.test.d.ts.map +1 -0
- package/types/createZeroClient.d.ts +2 -1
- package/types/createZeroClient.d.ts.map +1 -1
- package/types/createZeroServer.d.ts +4 -4
- package/types/helpers/recoverZeroClient.d.ts +17 -0
- package/types/helpers/recoverZeroClient.d.ts.map +1 -0
- package/types/helpers/recoverZeroClient.test.d.ts +2 -0
- package/types/helpers/recoverZeroClient.test.d.ts.map +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/types.d.ts +6 -0
- 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
|
-
|
|
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
|
package/dist/esm/index.js.map
CHANGED
|
@@ -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":[]}
|
package/dist/esm/index.mjs
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
|
-
|
|
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
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -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":[]}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -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
|
-
|
|
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,
|
|
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
|
-
|
|
319
|
-
expect(
|
|
320
|
-
expect(
|
|
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
|
-
|
|
379
|
-
return event === null || event === void 0 ? void 0 : event.message;
|
|
380
|
-
}
|
|
381
|
-
expect((
|
|
382
|
-
expect((
|
|
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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
|
|
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.
|
|
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.
|
|
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
|
+
})
|
package/src/createZeroClient.tsx
CHANGED
|
@@ -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
|
|
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
|
|
230
|
-
//
|
|
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
|
-
|
|
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
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
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
|
package/src/createZeroServer.ts
CHANGED
|
@@ -272,8 +272,8 @@ export function createZeroServer<
|
|
|
272
272
|
{ authData: authData || ({} as AuthData) },
|
|
273
273
|
() =>
|
|
274
274
|
userID === undefined
|
|
275
|
-
? zeroHandleQueryRequest(handler
|
|
276
|
-
: zeroHandleQueryRequest({ handler
|
|
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
|
+
})
|