From 16b5349c3d4461356ef124c10df8c117fd3bac81 Mon Sep 17 00:00:00 2001 From: Innei Date: Thu, 7 Nov 2024 15:50:00 +0800 Subject: [PATCH 1/2] fix: csrf token singleton (#1463) Signed-off-by: Innei --- apps/renderer/src/lib/api-fetch.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/apps/renderer/src/lib/api-fetch.ts b/apps/renderer/src/lib/api-fetch.ts index 332f8a134..f8d3dc1f3 100644 --- a/apps/renderer/src/lib/api-fetch.ts +++ b/apps/renderer/src/lib/api-fetch.ts @@ -14,16 +14,20 @@ import { NeedActivationToast } from "~/modules/activation/NeedActivationToast" import { DebugRegistry } from "~/modules/debug/registry" let csrfTokenPromise: Promise | null = null + +const getPromisedCsrfToken = async () => { + if (!csrfTokenPromise) { + csrfTokenPromise = getCsrfToken() + } + + return await csrfTokenPromise +} export const apiFetch = ofetch.create({ baseURL: env.VITE_API_URL, credentials: "include", retry: false, onRequest: async ({ options }) => { - if (!csrfTokenPromise) { - csrfTokenPromise = getCsrfToken() - } - - const csrfToken = await csrfTokenPromise + const csrfToken = await getPromisedCsrfToken() const header = new Headers(options.headers) @@ -92,7 +96,7 @@ export const apiClient = hc(env.VITE_API_URL, { return { "X-App-Version": PKG.version, "X-App-Dev": process.env.NODE_ENV === "development" ? "1" : "0", - "X-Csrf-Token": await getCsrfToken(), + "X-Csrf-Token": await getPromisedCsrfToken(), } }, }) From 94971dad4e1d828aa4c90d8f02445cc04a8500c9 Mon Sep 17 00:00:00 2001 From: Innei Date: Thu, 7 Nov 2024 23:00:11 +0800 Subject: [PATCH 2/2] fix: remove vercel header rewrite (#1463) (#1480) Signed-off-by: Innei --- vercel.json | 32 ++++---------------------------- 1 file changed, 4 insertions(+), 28 deletions(-) diff --git a/vercel.json b/vercel.json index e7447f635..c5d859c10 100644 --- a/vercel.json +++ b/vercel.json @@ -59,20 +59,8 @@ "source": "/vendor/(.*)", "headers": [ { - "key": "Cache-Control", - "value": "public, max-age=604800, immutable" - }, - { - "key": "CDN-Cache-Control", - "value": "max-age=604800" - }, - { - "key": "Vercel-CDN-Cache-Control", - "value": "max-age=604800" - }, - { - "key": "Cloudflare-CDN-Cache-Control", - "value": "max-age=604800" + "key": "Cache-Tag", + "value": "follow-assets" } ] }, @@ -80,20 +68,8 @@ "source": "/assets/(.*)", "headers": [ { - "key": "Cache-Control", - "value": "public, max-age=604800, immutable" - }, - { - "key": "CDN-Cache-Control", - "value": "max-age=604800" - }, - { - "key": "Vercel-CDN-Cache-Control", - "value": "max-age=604800" - }, - { - "key": "Cloudflare-CDN-Cache-Control", - "value": "max-age=604800" + "key": "Cache-Tag", + "value": "follow-assets" } ] }