From 5ee1e5745e1d2ce749486ab53acdda9470675cd5 Mon Sep 17 00:00:00 2001 From: tianma-if Date: Thu, 17 Sep 2026 23:47:42 +0800 Subject: [PATCH] fix(web): ignore leftover desktop instance URL in the browser --- apps/web/src/lib/api.test.mjs | 8 ++++++++ apps/web/src/lib/api.ts | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/web/src/lib/api.test.mjs b/apps/web/src/lib/api.test.mjs index 2891d2b4..8908756b 100644 --- a/apps/web/src/lib/api.test.mjs +++ b/apps/web/src/lib/api.test.mjs @@ -147,6 +147,14 @@ describe("desktop instance setup", () => { window.edgeeverDesktop.apiBaseUrl = ""; }); + test("ignores a leftover desktop instance URL in the browser", () => { + storage.set(DESKTOP_API_BASE_URL_STORAGE_KEY, "https://example.workers.dev"); + window.edgeeverDesktop.isAvailable = false; + expect(getConfiguredDesktopApiBaseUrl()).toBe(""); + window.edgeeverDesktop.isAvailable = true; + expect(getConfiguredDesktopApiBaseUrl()).toBe("https://example.workers.dev"); + }); + test("preserves the desktop token when refreshing the same authenticated session", async () => { await cacheDesktopSession({ authRequired: true, diff --git a/apps/web/src/lib/api.ts b/apps/web/src/lib/api.ts index 580b57ed..94e77e7f 100644 --- a/apps/web/src/lib/api.ts +++ b/apps/web/src/lib/api.ts @@ -102,14 +102,14 @@ export const clearCachedDesktopSession = () => { }; export const getConfiguredDesktopApiBaseUrl = () => { - if (typeof window === "undefined") return ""; + if (typeof window === "undefined" || !window.edgeeverDesktop?.isAvailable) return ""; try { const savedUrl = (window.localStorage.getItem(DESKTOP_API_BASE_URL_STORAGE_KEY) ?? "").trim(); if (savedUrl) return savedUrl.replace(/\/$/, ""); } catch {} - const bridgeUrl = (window.edgeeverDesktop?.apiBaseUrl ?? "").trim(); + const bridgeUrl = (window.edgeeverDesktop.apiBaseUrl ?? "").trim(); return bridgeUrl.replace(/\/$/, ""); };