Files
tessera-ctl/.planning/quick/261001-hbi-favoriten-logo-fuer-per-javascript-geset/261001-hbi-PLAN.md
T
schalli 2dd11b439d
Tessera CI/CD / Lint & Type Check (push) Successful in 49s
Tessera CI/CD / Tests (push) Successful in 1m28s
Tessera CI/CD / Desktop-Pakete bauen (push) Successful in 20s
Tessera CI/CD / Build & Publish Images (push) Successful in 3m18s
fix(favorites): Logo auch fuer Seiten, die es per JavaScript setzen
hosteurope.de liefert im HTML nur einen leeren data:-Platzhalter, das
echte Symbol setzt erst JavaScript; /favicon.ico antwortet mit HTML. Die
Kachel zeigte deshalb nur den Buchstaben. Scheitert das gespeicherte
Symbol, fragt getIconBytes jetzt einmal den DuckDuckGo-Symboldienst -
nur fuer oeffentlich erreichbare Seiten, interne Hostnamen verlassen das
Haus nicht; kennt der Dienst nichts (404), bleibt es beim Buchstaben.
Wirkt auch fuer bestehende Favoriten.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 12:28:32 +02:00

1.0 KiB

quick_id, description, date
quick_id description date
261001-hbi Favoriten: Logo fuer per JavaScript gesetzte Symbole 2026-10-01

Favoriten: Logo fuer per JavaScript gesetzte Symbole

Befund: https://www.hosteurope.de/ liefert im HTML nur <link rel="icon" href="data:;base64,=">; das echte Symbol (img1.wsimg.com/.../HostEurope.png) setzt erst JavaScript. /favicon.ico, /apple-touch-icon.png, /favicon.svg antworten 200 mit text/html. Die serverseitige Suche faellt auf /favicon.ico zurueck, der Abruf scheitert (kein Bild) → Buchstabe.

Task 1

  • IconDiscoveryService.fetchPublicServiceIconBytes(pageUrl): DuckDuckGo-Symboldienst (icons.duckduckgo.com/ip3/<host>.ico), NUR wenn die Seite oeffentlich ist (isPublicHttpUrl) — interne Hostnamen verlassen das Haus nicht; 404 fuer Unbekanntes → wirft → Buchstabe bleibt.
  • FavoritesService.getIconBytes: scheitert das gespeicherte Symbol, einmal den Dienst fragen, sonst 502 wie bisher. Repariert auch bestehende Favoriten ohne Neuanlage.
  • Tests in beiden Specs; CHANGELOG.