Filipe hat die Verknuepfungen dreimal neu angelegt und sah trotzdem das
alte Symbol. Die Ursache lag nicht an den neuen Dateien - die werden
nachweislich korrekt ausgeliefert (36 von 36 live byteweise geprueft),
sondern an vier Altlasten:
/assets/img/favicon.png 256x256
/assets/img/apple-touch-icon.png 180x180
/assets/img/icon-192.png 192x192
/assets/img/icon-512.png 512x512
Die stammen aus der Zeit vor dem Umbau auf app-symbole/ und werden von
KEINER Seite mehr verlinkt - geprueft mit einer Suche ueber alle html,
js, json und webmanifest: nur noch sw.js und main.js nennen sie.
Aber Chrome hat sich das Favicon dieser Domain gemerkt, als favicon.png
noch verlinkt war, und gibt es nicht mehr her: Beim Anlegen einer
Verknuepfung nimmt Windows dieses alte Bild, egal was im HTML steht. Auf
Filipes Bildschirm trugen deshalb ZWEI verschiedene Verknuepfungen
dasselbe Symbol - das war der entscheidende Hinweis, denn zwei Apps mit
verschiedenen Manifesten koennen unmoeglich dasselbe Symbol haben.
Statt zu hoffen, dass ein Zwischenspeicher irgendwann aufgibt, tragen die
alten Adressen jetzt einfach dasselbe Bild wie die neuen. Damit ist es
egal, welche ein Programm nimmt.
Dazu im Service Worker: CACHE_NAME auf v2 hochgezaehlt - activate()
loescht dadurch den alten Zwischenspeicher samt altem Symbol. Und
SHELL_ASSETS zeigt nicht mehr auf die verwaisten icon-192/-512, sondern
auf die Adressen aus dem Manifest.
Co-Authored-By: Claude Opus 5 <[email protected]>
Recherche (developer.chrome.com, Lighthouse-Doku, Stand 2026): Chrome/Edge
zeigen "App installieren" bei gültigem Web App Manifest (name, icons inkl.
512x512, start_url, display:standalone) UND einem registrierten Service
Worker mit fetch()-Handler — reines Manifest reicht für den zuverlässigen
Install-Prompt nicht mehr aus.
- Neues manifest.json (Name, Theme-/Hintergrundfarbe passend zum dunklen
Design, Icons 192x192 + 512x512 aus dem bestehenden Husky-Favicon erzeugt)
- Neuer sw.js: minimaler Service Worker, primär für die Installierbarkeit,
cached nebenbei die wichtigsten Shell-Dateien (Network-first mit
Cache-Fallback, kein Offline-Vollausbau)
- main.js: registriert den Service Worker nur bei http(s) (nie bei
file://, damit die Seite laut Projektregel weiterhin per Doppelklick
ohne Server funktioniert — stiller Fallback statt Konsolenfehler)
- Alle 28 HTML-Seiten: <link rel="manifest"> + <meta name="theme-color">
im <head> ergänzt (identischer Ankerpunkt nach dem Favicon-Link geprüft
und automatisiert eingefügt)
Installation für Dogi: Seite in Chrome/Edge öffnen → Symbol rechts in der
Adressleiste ("App installieren") oder Menü ⋮ → "DogFather Universe
installieren" → landet als eigenes Fenster + Icon auf Desktop/Startmenü.