a5adff6196
feat: Zutaten im Listendialog dem BLS zuordnen
...
Deploy Development / deploy (push) Successful in 59s
Build Test / pytest-backend (push) Successful in 4s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 23s
Mapping-Status pro Zutat, Suche zuerst Listen und eigene Foods.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 14:38:42 +02:00
b37005be01
feat: Listen-Tab und sichtbare Zutatenlisten-Verwaltung
...
Deploy Development / deploy (push) Successful in 59s
Build Test / pytest-backend (push) Successful in 5s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 22s
Listen anlegen, bearbeiten und importieren liegt unter Ernährung.
Tagebuchzeilen werden auch mit Mengen-Prefix verknüpft.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 12:40:53 +02:00
3b46630a37
fix: Backend-Start nach Tandoor-Router-Import
...
Deploy Development / deploy (push) Successful in 1m4s
Build Test / pytest-backend (push) Successful in 4s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 22s
Future-annotations plus Limiter haben TandoorProbeIn unauflösbar gemacht.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 10:40:13 +02:00
d6838abda7
fix: Offene Lebensmittel nach Listen-Import wieder anzeigen
...
Deploy Development / deploy (push) Successful in 1m1s
Build Test / pytest-backend (push) Failing after 2s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 27s
Unmapped ohne Kreuzjoin, Listen-GET kurz, Rebuild im Hintergrund.
Tandoor-Zugang (URL/Token) in den Einstellungen mit ausliefern.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 10:36:08 +02:00
fa542e0fb9
feat: Listen-Dialog mit Mengen/Einheiten, Mitai ohne Kochrezepte
...
Deploy Development / deploy (push) Successful in 1m7s
Build Test / pytest-backend (push) Successful in 5s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 22s
Roh-Kombinationen statt Rezept-Sprache; Zutaten suchen, EL/TL/Prise auf Gramm. Gekochte Gerichte und Ausbeute bleiben Tandoor.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 18:23:01 +02:00
a7e5511039
feat: Rezepte beim Zuordnen anlegen und offene Zutaten listen
...
Deploy Development / deploy (push) Successful in 1m1s
Build Test / pytest-backend (push) Successful in 8s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 29s
Lebensmittel oder Rezept wählbar; gemappte Zutaten werden übernommen, offene erscheinen in der Liste. Dazu Fettgehalt-Suche, EPA-Stoffe, Rezept-CRUD und Wechsel bestehender Zuordnungen.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 16:59:24 +02:00
132a364a3a
feat: Zuordnen ohne Freeze und zuerst die letzten Wochen
...
Deploy Development / deploy (push) Successful in 1m6s
Build Test / pytest-backend (push) Successful in 5s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 29s
Katalogsuche und Bestätigen blockieren die UI nicht mehr; offene Namen starten bei den aktuellen Tagebucheinträgen, alter Ballast bleibt unter Alle.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 16:14:24 +02:00
c1873a47b1
fix: Zuordnungen zuverlässig speichern und Mengen-Varianten zusammenfassen
...
Deploy Development / deploy (push) Successful in 1m4s
Build Test / pytest-backend (push) Successful in 9s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 22s
Mapping bleibt erhalten, auch wenn der Nährwert-Rebuild länger dauert. Offene Liste führt 1 ml/2 ml Olivenöl als ein Lebensmittel. Dazu JSON-Sicherung, eigener Katalogeintrag und Gramm-pro-Einheit.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 15:49:14 +02:00
86f15e6957
feat: FDDB-Listen auflösen und Katalog nach Name suchen
...
Deploy Development / deploy (push) Successful in 1m9s
Build Test / pytest-backend (push) Successful in 5s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 22s
Tagebuchzeilen eigener Rezepte werden über den Listen-Import in Zutaten zerlegt. Zuordnen erfolgt im Namens-Popup statt per BLS-Code.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 15:31:20 +02:00
4b1be3019d
fix: FDDB-Zeilen im CSV-Import speichern und in Ernährung zeigen
...
Deploy Development / deploy (push) Successful in 1m12s
Build Test / pytest-backend (push) Successful in 5s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 23s
Bezeichnung/Menge auch ohne Vorlagen-Mapping, Zuordnen-Hinweis, Tagesliste mit Lebensmitteln.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 15:11:37 +02:00
a07a668de2
fix: BLS-Datenimport als Hintergrundjob gegen HTTP 504
...
Deploy Development / deploy (push) Successful in 1m10s
Build Test / pytest-backend (push) Successful in 5s
Build Test / lint-backend (push) Successful in 1s
Build Test / build-frontend (push) Successful in 24s
Prüfung und Apply laufen serverseitig, die UI pollt nur noch den Status.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 14:57:13 +02:00
8e964509d7
fix: BLS-Import-UI und Timeout beim Daten-Apply
...
Deploy Development / deploy (push) Successful in 1m30s
Build Test / pytest-backend (push) Successful in 9s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 21s
Datei-Button volle Breite, Import als Aktionsbutton, Batch-Upsert statt Einzel-INSERTs.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 14:49:47 +02:00
7ccae33844
fix: BLS-Import prüft bei Dateiauswahl, Import nur per Schalter
...
Deploy Development / deploy (push) Successful in 1m28s
Build Test / pytest-backend (push) Successful in 4s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 23s
Eine Datei pro Typ, sofortiger Dry-Run, Schalter startet den Write.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 14:43:59 +02:00
9bb89231d0
fix: BLS-Import mit einer Datei plus Prüfen/Anwenden
...
Deploy Development / deploy (push) Successful in 1m16s
Build Test / pytest-backend (push) Successful in 4s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 22s
Zwei unbeschriftete File-Inputs pro Dateityp wirkten wie doppelte Auswahl.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 14:41:42 +02:00
c90dabc032
fix: doppelte BLS-Admin-Imports in App.jsx entfernen
...
Deploy Development / deploy (push) Successful in 1m7s
Build Test / pytest-backend (push) Successful in 5s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 21s
Vite-Build auf Dev war wegen redeklarierter Seitenimporte fehlgeschlagen.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 14:37:54 +02:00
919c77fcf8
feat: BLS-Stammdaten, FDDB-Mapping und Item-Tagebuch ( #106 )
...
Deploy Development / deploy (push) Failing after 52s
Build Test / pytest-backend (push) Successful in 3s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Failing after 9s
Katalog, lernendes Mapping ohne KI, optionale Items und Import-Policy.
Playwright-Smoke und Issue-Audit um Ernährung/Zuordnen/API ergänzt.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 14:35:57 +02:00
72d101415f
fix: run activity import enforcement tests without pytest-asyncio
...
Deploy Development / deploy (push) Successful in 1m1s
Build Test / pytest-backend (push) Successful in 5s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 23s
CI container only installs pytest; use asyncio.run() for async route handlers.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-25 17:46:30 +02:00
ae7d0ac1d9
test: stabilize Playwright smoke and issue-audit against dev
...
Deploy Development / deploy (push) Successful in 1m11s
Build Test / pytest-backend (push) Failing after 5s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 22s
Fix nav selectors (Erfassen), shared auth via global-setup to avoid login rate limits, and desktop sidebar viewport handling.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-25 16:37:36 +02:00
79ec249bc3
feat: feature enforcement imports (#37/#38) and Universal CSV validation ( #71 )
...
Deploy Development / deploy (push) Successful in 1m9s
Build Test / pytest-backend (push) Failing after 5s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 24s
Activity and nutrition legacy CSV imports enforce tier limits with UsageBadge UI; Universal CSV gets mapping validation on copy/import, format-check parity, and structured error_details.
version: 0.9u
module: activity 1.2.1, nutrition 1.0.3, csv_import 0.4.0
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-24 16:59:12 +02:00