From f30a6c1dda0b55bd0aa755fdab3f5d75465762ba Mon Sep 17 00:00:00 2001 From: Ray Ploski Date: Fri, 14 Aug 2026 07:18:27 -0700 Subject: [PATCH] fix(web): serve public static assets on self-hosted deployments --- apps/web/__tests__/unit/proxy-self-hosted.test.ts | 6 ++++++ apps/web/proxy.ts | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/web/__tests__/unit/proxy-self-hosted.test.ts b/apps/web/__tests__/unit/proxy-self-hosted.test.ts index ad20bffdb38..5ee2e010430 100644 --- a/apps/web/__tests__/unit/proxy-self-hosted.test.ts +++ b/apps/web/__tests__/unit/proxy-self-hosted.test.ts @@ -3,6 +3,12 @@ import { join } from "node:path"; import { describe, expect, it } from "vitest"; describe("self-hosted proxy routes", () => { + it("does not send public assets through the self-hosted login redirect", () => { + const source = readFileSync(join(process.cwd(), "proxy.ts"), "utf8"); + expect(source).toContain("svg"); + expect(source).toContain("woff2?"); + }); + it("allows browser-based CLI authorization pages", () => { const source = readFileSync(join(process.cwd(), "proxy.ts"), "utf8"); expect(source).toContain('path.startsWith("/cli/")'); diff --git a/apps/web/proxy.ts b/apps/web/proxy.ts index d5983c84dd6..4e951343e0a 100644 --- a/apps/web/proxy.ts +++ b/apps/web/proxy.ts @@ -132,6 +132,6 @@ export async function proxy(request: NextRequest) { export const config = { matcher: [ - "/((?!api|_next/static|_next/image|favicon.ico|robots.txt|sitemap.xml).*)", + "/((?!api|_next/static|_next/image|favicon.ico|robots.txt|sitemap.xml|.*\\.(?:avif|css|gif|ico|jpe?g|js|map|mp3|mp4|png|svg|webmanifest|webp|woff2?)).*)", ], };