b18ac25ccc
- FavoriteIcon (favorites-widget.tsx): dreistufiger Ersatzweg proxy ->
direct -> none; Buchstaben-Platzhalter liegt immer darunter. Direktbild
nur bei http/https-URL (getDirectFaviconSrc), referrerPolicy
no-referrer, kein Drittanbieter-Favicon-Dienst. key={iconUrl|url}
setzt die Stufe bei Aenderung zurueck; kein style.display-Hack mehr
- handleMove + Sortierpfeile im Bearbeitungsmodus (nur bei nicht-inline-
Bearbeitung): optimistische Neuberechnung, PUT /favorites/order ueber
reorderFavorites; erster/letzter Eintrag deaktiviert; Fehler ->
Neuladen mit Fehlermeldung
- favorites-api.ts: reorderFavorites(widgetId, ids)
- de.json/en.json: widgets.favorites.moveUpButton/moveDownButton
- 5 neue Widget-Tests (Ersatzbild-Kette, Nicht-http-URL, Pfeilzustand,
Klick, Fehlerpfad); 11 bestehende unveraendert gruen; volle Web-Suite
64 Dateien/429 Tests und type-check gruen
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>