From 52937c6c888c185a60afc69fee3781b844d1df10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Wed, 8 Jul 2026 00:00:39 -0400 Subject: [PATCH] Fix stale favicon: version icon URLs and stop immutable-caching brand assets The old favicon/logo were pinned by `Cache-Control: immutable` (1 year), so browsers never refetched the new glass-bloom mark. - _headers: favicon.ico + icon.png now cache for a day (revalidating), not immutable; drop dead /screenshots + /assets rules; cache /images for a week - version icon references (?v=2) so existing immutable caches are busted now - add a modern PNG icon link (/icon.png) that browsers prefer over the .ico - remove the dead root _headers duplicate (only public/_headers ships) --- landing/_headers | 21 --------------------- landing/app/layout.tsx | 7 +++++-- landing/components/brand/icon-mark.tsx | 2 +- landing/public/_headers | 13 +++++-------- 4 files changed, 11 insertions(+), 32 deletions(-) delete mode 100644 landing/_headers diff --git a/landing/_headers b/landing/_headers deleted file mode 100644 index 6f1c4614..00000000 --- a/landing/_headers +++ /dev/null @@ -1,21 +0,0 @@ -/* - Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; font-src 'self' data:; img-src 'self' data:; connect-src 'self' https://cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none' - Permissions-Policy: camera=(), microphone=(), geolocation=() - Referrer-Policy: strict-origin-when-cross-origin - X-Content-Type-Options: nosniff - X-Frame-Options: DENY - -/screenshots/* - Cache-Control: public, max-age=31536000, immutable - -/assets/* - Cache-Control: public, max-age=31536000, immutable - -/_next/static/* - Cache-Control: public, max-age=31536000, immutable - -/favicon.ico - Cache-Control: public, max-age=31536000, immutable - -/icon.png - Cache-Control: public, max-age=31536000, immutable diff --git a/landing/app/layout.tsx b/landing/app/layout.tsx index f2089931..5a21de9f 100644 --- a/landing/app/layout.tsx +++ b/landing/app/layout.tsx @@ -93,8 +93,11 @@ export const metadata: Metadata = { follow: true, }, icons: { - icon: "/favicon.ico", - apple: "/icon.png", + icon: [ + { url: "/favicon.ico?v=2", sizes: "any", type: "image/x-icon" }, + { url: "/icon.png?v=2", type: "image/png" }, + ], + apple: "/icon.png?v=2", }, }; diff --git a/landing/components/brand/icon-mark.tsx b/landing/components/brand/icon-mark.tsx index f6cb410a..51b74507 100644 --- a/landing/components/brand/icon-mark.tsx +++ b/landing/components/brand/icon-mark.tsx @@ -2,7 +2,7 @@ export function IconMark({ size = 32 }: { size?: number }) { return (