on-zero 0.9.2 → 0.9.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.
- package/dist/cjs/createZeroClient.cjs +176 -100
- package/dist/cjs/createZeroClient.connection.test.cjs +32 -0
- package/dist/cjs/createZeroClient.connection.test.native.js +34 -0
- package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.headless.test.cjs +33 -0
- package/dist/cjs/createZeroClient.headless.test.native.js +38 -0
- package/dist/cjs/createZeroClient.headless.test.native.js.map +1 -0
- package/dist/cjs/createZeroClient.native.js +207 -132
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/zeroRunner.cjs +1 -1
- package/dist/cjs/zeroRunner.native.js +1 -1
- package/dist/esm/createZeroClient.connection.test.mjs +32 -0
- package/dist/esm/createZeroClient.connection.test.mjs.map +1 -1
- package/dist/esm/createZeroClient.connection.test.native.js +34 -0
- package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.headless.test.mjs +34 -0
- package/dist/esm/createZeroClient.headless.test.mjs.map +1 -0
- package/dist/esm/createZeroClient.headless.test.native.js +36 -0
- package/dist/esm/createZeroClient.headless.test.native.js.map +1 -0
- package/dist/esm/createZeroClient.mjs +178 -102
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +209 -134
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/zeroRunner.mjs +1 -1
- package/dist/esm/zeroRunner.mjs.map +1 -1
- package/dist/esm/zeroRunner.native.js +1 -1
- package/package.json +1 -1
- package/src/createZeroClient.connection.test.tsx +38 -0
- package/src/createZeroClient.headless.test.tsx +47 -0
- package/src/createZeroClient.tsx +323 -218
- package/src/zeroRunner.ts +1 -1
- package/types/createZeroClient.d.ts +24 -0
- package/types/createZeroClient.d.ts.map +1 -1
- package/types/createZeroClient.headless.test.d.ts +2 -0
- package/types/createZeroClient.headless.test.d.ts.map +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","jsx","fakeZero","hoisted","FakeConnectionState","current","listeners","Set","constructor","initial","subscribe","cb","add","delete","set","next","FakeZero","context","connection","state","name","connect","fn","errors","close","run","preload","cleanup","complete","Promise","resolve","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","dataset","zeroState","zeroConnected","zeroReason","unmount","mount","extraProps","userID","render","ProvideZero","cacheURL","children","at","readinessClient","ready","waitForZero","toBe","install","transport","toHaveBeenCalledOnce","toHaveBeenCalledWith","refreshAuth","events","off","zeroEvents","listen","event","instance","reason","toHaveBeenCalledTimes","auth","toContainEqual","type","reasonKey","message","some","status","not","toHaveBeenCalled","connectionDataset","zeroCacheUrl","toBeUndefined","useFakeTimers","advanceTimersByTime","useRealTimers"],"sources":["../../src/createZeroClient.connection.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","FakeConnectionState","current","listeners","Set","constructor","initial","subscribe","cb","add","delete","set","next","FakeZero","context","connection","state","name","connect","fn","errors","close","run","preload","cleanup","complete","Promise","resolve","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","dataset","zeroState","zeroConnected","zeroReason","unmount","mount","extraProps","userID","render","ProvideZero","cacheURL","children","at","readinessClient","ready","waitForZero","toBe","install","transport","toHaveBeenCalledOnce","toHaveBeenCalledWith","refreshAuth","events","off","zeroEvents","listen","event","instance","reason","toHaveBeenCalledTimes","auth","toContainEqual","type","reasonKey","message","some","status","not","toHaveBeenCalled","connectionDataset","zeroCacheUrl","toBeUndefined","useFakeTimers","advanceTimersByTime","useRealTimers","headlessClient","connectHeadless"],"sources":["../../src/createZeroClient.connection.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -373,4 +373,38 @@ test("fatal error state stays terminal and reports the reason", async function (
|
|
|
373
373
|
vi.useRealTimers();
|
|
374
374
|
}
|
|
375
375
|
});
|
|
376
|
+
test("connectHeadless refreshes auth on needs-auth with no react tree", async function () {
|
|
377
|
+
var headlessClient = createZeroClient({
|
|
378
|
+
schema,
|
|
379
|
+
models: {},
|
|
380
|
+
groupedQueries: {},
|
|
381
|
+
instanceName: "headless-auth-test"
|
|
382
|
+
});
|
|
383
|
+
var refreshAuth = vi.fn(async function () {
|
|
384
|
+
return "headless-fresh-token";
|
|
385
|
+
});
|
|
386
|
+
var connection = headlessClient.connectHeadless({
|
|
387
|
+
userID: "headless-auth",
|
|
388
|
+
cacheURL: "http://127.0.0.1:7788/zero",
|
|
389
|
+
refreshAuth
|
|
390
|
+
});
|
|
391
|
+
var instance = fakeZero.instances.at(-1);
|
|
392
|
+
instance.connection.state.set({
|
|
393
|
+
name: "needs-auth",
|
|
394
|
+
reason: "token expired"
|
|
395
|
+
});
|
|
396
|
+
await Promise.resolve();
|
|
397
|
+
expect(refreshAuth).toHaveBeenCalledTimes(1);
|
|
398
|
+
await Promise.resolve();
|
|
399
|
+
expect(instance.connection.connect).toHaveBeenCalledWith({
|
|
400
|
+
auth: "headless-fresh-token"
|
|
401
|
+
});
|
|
402
|
+
instance.connection.state.set({
|
|
403
|
+
name: "needs-auth",
|
|
404
|
+
reason: "token expired again"
|
|
405
|
+
});
|
|
406
|
+
await Promise.resolve();
|
|
407
|
+
expect(refreshAuth).toHaveBeenCalledTimes(1);
|
|
408
|
+
await connection.close();
|
|
409
|
+
});
|
|
376
410
|
//# sourceMappingURL=createZeroClient.connection.test.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","fakeZero","hoisted","FakeConnectionState","FakeConnectionState2","initial","_this","Set","cb","listeners","add","delete","current","set","next","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","err","return","FakeZero","FakeZero2","state","name","connect","fn","errors","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","document","createElement","dataset","zeroState","zeroConnected","zeroReason","unmount","mount","extraProps","arguments","userID","render","ProvideZero","cacheURL","children","at","readinessClient","ready","waitForZero","toBe","install","transport","toHaveBeenCalledOnce","toHaveBeenCalledWith","refreshAuth","events","off","zeroEvents","listen","event","connection","reason","toHaveBeenCalledTimes","auth","toContainEqual","type","reasonKey","message","some"],"sources":["../../src/createZeroClient.connection.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","createSchema","string","table","act","createRoot","afterEach","beforeEach","expect","test","vi","createZeroClient","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","value","fakeZero","hoisted","FakeConnectionState","FakeConnectionState2","initial","_this","Set","cb","listeners","add","delete","current","set","next","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","err","return","FakeZero","FakeZero2","state","name","connect","fn","errors","cleanup","complete","Promise","resolve","instances","push","mock","importOriginal","actual","Zero","globalThis","IS_REACT_ACT_ENVIRONMENT","noteTable","columns","id","body","primaryKey","schema","tables","client","models","groupedQueries","instanceName","container","root","document","createElement","dataset","zeroState","zeroConnected","zeroReason","unmount","mount","extraProps","arguments","userID","render","ProvideZero","cacheURL","children","at","readinessClient","ready","waitForZero","toBe","install","transport","toHaveBeenCalledOnce","toHaveBeenCalledWith","refreshAuth","events","off","zeroEvents","listen","event","connection","reason","toHaveBeenCalledTimes","auth","toContainEqual","type","reasonKey","message","some","status"],"sources":["../../src/createZeroClient.connection.test.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { createSchema, string, table } from "@rocicorp/zero";
|
|
2
|
+
import { expect, test } from "vitest";
|
|
3
|
+
import { createZeroClient } from "./createZeroClient.mjs";
|
|
4
|
+
const userTable = table("user").columns({
|
|
5
|
+
id: string(),
|
|
6
|
+
name: string()
|
|
7
|
+
}).primaryKey("id");
|
|
8
|
+
const schema = createSchema({
|
|
9
|
+
tables: [userTable]
|
|
10
|
+
});
|
|
11
|
+
const byId = args => args;
|
|
12
|
+
test("connectHeadless publishes the instance with no react tree", async () => {
|
|
13
|
+
const client = createZeroClient({
|
|
14
|
+
schema,
|
|
15
|
+
models: {},
|
|
16
|
+
groupedQueries: {
|
|
17
|
+
headlessTest: {
|
|
18
|
+
byId
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
instanceName: "headless-test"
|
|
22
|
+
});
|
|
23
|
+
const pending = /* @__PURE__ */Symbol("pending");
|
|
24
|
+
const before = await Promise.race([client.waitForZero(), Promise.resolve(pending)]);
|
|
25
|
+
expect(before).toBe(pending);
|
|
26
|
+
const connection = client.connectHeadless({
|
|
27
|
+
userID: "user-headless",
|
|
28
|
+
kvStore: "mem",
|
|
29
|
+
storageKey: "headless-test"
|
|
30
|
+
});
|
|
31
|
+
expect(await client.waitForZero()).toBe(connection.zero);
|
|
32
|
+
await connection.close();
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=createZeroClient.headless.test.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createSchema","string","table","expect","test","createZeroClient","userTable","columns","id","name","primaryKey","schema","tables","byId","args","client","models","groupedQueries","headlessTest","instanceName","pending","Symbol","before","Promise","race","waitForZero","resolve","toBe","connection","connectHeadless","userID","kvStore","storageKey","zero","close"],"sources":["../../src/createZeroClient.headless.test.tsx"],"sourcesContent":[null],"mappings":"AAEA,SAASA,YAAA,EAAcC,MAAA,EAAQC,KAAA,QAAa;AAC5C,SAASC,MAAA,EAAQC,IAAA,QAAY;AAE7B,SAASC,gBAAA,QAAwB;AAIjC,MAAMC,SAAA,GAAYJ,KAAA,CAAM,MAAM,EAAEK,OAAA,CAAQ;EAAEC,EAAA,EAAIP,MAAA,CAAO;EAAGQ,IAAA,EAAMR,MAAA,CAAO;AAAE,CAAC,EAAES,UAAA,CAAW,IAAI;AACzF,MAAMC,MAAA,GAASX,YAAA,CAAa;EAAEY,MAAA,EAAQ,CAACN,SAAS;AAAE,CAAC;AAEnD,MAAMO,IAAA,GAAQC,IAAA,IAAyBA,IAAA;AAOvCV,IAAA,CAAK,6DAA6D,YAAY;EAC5E,MAAMW,MAAA,GAASV,gBAAA,CAAiB;IAC9BM,MAAA;IACAK,MAAA,EAAQ,CAAC;IACTC,cAAA,EAAgB;MAAEC,YAAA,EAAc;QAAEL;MAAK;IAAE;IACzCM,YAAA,EAAc;EAChB,CAAC;EAKD,MAAMC,OAAA,GAAU,eAAAC,MAAA,CAAO,SAAS;EAChC,MAAMC,MAAA,GAAS,MAAMC,OAAA,CAAQC,IAAA,CAAK,CAChCT,MAAA,CAAOU,WAAA,CAAY,GACnBF,OAAA,CAAQG,OAAA,CAAQN,OAA2B,EAC5C;EACDjB,MAAA,CAAOmB,MAAM,EAAEK,IAAA,CAAKP,OAAO;EAE3B,MAAMQ,UAAA,GAAab,MAAA,CAAOc,eAAA,CAAgB;IACxCC,MAAA,EAAQ;IACRC,OAAA,EAAS;IACTC,UAAA,EAAY;EACd,CAAC;EAED7B,MAAA,CAAO,MAAMY,MAAA,CAAOU,WAAA,CAAY,CAAC,EAAEE,IAAA,CAAKC,UAAA,CAAWK,IAAI;EAEvD,MAAML,UAAA,CAAWM,KAAA,CAAM;AACzB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { createSchema, string, table } from "@rocicorp/zero";
|
|
2
|
+
import { expect, test } from "vitest";
|
|
3
|
+
import { createZeroClient } from "./createZeroClient.native.js";
|
|
4
|
+
var userTable = table("user").columns({
|
|
5
|
+
id: string(),
|
|
6
|
+
name: string()
|
|
7
|
+
}).primaryKey("id");
|
|
8
|
+
var schema = createSchema({
|
|
9
|
+
tables: [userTable]
|
|
10
|
+
});
|
|
11
|
+
var byId = function byId2(args) {
|
|
12
|
+
return args;
|
|
13
|
+
};
|
|
14
|
+
test("connectHeadless publishes the instance with no react tree", async function () {
|
|
15
|
+
var client = createZeroClient({
|
|
16
|
+
schema,
|
|
17
|
+
models: {},
|
|
18
|
+
groupedQueries: {
|
|
19
|
+
headlessTest: {
|
|
20
|
+
byId
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
instanceName: "headless-test"
|
|
24
|
+
});
|
|
25
|
+
var pending = /* @__PURE__ */Symbol("pending");
|
|
26
|
+
var before = await Promise.race([client.waitForZero(), Promise.resolve(pending)]);
|
|
27
|
+
expect(before).toBe(pending);
|
|
28
|
+
var connection = client.connectHeadless({
|
|
29
|
+
userID: "user-headless",
|
|
30
|
+
kvStore: "mem",
|
|
31
|
+
storageKey: "headless-test"
|
|
32
|
+
});
|
|
33
|
+
expect(await client.waitForZero()).toBe(connection.zero);
|
|
34
|
+
await connection.close();
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=createZeroClient.headless.test.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createSchema","string","table","expect","test","createZeroClient","userTable","columns","id","name","primaryKey","schema","tables","byId","byId2","args","client","models","groupedQueries","headlessTest","instanceName","pending","Symbol"],"sources":["../../src/createZeroClient.headless.test.tsx"],"sourcesContent":[null],"mappings":"AAEA,SAASA,YAAA,EAAcC,MAAA,EAAQC,KAAA,QAAa;AAC5C,SAASC,MAAA,EAAQC,IAAA,QAAY;AAE7B,SAASC,gBAAA,QAAwB;AAIjC,IAAAC,SAAM,GAAAJ,KAAY,OAAM,EAAMK,OAAE;EAChCC,EAAA,EAAMP,MAAA;EAENQ,IAAM,EAAAR,MAAQ;AAOd,GAAAS,UAAK;AACH,IAAAC,MAAM,GAAAX,YAAS;EAAiBY,MAC9B,GACAN,SAAS;AACgC;AAC3B,IACfO,IAAA,YAAAC,MAAAC,IAAA;EAKD,OAAMA,IAAA;AACN;AAAkCX,IAChC,4DAAmB;EAAA,IACnBY,MAAQ,GAAAX,gBAAmC;IAC5CM,MAAA;IACDM,MAAO;IAEPC,cAAM;MACJC,YAAQ;QACRN;MACA;IACD;IAEDO,YAAa;EAEb;EACD,IAAAC,OAAA,kBAAAC,MAAA","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createBuilder, defineQueries, defineQuery, Zero as ZeroClient } from "@rocicorp/zero";
|
|
2
|
-
import {
|
|
3
|
-
import { createContext, memo, useContext, useEffect, useLayoutEffect,
|
|
2
|
+
import { useZero, ZeroContext } from "@rocicorp/zero/react";
|
|
3
|
+
import { createContext, memo, useContext, useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
4
4
|
import { createPermissions } from "./createPermissions.mjs";
|
|
5
5
|
import { createUseQuery } from "./createUseQuery.mjs";
|
|
6
6
|
import { clearZeroClientData } from "./helpers/clearZeroClientData.mjs";
|
|
@@ -118,8 +118,79 @@ function createZeroClientInternal({
|
|
|
118
118
|
});
|
|
119
119
|
setCustomQueries(customQueries);
|
|
120
120
|
const DisabledContext = createContext(false);
|
|
121
|
+
let clientMutators = null;
|
|
122
|
+
function getClientMutators() {
|
|
123
|
+
clientMutators ??= createMutators({
|
|
124
|
+
models,
|
|
125
|
+
environment: "client",
|
|
126
|
+
authData: null,
|
|
127
|
+
can: permissionsHelpers.can
|
|
128
|
+
});
|
|
129
|
+
return clientMutators;
|
|
130
|
+
}
|
|
131
|
+
function constructZeroInstance({
|
|
132
|
+
options,
|
|
133
|
+
transport,
|
|
134
|
+
beforeReload,
|
|
135
|
+
scheduleReload,
|
|
136
|
+
guardStorage,
|
|
137
|
+
benignLogPatterns
|
|
138
|
+
}) {
|
|
139
|
+
if (transport) {
|
|
140
|
+
const serverURL = options.cacheURL ?? options.server;
|
|
141
|
+
if (typeof serverURL !== "string") {
|
|
142
|
+
throw new Error(`client transport requires a server URL`);
|
|
143
|
+
}
|
|
144
|
+
transport.install(serverURL);
|
|
145
|
+
}
|
|
146
|
+
const instanceRef = {
|
|
147
|
+
current: null
|
|
148
|
+
};
|
|
149
|
+
const recoveryDeps = {
|
|
150
|
+
deleteLocalState: () => deleteZeroInstance(instanceRef.current),
|
|
151
|
+
zeroEvents,
|
|
152
|
+
beforeReload,
|
|
153
|
+
scheduleReload,
|
|
154
|
+
guardStorage,
|
|
155
|
+
benignLogPatterns: [...(transport?.logClassifications?.benign ?? []), ...(benignLogPatterns ?? [])],
|
|
156
|
+
onRecovery: () => mutationLifecycle.fence()
|
|
157
|
+
};
|
|
158
|
+
const recovery = makeZeroRecovery(recoveryDeps);
|
|
159
|
+
const createdInstance = new ZeroClient({
|
|
160
|
+
kvStore: "mem",
|
|
161
|
+
...options,
|
|
162
|
+
schema,
|
|
163
|
+
// @ts-expect-error same erasure ZeroProvider needed
|
|
164
|
+
mutators: getClientMutators(),
|
|
165
|
+
// when the consumer brings no logSink, install ours: it preserves Zero's
|
|
166
|
+
// console output AND watches for the local-store-lost signature. a
|
|
167
|
+
// consumer with its own logSink owns log-based recovery (no double-fire
|
|
168
|
+
// with e.g. soot's origin-gated recovery).
|
|
169
|
+
logSink: options.logSink ?? composeRecoveryLogSink(recoveryDeps),
|
|
170
|
+
// consumer handlers win; otherwise on-zero's default self-healing
|
|
171
|
+
// recovery covers EVERY reason (drop local state + reload, guarded) —
|
|
172
|
+
// passing these to Zero disables its built-in reload, so any reason we
|
|
173
|
+
// left unhandled would fatal-blank the app forever.
|
|
174
|
+
onUpdateNeeded: options.onUpdateNeeded ?? recovery.onUpdateNeeded,
|
|
175
|
+
onClientStateNotFound: options.onClientStateNotFound ?? recovery.onClientStateNotFound
|
|
176
|
+
});
|
|
177
|
+
instanceRef.current = createdInstance;
|
|
178
|
+
return createdInstance;
|
|
179
|
+
}
|
|
121
180
|
let latestZeroInstance = null;
|
|
122
181
|
const zeroReadyWaiters = /* @__PURE__ */new Set();
|
|
182
|
+
function publishZeroInstance(zeroInstance) {
|
|
183
|
+
if (zeroInstance === latestZeroInstance) return false;
|
|
184
|
+
latestZeroInstance = zeroInstance;
|
|
185
|
+
mutationLifecycle.activate();
|
|
186
|
+
const runner = (query, options) => zeroInstance.run(query, options);
|
|
187
|
+
instance.runner = runner;
|
|
188
|
+
setRunner(runner);
|
|
189
|
+
const waiters = [...zeroReadyWaiters];
|
|
190
|
+
zeroReadyWaiters.clear();
|
|
191
|
+
for (const onReady of waiters) onReady(zeroInstance);
|
|
192
|
+
return true;
|
|
193
|
+
}
|
|
123
194
|
function waitForZero({
|
|
124
195
|
signal
|
|
125
196
|
} = {}) {
|
|
@@ -374,14 +445,6 @@ function createZeroClientInternal({
|
|
|
374
445
|
}
|
|
375
446
|
const authData = authDataIn ?? stableAuthDataRef.current ?? null;
|
|
376
447
|
setAuthData(authData);
|
|
377
|
-
const mutators = useMemo(() => {
|
|
378
|
-
return createMutators({
|
|
379
|
-
models,
|
|
380
|
-
environment: "client",
|
|
381
|
-
authData: null,
|
|
382
|
-
can: permissionsHelpers.can
|
|
383
|
-
});
|
|
384
|
-
}, []);
|
|
385
448
|
const hostScope = readHostStorageScope();
|
|
386
449
|
const scopedProps = hostScope ? {
|
|
387
450
|
...props,
|
|
@@ -425,54 +488,22 @@ function createZeroClientInternal({
|
|
|
425
488
|
}
|
|
426
489
|
let cached = cachedZero;
|
|
427
490
|
const options = scopedProps;
|
|
428
|
-
if (transport) {
|
|
429
|
-
const serverURL = options.cacheURL ?? options.server;
|
|
430
|
-
if (typeof serverURL !== "string") {
|
|
431
|
-
throw new Error(`client transport requires a server URL`);
|
|
432
|
-
}
|
|
433
|
-
transport.install(serverURL);
|
|
434
|
-
}
|
|
435
491
|
if (cached?.key !== instanceKey) {
|
|
436
492
|
if (cached) {
|
|
437
493
|
clearZeroInstanceReferences(cached.instance);
|
|
438
494
|
mutationLifecycle.fence();
|
|
439
495
|
cached.instance.close();
|
|
440
496
|
}
|
|
441
|
-
const instanceRef = {
|
|
442
|
-
current: null
|
|
443
|
-
};
|
|
444
|
-
const recoveryDeps = {
|
|
445
|
-
deleteLocalState: () => deleteZeroInstance(instanceRef.current),
|
|
446
|
-
zeroEvents,
|
|
447
|
-
beforeReload,
|
|
448
|
-
scheduleReload,
|
|
449
|
-
guardStorage,
|
|
450
|
-
benignLogPatterns: [...(transport?.logClassifications?.benign ?? []), ...(benignLogPatterns ?? [])],
|
|
451
|
-
onRecovery: () => mutationLifecycle.fence()
|
|
452
|
-
};
|
|
453
|
-
const recovery = makeZeroRecovery(recoveryDeps);
|
|
454
|
-
const createdInstance = new ZeroClient({
|
|
455
|
-
kvStore: "mem",
|
|
456
|
-
...options,
|
|
457
|
-
schema,
|
|
458
|
-
// @ts-expect-error same erasure ZeroProvider needed
|
|
459
|
-
mutators,
|
|
460
|
-
// when the consumer brings no logSink, install ours: it preserves
|
|
461
|
-
// Zero's console output AND watches for the local-store-lost signature.
|
|
462
|
-
// a consumer with its own logSink owns log-based recovery (no
|
|
463
|
-
// double-fire with e.g. soot's origin-gated recovery).
|
|
464
|
-
logSink: options.logSink ?? composeRecoveryLogSink(recoveryDeps),
|
|
465
|
-
// consumer handlers win; otherwise on-zero's default self-healing
|
|
466
|
-
// recovery covers EVERY reason (drop local state + reload, guarded) —
|
|
467
|
-
// passing these to Zero disables its built-in reload, so any reason we
|
|
468
|
-
// left unhandled would fatal-blank the app forever.
|
|
469
|
-
onUpdateNeeded: options.onUpdateNeeded ?? recovery.onUpdateNeeded,
|
|
470
|
-
onClientStateNotFound: options.onClientStateNotFound ?? recovery.onClientStateNotFound
|
|
471
|
-
});
|
|
472
|
-
instanceRef.current = createdInstance;
|
|
473
497
|
cached = {
|
|
474
498
|
key: instanceKey,
|
|
475
|
-
instance:
|
|
499
|
+
instance: constructZeroInstance({
|
|
500
|
+
options,
|
|
501
|
+
transport,
|
|
502
|
+
beforeReload,
|
|
503
|
+
scheduleReload,
|
|
504
|
+
guardStorage,
|
|
505
|
+
benignLogPatterns
|
|
506
|
+
})
|
|
476
507
|
};
|
|
477
508
|
cachedZero = cached;
|
|
478
509
|
}
|
|
@@ -508,39 +539,66 @@ function createZeroClientInternal({
|
|
|
508
539
|
const ProvideZero = IS_SERVER_RUNTIME ? ProvideZeroServer : ProvideZeroClient;
|
|
509
540
|
const SetZeroInstance = () => {
|
|
510
541
|
const zeroInstance = useZero();
|
|
511
|
-
|
|
512
|
-
latestZeroInstance = zeroInstance;
|
|
513
|
-
mutationLifecycle.activate();
|
|
514
|
-
const runner = (query, options) => zeroInstance.run(query, options);
|
|
515
|
-
instance.runner = runner;
|
|
516
|
-
setRunner(runner);
|
|
517
|
-
const waiters = [...zeroReadyWaiters];
|
|
518
|
-
zeroReadyWaiters.clear();
|
|
519
|
-
for (const onReady of waiters) onReady(zeroInstance);
|
|
520
|
-
}
|
|
542
|
+
publishZeroInstance(zeroInstance);
|
|
521
543
|
useEffect(() => {
|
|
522
544
|
zeroInstanceVersion?.emit(zeroInstanceVersion.value + 1);
|
|
523
545
|
}, [zeroInstance]);
|
|
524
546
|
return null;
|
|
525
547
|
};
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
548
|
+
function connectHeadless(props) {
|
|
549
|
+
const {
|
|
550
|
+
authData,
|
|
551
|
+
transport,
|
|
552
|
+
beforeReload,
|
|
553
|
+
scheduleReload,
|
|
554
|
+
guardStorage,
|
|
555
|
+
benignLogPatterns,
|
|
556
|
+
refreshAuth,
|
|
557
|
+
...options
|
|
558
|
+
} = props;
|
|
559
|
+
setAuthData(authData ?? null);
|
|
560
|
+
const zeroInstance = constructZeroInstance({
|
|
561
|
+
options,
|
|
562
|
+
transport,
|
|
563
|
+
beforeReload,
|
|
564
|
+
scheduleReload,
|
|
565
|
+
guardStorage,
|
|
566
|
+
benignLogPatterns
|
|
567
|
+
});
|
|
568
|
+
publishZeroInstance(zeroInstance);
|
|
569
|
+
zeroInstanceVersion?.emit(zeroInstanceVersion.value + 1);
|
|
570
|
+
const unwatch = watchZeroConnection({
|
|
571
|
+
zeroInstance,
|
|
572
|
+
refreshAuth
|
|
573
|
+
});
|
|
574
|
+
return {
|
|
575
|
+
zero: zeroInstance,
|
|
576
|
+
close: async () => {
|
|
577
|
+
unwatch();
|
|
578
|
+
clearZeroInstanceReferences(zeroInstance);
|
|
579
|
+
mutationLifecycle.fence();
|
|
580
|
+
await zeroInstance.close();
|
|
581
|
+
}
|
|
582
|
+
};
|
|
583
|
+
}
|
|
584
|
+
function watchZeroConnection(args) {
|
|
585
|
+
const {
|
|
586
|
+
zeroInstance,
|
|
587
|
+
refreshAuth,
|
|
588
|
+
exposeDataset,
|
|
589
|
+
datasetCacheUrl
|
|
590
|
+
} = args;
|
|
591
|
+
let prevState = zeroInstance.connection.state.current.name;
|
|
592
|
+
let hasConnected = false;
|
|
593
|
+
const currentReconnect = zeroEvents.value?.type === "reconnect" && zeroEvents.value.status !== "connected" ? zeroEvents.value : null;
|
|
594
|
+
let reconnect = currentReconnect ? {
|
|
538
595
|
reasonKey: currentReconnect.reasonKey,
|
|
539
596
|
reason: currentReconnect.reason
|
|
540
|
-
} : null
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
597
|
+
} : null;
|
|
598
|
+
let recoverableError = null;
|
|
599
|
+
let needsAuth = false;
|
|
600
|
+
const handle = () => {
|
|
601
|
+
const state = zeroInstance.connection.state.current;
|
|
544
602
|
const name = state.name;
|
|
545
603
|
const reason = "reason" in state && typeof state.reason === "string" ? state.reason : "";
|
|
546
604
|
if (exposeDataset && typeof document !== "undefined" && document.body) {
|
|
@@ -550,10 +608,10 @@ function createZeroClientInternal({
|
|
|
550
608
|
if (name === "connected") document.body.dataset.zeroConnected = "true";else delete document.body.dataset.zeroConnected;
|
|
551
609
|
}
|
|
552
610
|
if (name === "connected") {
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
if (
|
|
556
|
-
|
|
611
|
+
hasConnected = true;
|
|
612
|
+
recoverableError = null;
|
|
613
|
+
if (reconnect) {
|
|
614
|
+
reconnect = null;
|
|
557
615
|
emitReconnectStatus({
|
|
558
616
|
type: "reconnect",
|
|
559
617
|
status: "connected"
|
|
@@ -562,46 +620,46 @@ function createZeroClientInternal({
|
|
|
562
620
|
}
|
|
563
621
|
const reconnectReasonKey = reason.includes("ServerOverloaded") ? "server-overloaded" : reason.includes("Failed to fetch") || reason.includes("fetch failed") || reason.includes("NetworkError when attempting to fetch resource") || reason.includes("Network request failed") || reason.includes("Load failed") ? "transport" : void 0;
|
|
564
622
|
if (name === "error" && (isRecoverableZeroStalePokeMessage(reason) || reconnectReasonKey)) {
|
|
565
|
-
if (
|
|
566
|
-
|
|
567
|
-
|
|
623
|
+
if (recoverableError !== reason) {
|
|
624
|
+
recoverableError = reason;
|
|
625
|
+
reconnect = {
|
|
568
626
|
reasonKey: reconnectReasonKey ?? "transport",
|
|
569
627
|
reason
|
|
570
628
|
};
|
|
571
629
|
emitReconnectStatus({
|
|
572
630
|
type: "reconnect",
|
|
573
631
|
status: "trying",
|
|
574
|
-
...
|
|
632
|
+
...reconnect
|
|
575
633
|
});
|
|
576
634
|
void Promise.resolve(zeroInstance.connection?.connect?.()).catch(() => {});
|
|
577
635
|
}
|
|
578
636
|
return;
|
|
579
637
|
}
|
|
580
|
-
if (name !== "error")
|
|
581
|
-
if (name === "connecting" && (
|
|
582
|
-
|
|
583
|
-
reasonKey: reconnectReasonKey ??
|
|
584
|
-
reason: reason ||
|
|
638
|
+
if (name !== "error") recoverableError = null;
|
|
639
|
+
if (name === "connecting" && (reconnect || hasConnected || Boolean(reason))) {
|
|
640
|
+
reconnect = {
|
|
641
|
+
reasonKey: reconnectReasonKey ?? reconnect?.reasonKey ?? "transport",
|
|
642
|
+
reason: reason || reconnect?.reason || "connection interrupted"
|
|
585
643
|
};
|
|
586
644
|
emitReconnectStatus({
|
|
587
645
|
type: "reconnect",
|
|
588
646
|
status: reason ? "waiting" : "trying",
|
|
589
|
-
...
|
|
647
|
+
...reconnect
|
|
590
648
|
});
|
|
591
|
-
} else if (name === "disconnected" && (
|
|
592
|
-
|
|
593
|
-
reasonKey:
|
|
594
|
-
reason: reason ||
|
|
649
|
+
} else if (name === "disconnected" && (reconnect || hasConnected)) {
|
|
650
|
+
reconnect = {
|
|
651
|
+
reasonKey: reconnect?.reasonKey ?? "transport",
|
|
652
|
+
reason: reason || reconnect?.reason || "connection interrupted"
|
|
595
653
|
};
|
|
596
654
|
emitReconnectStatus({
|
|
597
655
|
type: "reconnect",
|
|
598
656
|
status: "waiting",
|
|
599
|
-
...
|
|
657
|
+
...reconnect
|
|
600
658
|
});
|
|
601
659
|
}
|
|
602
660
|
if (name === "needs-auth") {
|
|
603
|
-
if (refreshAuth && !
|
|
604
|
-
|
|
661
|
+
if (refreshAuth && !needsAuth) {
|
|
662
|
+
needsAuth = true;
|
|
605
663
|
void refreshAuth().then(token => {
|
|
606
664
|
if (token) zeroInstance.connection?.connect?.({
|
|
607
665
|
auth: token
|
|
@@ -609,19 +667,36 @@ function createZeroClientInternal({
|
|
|
609
667
|
}).catch(() => {});
|
|
610
668
|
}
|
|
611
669
|
} else {
|
|
612
|
-
|
|
670
|
+
needsAuth = false;
|
|
613
671
|
}
|
|
614
|
-
if (name !== prevState
|
|
615
|
-
prevState
|
|
672
|
+
if (name !== prevState) {
|
|
673
|
+
prevState = name;
|
|
616
674
|
if (name === "error" || name === "needs-auth") {
|
|
617
|
-
|
|
675
|
+
zeroEvents.emit({
|
|
618
676
|
type: "error",
|
|
619
677
|
reasonKey: name === "needs-auth" ? "connection-needs-auth" : "connection-error",
|
|
620
678
|
message: reason || name
|
|
621
679
|
});
|
|
622
680
|
}
|
|
623
681
|
}
|
|
624
|
-
}
|
|
682
|
+
};
|
|
683
|
+
const unsubscribe = zeroInstance.connection.state.subscribe(handle);
|
|
684
|
+
handle();
|
|
685
|
+
return unsubscribe;
|
|
686
|
+
}
|
|
687
|
+
const ConnectionMonitor = memo(({
|
|
688
|
+
zeroEvents: _zeroEvents,
|
|
689
|
+
refreshAuth,
|
|
690
|
+
exposeDataset,
|
|
691
|
+
datasetCacheUrl
|
|
692
|
+
}) => {
|
|
693
|
+
const zeroInstance = useZero();
|
|
694
|
+
useEffect(() => watchZeroConnection({
|
|
695
|
+
zeroInstance,
|
|
696
|
+
refreshAuth,
|
|
697
|
+
exposeDataset,
|
|
698
|
+
datasetCacheUrl
|
|
699
|
+
}), [zeroInstance, refreshAuth, exposeDataset, datasetCacheUrl]);
|
|
625
700
|
return null;
|
|
626
701
|
});
|
|
627
702
|
function preload(fnArg, paramsOrOptions, optionsArg) {
|
|
@@ -658,6 +733,7 @@ function createZeroClientInternal({
|
|
|
658
733
|
zeroEvents,
|
|
659
734
|
reloadPage,
|
|
660
735
|
ProvideZero,
|
|
736
|
+
connectHeadless,
|
|
661
737
|
ControlQueries,
|
|
662
738
|
useQuery,
|
|
663
739
|
useQueryDirect,
|