- Mindestbestand pro Liste/Produkt/Einheit (Tabelle stock_minimums): fällt
der Vorrat darunter, füllt der Server die Einkaufsliste genau bis zur
fehlenden Menge auf (nach Ändern, Aufgebraucht, Löschen, Setzen)
- Laden-Kategorien (kategorien.py): automatische Zuordnung über Stichwörter
(längstes Stichwort gewinnt), änderbar in der Zeile und im
Vorschläge-Dialog; Einkaufsliste "A–Z" oder "Nach Laden" gruppiert;
Reihenfolge der Abteilungen pro Liste
- Rezeptsammlung (Tabelle recipes): "☆ Merken" beim Abgleich, "Was kann ich
kochen?" sortiert gemerkte Rezepte nach vorhandenen Zutaten (Salz & Co.
zählen nicht, nur sichtbare Produkte), vollständiger Abgleich per Klick
- Migration Schritt 3 (Kategorien für bestehende Produkte); _add_column für
Tabellen, die SCHEMA in alten Datenbanken schon neu angelegt hat
- Tests in test_vorrat_extras.py
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Migration Schritt 2: Lese-/Schreibfehler (z. B. Dateirechte) und kaputte
Bilder werden protokolliert und übersprungen, statt den Serverstart
abzubrechen
- bilder.py: alle Pillow-Fehler werden zu einer Eingabe-Fehlermeldung bzw.
"keine Metadaten" statt zu Fehler 500
- Test mit schreibgeschütztem und kaputtem Bild
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Uploads: Server entfernt EXIF/XMP/Text (GPS-Standort, Kamera, Uhrzeit)
per Pillow; Drehung von Hochkant-Fotos wird vorher angewendet, Farbprofil
bleibt; GIFs unverändert (neue Abhängigkeit pillow)
- Produktvorschläge pro Liste (Tabelle list_products): Einträge privater
Listen tauchen bei anderen weder in Vorschlägen noch beim Rezeptabgleich
auf; "Vorschläge verwalten" löscht nur aus eigenen sichtbaren Listen
- Artikel: Bilder nur noch aus den eigenen Uploads (kein Tracking-Pixel
fremder Server); Bereinigung in htmlclean.py
- /api/docs und /api/openapi.json nur noch im Entwicklungsmodus
(RELOAD=1 oder P42_API_DOCS=1)
- Migration Schritt 2: bestehende Vorschläge den Listen zuordnen, Artikel
neu bereinigen, gespeicherte Bilder mit Metadaten säubern
- Tests in test_datenschutz.py (u. a. Rezept-Zuordnung, Umstellung)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>