From 4f693a66fdc38d7911990bf97f25620b98af9528 Mon Sep 17 00:00:00 2001 From: Michael DiLeo Date: Sun, 7 Dec 2025 18:48:48 +0100 Subject: [PATCH] fix favicon, cloudflare script blocking, error in js on startup --- nginx.conf | 9 +++++++++ public/about.html | 1 + public/assets/logos/favicon.png | Bin 0 -> 23714 bytes public/index.html | 1 + public/site-scripts/theme-toggle.js | 3 --- 5 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 public/assets/logos/favicon.png diff --git a/nginx.conf b/nginx.conf index 1247922..3f3094c 100644 --- a/nginx.conf +++ b/nginx.conf @@ -40,6 +40,15 @@ http { add_header X-Content-Type-Options "nosniff" always; add_header X-XSS-Protection "1; mode=block" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always; + add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' https://static.cloudflareinsights.com; object-src 'none';" always; + + # Favicon: serve at standard /favicon.ico location + location = /favicon.ico { + alias /usr/share/nginx/html/assets/logos/favicon.png; + expires 7d; + add_header Cache-Control "public, max-age=604800"; + access_log off; + } # Logo assets: 1 hour cache location ~* ^/assets/logos/ { diff --git a/public/about.html b/public/about.html index 5b21c27..bbffe62 100644 --- a/public/about.html +++ b/public/about.html @@ -4,6 +4,7 @@ + Keyboard Vagabond - About diff --git a/public/assets/logos/favicon.png b/public/assets/logos/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..6a5b453dbd36effd5ac96e7e578f43ea1a2b01c3 GIT binary patch literal 23714 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 N002ovPDHLkV1i%5mFxfj literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html index 5a17e3a..b80c420 100644 --- a/public/index.html +++ b/public/index.html @@ -5,6 +5,7 @@ + Keyboard Vagabond - Fediverse for Digital Nomads diff --git a/public/site-scripts/theme-toggle.js b/public/site-scripts/theme-toggle.js index ff286b1..4fe12d8 100644 --- a/public/site-scripts/theme-toggle.js +++ b/public/site-scripts/theme-toggle.js @@ -40,10 +40,7 @@ applyTheme(storedTheme); - themeToggle.addEventListener('click', toggleTheme); - window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { - // Only apply theme if user hasn't made an explicit choice const storedTheme = getStoredTheme(); if (storedTheme === 'auto') { applyTheme();