commit 5d4702c6d106705060f1bccbedd35bf3f7aacbc4
parent 78ac0beae5ca9d1b91aee388ac7de744fe37644d
Author: Florian Dold <florian@dold.me>
Date: Mon, 23 Feb 2026 20:18:03 +0100
fix FTBFS, some drive-by cleanup
Diffstat:
1 file changed, 26 insertions(+), 53 deletions(-)
diff --git a/packages/merchant-backoffice-ui/src/hooks/instance.ts b/packages/merchant-backoffice-ui/src/hooks/instance.ts
@@ -14,15 +14,16 @@
GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
*/
-// FIX default import https://github.com/microsoft/TypeScript/issues/49189
import {
AccessToken,
TalerHttpError,
- TalerMerchantManagementResultByMethod
+ TalerMerchantManagementResultByMethod,
} from "@gnu-taler/taler-util";
-import { delayMs, LONG_POLL_DELAY, useLongPolling } from "@gnu-taler/web-util/browser";
-import _useSWR, { mutate, SWRHook } from "swr";
+import { LONG_POLL_DELAY, useLongPolling } from "@gnu-taler/web-util/browser";
import { useSessionContext } from "../context/session.js";
+
+// Fix default import https://github.com/microsoft/TypeScript/issues/49189
+import _useSWR, { mutate, SWRHook } from "swr";
const useSWR = _useSWR as unknown as SWRHook;
export function revalidateInstanceDetails() {
@@ -33,6 +34,7 @@ export function revalidateInstanceDetails() {
{ revalidate: true },
);
}
+
export function useInstanceDetails() {
const { state, lib } = useSessionContext();
@@ -50,44 +52,9 @@ export function useInstanceDetails() {
return undefined;
}
-export function revalidateInstanceKYCDetails() {
- return mutate(
- (key) =>
- Array.isArray(key) &&
- key[key.length - 1] === "getCurrentIntanceKycStatus",
- undefined,
- { revalidate: true },
- );
-}
-
-
-
-let latestRequestTime = 0;
-/**
- * return a handler that calls f() but it will wait
- * if it is called faster that $delay.
- *
- * this is useful for lonpoll against server since
- * server may return earlier and we should not
- * request againt fast
- *
- * @param f
- * @param delay
- */
-async function preventRequestBurst<T>(waitBeforeCall: number, f: () => Promise<T>) {
- const now = new Date().getTime();
- const diff = now - latestRequestTime;
- if (diff < waitBeforeCall) {
- console.log("PREVENT REQUEST BURST");
- await delayMs(diff + 10);
- }
- latestRequestTime = new Date().getTime();
- return f()
-}
-
export function useInstanceKYCDetailsLongPolling() {
const { state, lib } = useSessionContext();
- const token = state.token
+ const token = state.token;
async function fetcher([token]: [AccessToken]) {
return await lib.instance.getCurrentInstanceKycStatus(token);
@@ -101,33 +68,40 @@ export function useInstanceKYCDetailsLongPolling() {
const result = useLongPolling(
data,
(result) => {
- if (!result || result.type === "fail") return undefined;
- if (!result.body.etag) return undefined;
- return result.body.etag
+ if (
+ !result ||
+ result.type === "fail" ||
+ !result.body.kycRequired ||
+ !result.body.etag
+ ) {
+ return undefined;
+ }
+ return result.body.etag;
},
async (latestEtag) => {
const r = await lib.instance.getCurrentInstanceKycStatus(token!, {
longpoll: {
type: "state-change",
etag: latestEtag,
- timeout: LONG_POLL_DELAY
- }
+ timeout: LONG_POLL_DELAY,
+ },
});
- mutate(r, { revalidate: false})
- return r
+ mutate(r, { revalidate: false });
+ return r;
},
[],
- { minTime: LONG_POLL_DELAY }
+ { minTime: LONG_POLL_DELAY },
);
- if (error) return error;
+ if (error) {
+ return error;
+ }
return result;
-
}
export function useInstanceKYCDetails() {
const { state, lib } = useSessionContext();
- const token = state.token
+ const token = state.token;
async function fetcher([token]: [AccessToken]) {
return await lib.instance.getCurrentInstanceKycStatus(token);
@@ -140,10 +114,8 @@ export function useInstanceKYCDetails() {
if (error) return error;
return data;
-
}
-
export function revalidateManagedInstanceDetails() {
return mutate(
(key) => Array.isArray(key) && key[key.length - 1] === "getInstanceDetails",
@@ -175,6 +147,7 @@ export function revalidateBackendInstances() {
{ revalidate: true },
);
}
+
export function useBackendInstances() {
const { state, lib } = useSessionContext();