Serve PWA icons from fresh /icons/v2/ URLs with every iOS size
Publish Container / publish (push) Successful in 2m43s

iOS showed a letter tile ('N') when adding to the Home Screen. The live files were fine, but a
reverse proxy in front of the app serves static files with a long cache lifetime (live icon.svg
and sw.js were stale) and iOS remembers a failed icon per URL.

- New versioned URLs no proxy/phone has cached; old paths kept for existing installs
- apple-touch-icon declared at 180/167/152/120 (opaque 8-bit RGB PNGs) for app and dashboard
- 180px icon also listed in both manifests; notification icons and root fallbacks use v2
- Service worker cache bumped

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:22:05 -04:00
1 parent 19479daece
commit f21c91527c
29 files changed
+90 -35

No files matched your search

+14 -8
View File
@@ -18,25 +18,31 @@
],
"icons": [
{
"src": "/icons/icon-192.png",
"src": "/icons/v2/icon-192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icons/icon-512.png",
"src": "/icons/v2/apple-touch-icon-180.png",
"sizes": "180x180",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icons/v2/icon-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icons/icon-maskable-512.png",
"src": "/icons/v2/icon-maskable-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/icons/icon.svg",
"src": "/icons/v2/icon.svg",
"sizes": "any",
"type": "image/svg+xml",
"purpose": "any"
@@ -59,7 +65,7 @@
"url": "/?tab=conditions",
"icons": [
{
"src": "/icons/icon-192.png",
"src": "/icons/v2/icon-192.png",
"sizes": "192x192"
}
]
@@ -71,7 +77,7 @@
"url": "/?tab=station",
"icons": [
{
"src": "/icons/icon-192.png",
"src": "/icons/v2/icon-192.png",
"sizes": "192x192"
}
]
@@ -83,7 +89,7 @@
"url": "/?tab=unified-map",
"icons": [
{
"src": "/icons/icon-192.png",
"src": "/icons/v2/icon-192.png",
"sizes": "192x192"
}
]
@@ -95,7 +101,7 @@
"url": "/?tab=alerts",
"icons": [
{
"src": "/icons/icon-192.png",
"src": "/icons/v2/icon-192.png",
"sizes": "192x192"
}
]