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)
This commit is contained in:
ZacharyZhang-NY committed 2026-07-08 00:00:39 -04:00
1 parent 90c4be807e
commit 52937c6c88
4 files changed
+11 -32

No files matched your search

-21
View File
@@ -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
+5 -2
View File
@@ -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",
},
};
+1 -1
View File
@@ -2,7 +2,7 @@
export function IconMark({ size = 32 }: { size?: number }) {
return (
<img
src="/icon.png"
src="/icon.png?v=2"
alt=""
aria-hidden="true"
width={size}
+5 -8
View File
@@ -5,17 +5,14 @@
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
/images/*
Cache-Control: public, max-age=604800
/favicon.ico
Cache-Control: public, max-age=31536000, immutable
Cache-Control: public, max-age=86400
/icon.png
Cache-Control: public, max-age=31536000, immutable
Cache-Control: public, max-age=86400