on-zero 0.9.3 → 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 +65 -42
- 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.native.js +65 -42
- package/dist/cjs/createZeroClient.native.js.map +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.mjs +66 -43
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +66 -43
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/package.json +1 -1
- package/src/createZeroClient.connection.test.tsx +38 -0
- package/src/createZeroClient.tsx +152 -140
- package/types/createZeroClient.d.ts +2 -0
- package/types/createZeroClient.d.ts.map +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { createBuilder, defineQueries, defineQuery, Zero as ZeroClient } from "@rocicorp/zero";
|
|
3
|
-
import {
|
|
3
|
+
import { useZero, ZeroContext } from "@rocicorp/zero/react";
|
|
4
4
|
import { createContext, memo, useContext, useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
5
5
|
import { createPermissions } from "./createPermissions.native.js";
|
|
6
6
|
import { createUseQuery } from "./createUseQuery.native.js";
|
|
@@ -755,6 +755,7 @@ function createZeroClientInternal(param) {
|
|
|
755
755
|
scheduleReload,
|
|
756
756
|
guardStorage,
|
|
757
757
|
benignLogPatterns,
|
|
758
|
+
refreshAuth,
|
|
758
759
|
...options
|
|
759
760
|
} = props;
|
|
760
761
|
setAuthData(authData !== null && authData !== void 0 ? authData : null);
|
|
@@ -768,35 +769,39 @@ function createZeroClientInternal(param) {
|
|
|
768
769
|
});
|
|
769
770
|
publishZeroInstance(zeroInstance);
|
|
770
771
|
zeroInstanceVersion === null || zeroInstanceVersion === void 0 ? void 0 : zeroInstanceVersion.emit(zeroInstanceVersion.value + 1);
|
|
772
|
+
var unwatch = watchZeroConnection({
|
|
773
|
+
zeroInstance,
|
|
774
|
+
refreshAuth
|
|
775
|
+
});
|
|
771
776
|
return {
|
|
772
777
|
zero: zeroInstance,
|
|
773
778
|
close: async function close() {
|
|
779
|
+
unwatch();
|
|
774
780
|
clearZeroInstanceReferences(zeroInstance);
|
|
775
781
|
mutationLifecycle.fence();
|
|
776
782
|
await zeroInstance.close();
|
|
777
783
|
}
|
|
778
784
|
};
|
|
779
785
|
}
|
|
780
|
-
|
|
786
|
+
function watchZeroConnection(args) {
|
|
787
|
+
var _zeroEvents_value;
|
|
781
788
|
var {
|
|
782
|
-
|
|
789
|
+
zeroInstance,
|
|
783
790
|
refreshAuth,
|
|
784
791
|
exposeDataset,
|
|
785
792
|
datasetCacheUrl
|
|
786
|
-
} =
|
|
787
|
-
var
|
|
788
|
-
var
|
|
789
|
-
var
|
|
790
|
-
var
|
|
791
|
-
var hasConnectedRef = useRef(false);
|
|
792
|
-
var currentReconnect = ((_zeroEvents_value = zeroEvents2.value) === null || _zeroEvents_value === void 0 ? void 0 : _zeroEvents_value.type) === "reconnect" && zeroEvents2.value.status !== "connected" ? zeroEvents2.value : null;
|
|
793
|
-
var reconnectRef = useRef(currentReconnect ? {
|
|
793
|
+
} = args;
|
|
794
|
+
var prevState = zeroInstance.connection.state.current.name;
|
|
795
|
+
var hasConnected = false;
|
|
796
|
+
var currentReconnect = ((_zeroEvents_value = zeroEvents.value) === null || _zeroEvents_value === void 0 ? void 0 : _zeroEvents_value.type) === "reconnect" && zeroEvents.value.status !== "connected" ? zeroEvents.value : null;
|
|
797
|
+
var reconnect = currentReconnect ? {
|
|
794
798
|
reasonKey: currentReconnect.reasonKey,
|
|
795
799
|
reason: currentReconnect.reason
|
|
796
|
-
} : null
|
|
797
|
-
var
|
|
798
|
-
var
|
|
799
|
-
|
|
800
|
+
} : null;
|
|
801
|
+
var recoverableError = null;
|
|
802
|
+
var needsAuth = false;
|
|
803
|
+
var handle = function handle2() {
|
|
804
|
+
var state = zeroInstance.connection.state.current;
|
|
800
805
|
var name = state.name;
|
|
801
806
|
var reason = "reason" in state && typeof state.reason === "string" ? state.reason : "";
|
|
802
807
|
if (exposeDataset && typeof document !== "undefined" && document.body) {
|
|
@@ -806,10 +811,10 @@ function createZeroClientInternal(param) {
|
|
|
806
811
|
if (name === "connected") document.body.dataset.zeroConnected = "true";else delete document.body.dataset.zeroConnected;
|
|
807
812
|
}
|
|
808
813
|
if (name === "connected") {
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
if (
|
|
812
|
-
|
|
814
|
+
hasConnected = true;
|
|
815
|
+
recoverableError = null;
|
|
816
|
+
if (reconnect) {
|
|
817
|
+
reconnect = null;
|
|
813
818
|
emitReconnectStatus({
|
|
814
819
|
type: "reconnect",
|
|
815
820
|
status: "connected"
|
|
@@ -818,51 +823,49 @@ function createZeroClientInternal(param) {
|
|
|
818
823
|
}
|
|
819
824
|
var 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;
|
|
820
825
|
if (name === "error" && (isRecoverableZeroStalePokeMessage(reason) || reconnectReasonKey)) {
|
|
821
|
-
if (
|
|
826
|
+
if (recoverableError !== reason) {
|
|
822
827
|
var _zeroInstance_connection_connect, _zeroInstance_connection;
|
|
823
|
-
|
|
824
|
-
|
|
828
|
+
recoverableError = reason;
|
|
829
|
+
reconnect = {
|
|
825
830
|
reasonKey: reconnectReasonKey !== null && reconnectReasonKey !== void 0 ? reconnectReasonKey : "transport",
|
|
826
831
|
reason
|
|
827
832
|
};
|
|
828
833
|
emitReconnectStatus({
|
|
829
834
|
type: "reconnect",
|
|
830
835
|
status: "trying",
|
|
831
|
-
...
|
|
836
|
+
...reconnect
|
|
832
837
|
});
|
|
833
838
|
void Promise.resolve((_zeroInstance_connection = zeroInstance.connection) === null || _zeroInstance_connection === void 0 ? void 0 : (_zeroInstance_connection_connect = _zeroInstance_connection.connect) === null || _zeroInstance_connection_connect === void 0 ? void 0 : _zeroInstance_connection_connect.call(_zeroInstance_connection)).catch(function () {});
|
|
834
839
|
}
|
|
835
840
|
return;
|
|
836
841
|
}
|
|
837
|
-
if (name !== "error")
|
|
838
|
-
if (name === "connecting" && (
|
|
842
|
+
if (name !== "error") recoverableError = null;
|
|
843
|
+
if (name === "connecting" && (reconnect || hasConnected || Boolean(reason))) {
|
|
839
844
|
var _ref;
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
reason: reason || ((_reconnectRef_current1 = reconnectRef.current) === null || _reconnectRef_current1 === void 0 ? void 0 : _reconnectRef_current1.reason) || "connection interrupted"
|
|
845
|
+
reconnect = {
|
|
846
|
+
reasonKey: (_ref = reconnectReasonKey !== null && reconnectReasonKey !== void 0 ? reconnectReasonKey : reconnect === null || reconnect === void 0 ? void 0 : reconnect.reasonKey) !== null && _ref !== void 0 ? _ref : "transport",
|
|
847
|
+
reason: reason || (reconnect === null || reconnect === void 0 ? void 0 : reconnect.reason) || "connection interrupted"
|
|
844
848
|
};
|
|
845
849
|
emitReconnectStatus({
|
|
846
850
|
type: "reconnect",
|
|
847
851
|
status: reason ? "waiting" : "trying",
|
|
848
|
-
...
|
|
852
|
+
...reconnect
|
|
849
853
|
});
|
|
850
|
-
} else if (name === "disconnected" && (
|
|
854
|
+
} else if (name === "disconnected" && (reconnect || hasConnected)) {
|
|
851
855
|
var _ref1;
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
reason: reason || ((_reconnectRef_current3 = reconnectRef.current) === null || _reconnectRef_current3 === void 0 ? void 0 : _reconnectRef_current3.reason) || "connection interrupted"
|
|
856
|
+
reconnect = {
|
|
857
|
+
reasonKey: (_ref1 = reconnect === null || reconnect === void 0 ? void 0 : reconnect.reasonKey) !== null && _ref1 !== void 0 ? _ref1 : "transport",
|
|
858
|
+
reason: reason || (reconnect === null || reconnect === void 0 ? void 0 : reconnect.reason) || "connection interrupted"
|
|
856
859
|
};
|
|
857
860
|
emitReconnectStatus({
|
|
858
861
|
type: "reconnect",
|
|
859
862
|
status: "waiting",
|
|
860
|
-
...
|
|
863
|
+
...reconnect
|
|
861
864
|
});
|
|
862
865
|
}
|
|
863
866
|
if (name === "needs-auth") {
|
|
864
|
-
if (refreshAuth && !
|
|
865
|
-
|
|
867
|
+
if (refreshAuth && !needsAuth) {
|
|
868
|
+
needsAuth = true;
|
|
866
869
|
void refreshAuth().then(function (token) {
|
|
867
870
|
var _zeroInstance_connection_connect2, _zeroInstance_connection2;
|
|
868
871
|
if (token) (_zeroInstance_connection2 = zeroInstance.connection) === null || _zeroInstance_connection2 === void 0 ? void 0 : (_zeroInstance_connection_connect2 = _zeroInstance_connection2.connect) === null || _zeroInstance_connection_connect2 === void 0 ? void 0 : _zeroInstance_connection_connect2.call(_zeroInstance_connection2, {
|
|
@@ -871,19 +874,39 @@ function createZeroClientInternal(param) {
|
|
|
871
874
|
}).catch(function () {});
|
|
872
875
|
}
|
|
873
876
|
} else {
|
|
874
|
-
|
|
877
|
+
needsAuth = false;
|
|
875
878
|
}
|
|
876
|
-
if (name !== prevState
|
|
877
|
-
prevState
|
|
879
|
+
if (name !== prevState) {
|
|
880
|
+
prevState = name;
|
|
878
881
|
if (name === "error" || name === "needs-auth") {
|
|
879
|
-
|
|
882
|
+
zeroEvents.emit({
|
|
880
883
|
type: "error",
|
|
881
884
|
reasonKey: name === "needs-auth" ? "connection-needs-auth" : "connection-error",
|
|
882
885
|
message: reason || name
|
|
883
886
|
});
|
|
884
887
|
}
|
|
885
888
|
}
|
|
886
|
-
}
|
|
889
|
+
};
|
|
890
|
+
var unsubscribe = zeroInstance.connection.state.subscribe(handle);
|
|
891
|
+
handle();
|
|
892
|
+
return unsubscribe;
|
|
893
|
+
}
|
|
894
|
+
var ConnectionMonitor = /* @__PURE__ */memo(function (param2) {
|
|
895
|
+
var {
|
|
896
|
+
zeroEvents: _zeroEvents,
|
|
897
|
+
refreshAuth,
|
|
898
|
+
exposeDataset,
|
|
899
|
+
datasetCacheUrl
|
|
900
|
+
} = param2;
|
|
901
|
+
var zeroInstance = useZero();
|
|
902
|
+
useEffect(function () {
|
|
903
|
+
return watchZeroConnection({
|
|
904
|
+
zeroInstance,
|
|
905
|
+
refreshAuth,
|
|
906
|
+
exposeDataset,
|
|
907
|
+
datasetCacheUrl
|
|
908
|
+
});
|
|
909
|
+
}, [zeroInstance, refreshAuth, exposeDataset, datasetCacheUrl]);
|
|
887
910
|
return null;
|
|
888
911
|
});
|
|
889
912
|
function preload(fnArg, paramsOrOptions, optionsArg) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","createBuilder","defineQueries","defineQuery","Zero","ZeroClient","useConnectionState","useZero","ZeroContext","createContext","memo","useContext","useEffect","useLayoutEffect","useRef","useState","createPermissions","createUseQuery","clearZeroClientData","createMutators","createEmitter","getAuth","readHostStorageScope","createMutationLifecycle","IS_SERVER_RUNTIME","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","makeZeroRecovery","registerClientInstance","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","_type_of","obj","Symbol","constructor","getZeroProxyValue","instance","key","value","Reflect","get","bound","bind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","ownKeys","iterator","_step","next","done","property","descriptor","Object","getOwnPropertyDescriptor","defineProperty","err","return","createUnavailableDirectUseQuery","useQueryDirect","Error","createZeroClient","options","createZeroClientInternal","param","schema","models","groupedQueries","permissionStrategy","instanceName","serverAckTimeoutRecoveryThreshold","createDirectUseQuery","permissionsHelpers","environment","wrappedNamespaces","entries","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","param2","args","_iterator1","permissionCheckFns","createPermissionCheckFn","createPermissionCheckFn2","table","fn2","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","customQueries","namespaces","keys","queryNames","flatMap","namespace2","queries2","map","DisabledContext","clientMutators","getClientMutators","authData","can","constructZeroInstance","transport","beforeReload","scheduleReload","guardStorage","benignLogPatterns","_ref","_options_logSink","_options_onUpdateNeeded","_options_onClientStateNotFound","_transport_logClassifications","_options_cacheURL","serverURL","cacheURL","server","install","instanceRef","current","recoveryDeps","deleteLocalState","deleteZeroInstance","zeroEvents","logClassifications","benign","onRecovery","mutationLifecycle","fence","recovery","createdInstance","kvStore","mutators","logSink","onUpdateNeeded","onClientStateNotFound","latestZeroInstance","zeroReadyWaiters","Set","publishZeroInstance","zeroInstance","activate","runner","runner2","query","run","waiters","clear","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","onReady","waitForZero","signal","arguments","length","Promise","resolve","aborted","_signal_reason","reject","reason","onReady2","instance2","removeEventListener","onAbort","onAbort2","delete","add","addEventListener","once","lazyMutatePath","path","resolve2","target","mutate","Proxy","lazyMutator","_","apply","__","zero","instanceToDelete","emitterScope","ackTimeoutRecoveryThreshold","Number","isFinite","Math","floor","recoverFromAckTimeout","input","reconnectInPlace","label","consecutiveTimeouts","timeoutMs","zeroInstanceVersion","AuthDataContext","useQuery","getZero","zeroVersion","createUsePermission","createUsePermission2","useQueryImpl","usePermission2","enabled","debug","disableMode","lastRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","result","type","usePermission","usePermissionDirect","cachedZero","REMINT_GUARD_MS","REMINT_MAX_ATTEMPTS","REMINT_ATTEMPT_RESET_MS","remintControl","bump","lastRemintAt","remintAttempts","unpublishZeroInstance","instanceToInvalidate","clearZeroInstanceReferences","invalidateZeroInstance","emit","close","unused","remint","opts","now","Date","sinceLast","dropLocalState","catch","emitReconnectStatus","event","reasonKey","reloadPage","location","globalThis","reload","DISABLED_ZERO_STUB_CONNECTION_STATE","subscribe","DISABLED_ZERO_STUB","clientID","context","connection","state","materialize","addListener","destroy","updateTTL","ProvideZeroServer","ProvideZeroServer2","children","authDataIn","Provider","ProvideZeroClient","ProvideZeroClient2","refreshAuth","connectionDataset","disable","props","_props_storageKey","_props_cacheURL","hasAuth","stableAuthDataRef","hostScope","scopedProps","storageKey","__testZero","window","URLSearchParams","search","has","url","URL","href","searchParams","closeZero","then","replace","toString","remintGeneration","setRemintGeneration","generation","instanceKey","JSON","stringify","filter","param3","sort","param1","a","b","pattern","source","flags","setInstance","cached","prevAuthRef","prevAuth","connect","liveInstance","SetZeroInstance","ConnectionMonitor","exposeDataset","datasetCacheUrl","ProvideZero","SetZeroInstance2","connectHeadless"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","createBuilder","defineQueries","defineQuery","Zero","ZeroClient","useZero","ZeroContext","createContext","memo","useContext","useEffect","useLayoutEffect","useRef","useState","createPermissions","createUseQuery","clearZeroClientData","createMutators","createEmitter","getAuth","readHostStorageScope","createMutationLifecycle","IS_SERVER_RUNTIME","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","makeZeroRecovery","registerClientInstance","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","_type_of","obj","Symbol","constructor","getZeroProxyValue","instance","key","value","Reflect","get","bound","bind","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","ownKeys","iterator","_step","next","done","property","descriptor","Object","getOwnPropertyDescriptor","defineProperty","err","return","createUnavailableDirectUseQuery","useQueryDirect","Error","createZeroClient","options","createZeroClientInternal","param","schema","models","groupedQueries","permissionStrategy","instanceName","serverAckTimeoutRecoveryThreshold","createDirectUseQuery","permissionsHelpers","environment","wrappedNamespaces","entries","namespace","queries","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_loop","name","fn","_step1","param2","args","_iterator1","permissionCheckFns","createPermissionCheckFn","createPermissionCheckFn2","table","fn2","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_loop1","_step2","_iterator2","customQueries","namespaces","keys","queryNames","flatMap","namespace2","queries2","map","DisabledContext","clientMutators","getClientMutators","authData","can","constructZeroInstance","transport","beforeReload","scheduleReload","guardStorage","benignLogPatterns","_ref","_options_logSink","_options_onUpdateNeeded","_options_onClientStateNotFound","_transport_logClassifications","_options_cacheURL","serverURL","cacheURL","server","install","instanceRef","current","recoveryDeps","deleteLocalState","deleteZeroInstance","zeroEvents","logClassifications","benign","onRecovery","mutationLifecycle","fence","recovery","createdInstance","kvStore","mutators","logSink","onUpdateNeeded","onClientStateNotFound","latestZeroInstance","zeroReadyWaiters","Set","publishZeroInstance","zeroInstance","activate","runner","runner2","query","run","waiters","clear","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_iterator3","_step3","onReady","waitForZero","signal","arguments","length","Promise","resolve","aborted","_signal_reason","reject","reason","onReady2","instance2","removeEventListener","onAbort","onAbort2","delete","add","addEventListener","once","lazyMutatePath","path","resolve2","target","mutate","Proxy","lazyMutator","_","apply","__","zero","instanceToDelete","emitterScope","ackTimeoutRecoveryThreshold","Number","isFinite","Math","floor","recoverFromAckTimeout","input","reconnectInPlace","label","consecutiveTimeouts","timeoutMs","zeroInstanceVersion","AuthDataContext","useQuery","getZero","zeroVersion","createUsePermission","createUsePermission2","useQueryImpl","usePermission2","enabled","debug","disableMode","lastRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","result","type","usePermission","usePermissionDirect","cachedZero","REMINT_GUARD_MS","REMINT_MAX_ATTEMPTS","REMINT_ATTEMPT_RESET_MS","remintControl","bump","lastRemintAt","remintAttempts","unpublishZeroInstance","instanceToInvalidate","clearZeroInstanceReferences","invalidateZeroInstance","emit","close","unused","remint","opts","now","Date","sinceLast","dropLocalState","catch","emitReconnectStatus","event","reasonKey","reloadPage","location","globalThis","reload","DISABLED_ZERO_STUB_CONNECTION_STATE","subscribe","DISABLED_ZERO_STUB","clientID","context","connection","state","materialize","addListener","destroy","updateTTL","ProvideZeroServer","ProvideZeroServer2","children","authDataIn","Provider","ProvideZeroClient","ProvideZeroClient2","refreshAuth","connectionDataset","disable","props","_props_storageKey","_props_cacheURL","hasAuth","stableAuthDataRef","hostScope","scopedProps","storageKey","__testZero","window","URLSearchParams","search","has","url","URL","href","searchParams","closeZero","then","replace","toString","remintGeneration","setRemintGeneration","generation","instanceKey","JSON","stringify","filter","param3","sort","param1","a","b","pattern","source","flags","setInstance","cached","prevAuthRef","prevAuth","connect","liveInstance","SetZeroInstance","ConnectionMonitor","exposeDataset","datasetCacheUrl","ProvideZero","SetZeroInstance2","connectHeadless"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -303,3 +303,41 @@ test('fatal error state stays terminal and reports the reason', async () => {
|
|
|
303
303
|
vi.useRealTimers()
|
|
304
304
|
}
|
|
305
305
|
})
|
|
306
|
+
|
|
307
|
+
// the browser gets this recovery from ConnectionMonitor, a react component. a
|
|
308
|
+
// headless host has no tree, so before connectHeadless shared the same watcher
|
|
309
|
+
// it got none of it: an expired token parked the instance in needs-auth
|
|
310
|
+
// permanently, every pull answered 401, and the host went dark with no way back.
|
|
311
|
+
// this is the same transition as the provider test above, driven with no react.
|
|
312
|
+
test('connectHeadless refreshes auth on needs-auth with no react tree', async () => {
|
|
313
|
+
const headlessClient = createZeroClient({
|
|
314
|
+
schema,
|
|
315
|
+
models: {},
|
|
316
|
+
groupedQueries: {},
|
|
317
|
+
instanceName: 'headless-auth-test',
|
|
318
|
+
})
|
|
319
|
+
const refreshAuth = vi.fn(async () => 'headless-fresh-token')
|
|
320
|
+
const connection = headlessClient.connectHeadless({
|
|
321
|
+
userID: 'headless-auth',
|
|
322
|
+
cacheURL: 'http://127.0.0.1:7788/zero',
|
|
323
|
+
refreshAuth,
|
|
324
|
+
})
|
|
325
|
+
const instance = fakeZero.instances.at(-1)!
|
|
326
|
+
|
|
327
|
+
instance.connection.state.set({ name: 'needs-auth', reason: 'token expired' })
|
|
328
|
+
await Promise.resolve()
|
|
329
|
+
|
|
330
|
+
expect(refreshAuth).toHaveBeenCalledTimes(1)
|
|
331
|
+
await Promise.resolve()
|
|
332
|
+
expect(instance.connection.connect).toHaveBeenCalledWith({
|
|
333
|
+
auth: 'headless-fresh-token',
|
|
334
|
+
})
|
|
335
|
+
|
|
336
|
+
// one refresh per transition, not per state emission — a stuck needs-auth
|
|
337
|
+
// must not retry-storm the token endpoint.
|
|
338
|
+
instance.connection.state.set({ name: 'needs-auth', reason: 'token expired again' })
|
|
339
|
+
await Promise.resolve()
|
|
340
|
+
expect(refreshAuth).toHaveBeenCalledTimes(1)
|
|
341
|
+
|
|
342
|
+
await connection.close()
|
|
343
|
+
})
|