fix(pwa): version icon filenames to -v3 and bust iOS Safari WebClip cache
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 593 B |
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 164 KiB |
@@ -11,31 +11,31 @@
|
||||
"theme_color": "#090A0F",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/family/mila-icon-192.png",
|
||||
"src": "/family/mila-icon-192-v3.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/family/mila-icon-192.png",
|
||||
"src": "/family/mila-icon-192-v3.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "/family/mila-icon-512.png",
|
||||
"src": "/family/mila-icon-512-v3.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/family/mila-icon-512.png",
|
||||
"src": "/family/mila-icon-512-v3.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "/family/mila-apple-touch-icon.png",
|
||||
"src": "/family/mila-apple-touch-icon-v3.png",
|
||||
"sizes": "180x180",
|
||||
"type": "image/png"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// Minimal service worker for Family PWAs (Mila & Moritz) with instant cache-bypassing navigation
|
||||
const CACHE_NAME = 'family-pwa-v2';
|
||||
const CACHE_NAME = 'family-pwa-v3';
|
||||
|
||||
self.addEventListener('install', (event) => {
|
||||
self.skipWaiting();
|
||||
|
||||
@@ -712,31 +712,31 @@ def generate_dashboard_html(engine: DatastoreEngine) -> str:
|
||||
"theme_color": "#090A0F",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/family/mila-icon-192.png",
|
||||
"src": "/family/mila-icon-192-v3.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/family/mila-icon-192.png",
|
||||
"src": "/family/mila-icon-192-v3.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "/family/mila-icon-512.png",
|
||||
"src": "/family/mila-icon-512-v3.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "any"
|
||||
},
|
||||
{
|
||||
"src": "/family/mila-icon-512.png",
|
||||
"src": "/family/mila-icon-512-v3.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png",
|
||||
"purpose": "maskable"
|
||||
},
|
||||
{
|
||||
"src": "/family/mila-apple-touch-icon.png",
|
||||
"src": "/family/mila-apple-touch-icon-v3.png",
|
||||
"sizes": "180x180",
|
||||
"type": "image/png"
|
||||
},
|
||||
@@ -768,12 +768,12 @@ def generate_dashboard_html(engine: DatastoreEngine) -> str:
|
||||
<meta name="msapplication-TileColor" content="#090A0F">
|
||||
|
||||
<link rel="manifest" href="/family/mila.webmanifest" crossorigin="use-credentials">
|
||||
<link rel="apple-touch-icon" href="/family/mila-apple-touch-icon.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/family/mila-apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/family/mila-icon-192.png">
|
||||
<link rel="icon" type="image/png" sizes="512x512" href="/family/mila-icon-512.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/family/mila-icon-32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/family/mila-icon-16.png">
|
||||
<link rel="apple-touch-icon" href="/family/mila-apple-touch-icon-v3.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/family/mila-apple-touch-icon-v3.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="/family/mila-icon-192-v3.png">
|
||||
<link rel="icon" type="image/png" sizes="512x512" href="/family/mila-icon-512-v3.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/family/mila-icon-32-v3.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/family/mila-icon-16-v3.png">
|
||||
<link rel="shortcut icon" href="/family/favicon.ico">
|
||||
<link rel="icon" href="/family/favicon.ico">
|
||||
<link rel="icon" type="image/svg+xml" href="/family/mila-icon.svg">
|
||||
@@ -807,7 +807,7 @@ def generate_dashboard_html(engine: DatastoreEngine) -> str:
|
||||
<div id="pwa-install-banner" class="hidden max-w-4xl mx-auto px-4 pt-3">
|
||||
<div class="flex items-center justify-between p-3 rounded-2xl bg-gradient-to-r from-purple-900/80 via-pink-900/50 to-zinc-900 border border-purple-500/40 shadow-xl backdrop-blur-md">
|
||||
<div class="flex items-center gap-3">
|
||||
<img src="/family/mila-icon-192.png" alt="Mila" class="w-9 h-9 rounded-xl object-cover shadow-md border border-purple-500/40">
|
||||
<img src="/family/mila-icon-192-v3.png" alt="Mila" class="w-9 h-9 rounded-xl object-cover shadow-md border border-purple-500/40">
|
||||
<div>
|
||||
<p class="text-xs font-bold text-white">Mila App installieren</p>
|
||||
<p class="text-[11px] text-zinc-300">Direkt auf dem Homescreen nutzen</p>
|
||||
@@ -844,7 +844,7 @@ def generate_dashboard_html(engine: DatastoreEngine) -> str:
|
||||
<div class="max-w-4xl mx-auto flex items-center justify-between">
|
||||
<div class="flex items-center gap-3">
|
||||
<div class="w-10 h-10 rounded-2xl bg-gradient-to-tr from-purple-600 via-pink-500 to-teal-400 p-0.5 shadow-lg shadow-purple-500/20 overflow-hidden flex items-center justify-center">
|
||||
<img src="/family/mila-icon-192.png" alt="Mila" class="w-full h-full object-cover rounded-[14px]">
|
||||
<img src="/family/mila-icon-192-v3.png" alt="Mila" class="w-full h-full object-cover rounded-[14px]">
|
||||
</div>
|
||||
<div>
|
||||
<div class="flex items-center gap-2">
|
||||
@@ -1400,13 +1400,18 @@ def publish_to_s3(html_content: str, data_dir: Optional[Path] = None) -> str:
|
||||
static_assets = [
|
||||
("mila.webmanifest", "application/manifest+json; charset=utf-8", "no-cache, no-store, must-revalidate"),
|
||||
("sw.js", "application/javascript; charset=utf-8", "no-cache, no-store, must-revalidate"),
|
||||
("mila-icon-192.png", "image/png", "public, max-age=604800"),
|
||||
("mila-icon-512.png", "image/png", "public, max-age=604800"),
|
||||
("mila-apple-touch-icon.png", "image/png", "public, max-age=604800"),
|
||||
("mila-icon-32.png", "image/png", "public, max-age=604800"),
|
||||
("mila-icon-16.png", "image/png", "public, max-age=604800"),
|
||||
("favicon.ico", "image/x-icon", "public, max-age=604800"),
|
||||
("mila-icon.svg", "image/svg+xml", "public, max-age=604800"),
|
||||
("mila-apple-touch-icon-v3.png", "image/png", "no-cache, must-revalidate, max-age=0"),
|
||||
("mila-icon-192-v3.png", "image/png", "no-cache, must-revalidate, max-age=0"),
|
||||
("mila-icon-512-v3.png", "image/png", "no-cache, must-revalidate, max-age=0"),
|
||||
("mila-icon-32-v3.png", "image/png", "no-cache, must-revalidate, max-age=0"),
|
||||
("mila-icon-16-v3.png", "image/png", "no-cache, must-revalidate, max-age=0"),
|
||||
("mila-apple-touch-icon.png", "image/png", "no-cache, must-revalidate, max-age=0"),
|
||||
("mila-icon-192.png", "image/png", "no-cache, must-revalidate, max-age=0"),
|
||||
("mila-icon-512.png", "image/png", "no-cache, must-revalidate, max-age=0"),
|
||||
("mila-icon-32.png", "image/png", "no-cache, must-revalidate, max-age=0"),
|
||||
("mila-icon-16.png", "image/png", "no-cache, must-revalidate, max-age=0"),
|
||||
("favicon.ico", "image/x-icon", "no-cache, must-revalidate, max-age=0"),
|
||||
("mila-icon.svg", "image/svg+xml", "no-cache, must-revalidate, max-age=0"),
|
||||
]
|
||||
|
||||
for fname, ctype, cache_ctrl in static_assets:
|
||||
|
||||
Reference in New Issue
Block a user