diff --git a/firebase/firebase.json b/firebase/firebase.json index 9e6c256..2486f2f 100644 --- a/firebase/firebase.json +++ b/firebase/firebase.json @@ -19,20 +19,35 @@ ], "headers": [ { - "source": "**", + "source": "/index.html", "headers": [ - { "key": "Cache-Control", "value": "no-cache" }, - { "key": "X-Robots-Tag", "value": "noindex, nofollow" }, - { "key": "X-Frame-Options", "value": "DENY" }, - { "key": "X-Content-Type-Options", "value": "nosniff" }, - { "key": "Referrer-Policy", "value": "strict-origin-when-cross-origin" }, - { "key": "Permissions-Policy", "value": "camera=(), microphone=(), geolocation=(), payment=(), usb=()" } + { "key": "Cache-Control", "value": "no-store, no-cache, must-revalidate, max-age=0" }, + { "key": "Pragma", "value": "no-cache" } ] }, { - "source": "**/*.@(mjs|css|woff|woff2|ttf|otf|jpg|jpeg|gif|png|svg|webp|ico|avif)", + "source": "/sw.js", "headers": [ - { "key": "Cache-Control", "value": "public, max-age=31536000, immutable" } + { "key": "Cache-Control", "value": "no-store, no-cache, must-revalidate, max-age=0" }, + { "key": "Service-Worker-Allowed", "value": "/" } + ] + }, + { + "source": "/registerSW.js", + "headers": [ + { "key": "Cache-Control", "value": "no-store, no-cache, must-revalidate, max-age=0" } + ] + }, + { + "source": "/workbox-*.js", + "headers": [ + { "key": "Cache-Control", "value": "no-store, no-cache, must-revalidate, max-age=0" } + ] + }, + { + "source": "/manifest.webmanifest", + "headers": [ + { "key": "Cache-Control", "value": "no-store, no-cache, must-revalidate, max-age=0" } ] }, { @@ -40,6 +55,23 @@ "headers": [ { "key": "Cache-Control", "value": "public, max-age=31536000, immutable" } ] + }, + { + "source": "**/*.@(mjs|css|woff|woff2|ttf|otf|jpg|jpeg|gif|png|svg|webp|ico|avif)", + "headers": [ + { "key": "Cache-Control", "value": "public, max-age=31536000, immutable" } + ] + }, + { + "source": "**", + "headers": [ + { "key": "Cache-Control", "value": "no-store, no-cache, must-revalidate, max-age=0" }, + { "key": "X-Robots-Tag", "value": "noindex, nofollow" }, + { "key": "X-Frame-Options", "value": "DENY" }, + { "key": "X-Content-Type-Options", "value": "nosniff" }, + { "key": "Referrer-Policy", "value": "strict-origin-when-cross-origin" }, + { "key": "Permissions-Policy", "value": "camera=(), microphone=(), geolocation=(), payment=(), usb=()" } + ] } ] } diff --git a/src/app/app-bar.tsx b/src/app/app-bar.tsx index e976bf4..9cf0c03 100644 --- a/src/app/app-bar.tsx +++ b/src/app/app-bar.tsx @@ -30,7 +30,13 @@ function AppBar() { const bar = useAppBar(); return (
-
+ {/* + `min-w-0` on the flex container plus `min-w-0` on the wrap-able + middle slot lets long content (commit subjects, branch chips) shrink + instead of pushing the right cluster off-screen when the viewport + is dragged from desktop down to mobile width without a full reload. + */} +
{(back) => ( @@ -38,7 +44,7 @@ function AppBar() { @@ -49,7 +55,10 @@ function AppBar() { )} -