Dashboard pages: iOS icon + Home Screen title everywhere; root icon fallbacks
Publish Container / publish (push) Successful in 2m11s

- setup/recover/settings pages now declare the dashboard touch icon and 'Station' title
- /apple-touch-icon.png, /apple-touch-icon-precomposed.png and /favicon.ico serve real icons
  (iOS falls back to these when a page declares none; they used to 404/204)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Nate EmmertandClaude Sonnet 5.5 committed 2026-10-15 14:15:19 -04:00
1 parent 023e6cb03c
commit 19479daece
5 files changed
+17 -3

No files matched your search

+1
View File
@@ -7,6 +7,7 @@
<link rel="manifest" href="/dashboard.webmanifest"> <link rel="manifest" href="/dashboard.webmanifest">
<link rel="icon" type="image/png" sizes="192x192" href="/icons/dashboard-icon-192.png"> <link rel="icon" type="image/png" sizes="192x192" href="/icons/dashboard-icon-192.png">
<link rel="apple-touch-icon" href="/icons/dashboard-apple-touch-icon.png"> <link rel="apple-touch-icon" href="/icons/dashboard-apple-touch-icon.png">
<meta name="apple-mobile-web-app-title" content="Station">
<link rel="icon" type="image/png" sizes="192x192" href="/icons/dashboard-icon-192.png"> <link rel="icon" type="image/png" sizes="192x192" href="/icons/dashboard-icon-192.png">
<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
+4
View File
@@ -5,6 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"> <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<link rel="manifest" href="/dashboard.webmanifest">
<link rel="icon" type="image/png" sizes="192x192" href="/icons/dashboard-icon-192.png">
<link rel="apple-touch-icon" href="/icons/dashboard-apple-touch-icon.png">
<meta name="apple-mobile-web-app-title" content="Station">
<link rel="stylesheet" href="/pwa-safe.css"> <link rel="stylesheet" href="/pwa-safe.css">
<title>Station Dashboard — Recover Access</title> <title>Station Dashboard — Recover Access</title>
<style> <style>
+4
View File
@@ -5,6 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"> <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<link rel="manifest" href="/dashboard.webmanifest">
<link rel="icon" type="image/png" sizes="192x192" href="/icons/dashboard-icon-192.png">
<link rel="apple-touch-icon" href="/icons/dashboard-apple-touch-icon.png">
<meta name="apple-mobile-web-app-title" content="Station">
<link rel="stylesheet" href="/pwa-safe.css"> <link rel="stylesheet" href="/pwa-safe.css">
<title>Station Settings</title> <title>Station Settings</title>
<style> <style>
+4
View File
@@ -5,6 +5,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"> <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<link rel="manifest" href="/dashboard.webmanifest">
<link rel="icon" type="image/png" sizes="192x192" href="/icons/dashboard-icon-192.png">
<link rel="apple-touch-icon" href="/icons/dashboard-apple-touch-icon.png">
<meta name="apple-mobile-web-app-title" content="Station">
<link rel="stylesheet" href="/pwa-safe.css"> <link rel="stylesheet" href="/pwa-safe.css">
<title>Station Dashboard — Create Account</title> <title>Station Dashboard — Create Account</title>
<style> <style>
+4 -3
View File
@@ -637,9 +637,10 @@ app.use('/', (req, res, next) => {
app.use(express.static(path.join(__dirname, 'public'))); app.use(express.static(path.join(__dirname, 'public')));
// Prevent browser favicon requests from showing noisy 404s. // Prevent browser favicon requests from showing noisy 404s.
app.get('/favicon.ico', (_req, res) => { // Icons iOS and browsers request from the site root when a page doesn't declare one
res.status(204).end(); const ICON_DIR = path.join(__dirname, 'public', 'icons');
}); app.get(['/apple-touch-icon.png', '/apple-touch-icon-precomposed.png'], (_req, res) => res.sendFile(path.join(ICON_DIR, 'apple-touch-icon.png')));
app.get('/favicon.ico', (_req, res) => res.sendFile(path.join(ICON_DIR, 'icon-192.png')));
// Geocoding proxy // Geocoding proxy
app.get('/api/geocode', async (req, res) => { app.get('/api/geocode', async (req, res) => {