From ce8cfa6702f230553e5462a716ef314da9a8e983 Mon Sep 17 00:00:00 2001 From: Felarof Date: Fri, 20 Feb 2026 16:36:13 -0800 Subject: [PATCH] fix: prevent browser caching of Klavis MCP servers list Existing users weren't seeing new MCP servers after OTA updates because the /klavis/servers endpoint had no Cache-Control headers, allowing the browser to serve stale cached responses. - Add Cache-Control: no-store header to /klavis/servers endpoint - Add cache: 'no-store' to the frontend fetch request - Add revalidateOnFocus: true to SWR hook (matching useGetUserMCPIntegrations) Co-Authored-By: Claude Opus 4.6 --- .../entrypoints/app/connect-mcp/useGetMCPServersList.tsx | 5 ++++- apps/server/src/api/routes/klavis.ts | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/agent/entrypoints/app/connect-mcp/useGetMCPServersList.tsx b/apps/agent/entrypoints/app/connect-mcp/useGetMCPServersList.tsx index 3b748160..bc78dcbf 100644 --- a/apps/agent/entrypoints/app/connect-mcp/useGetMCPServersList.tsx +++ b/apps/agent/entrypoints/app/connect-mcp/useGetMCPServersList.tsx @@ -10,7 +10,9 @@ interface McpServerResponse { } const getAllManagedServers = async ([hostUrl]: [hostUrl: string]) => { - const response = await fetch(`${hostUrl}/klavis/servers`) + const response = await fetch(`${hostUrl}/klavis/servers`, { + cache: 'no-store', + }) const servers = (await response.json()) as McpServerResponse return servers } @@ -23,6 +25,7 @@ export const useGetMCPServersList = () => { getAllManagedServers, { keepPreviousData: true, + revalidateOnFocus: true, }, ) } diff --git a/apps/server/src/api/routes/klavis.ts b/apps/server/src/api/routes/klavis.ts index 2c43de61..9c2bb08d 100644 --- a/apps/server/src/api/routes/klavis.ts +++ b/apps/server/src/api/routes/klavis.ts @@ -49,6 +49,7 @@ export function createKlavisRoutes(deps: KlavisRouteDeps) { // Chain route definitions for proper Hono RPC type inference return new Hono() .get('/servers', (c) => { + c.header('Cache-Control', 'no-store') return c.json({ servers: OAUTH_MCP_SERVERS, count: OAUTH_MCP_SERVERS.length,