Fehler sind fuer den Nutzer unsichtbar: Provider loggen nur mit debugPrint #20

Closed
opened 2026-09-09 20:12:47 +00:00 by Aceless · 1 comment
Owner

Fast alle Provider-Methoden fangen Exceptions ab und schreiben nur ins Log:

} catch (e) {
  debugPrint('Fehler beim Hinzufuegen der Mahlzeit: $e');
}

Betroffen sind unter anderem:

  • MealPlanNotifier: loadWeek, addMealToPlan, addCustomMealToPlan, removeMealFromPlan, _ensurePlanForDate
  • RecipeNotifier: loadRecipes
  • SettingsNotifier: loadSettings, setWeekStartDay

Aus Nutzersicht passiert dann einfach nichts: Mahlzeit hinzufuegen bleibt wirkungslos, die Rezeptliste bleibt leer, ohne Hinweis auf einen Netzwerkfehler. In Release-Builds ist debugPrint ausserdem stumm.

SpacesState hat immerhin ein error-Feld - SpaceSelectionScreen zeigt es aber nirgends an. Faellt loadSpaces fehl, sieht der Nutzer "Keine Spaces gefunden" statt einer Fehlermeldung, und der Router laesst ihn wegen redirect auf /spaces auch nicht weiter. Dasselbe gilt fuer createSpace: schlaegt der Aufruf fehl, bleibt das Sheet ohne Rueckmeldung offen.

Vorschlag: Ein error-Feld in MealPlanState und RecipeState ergaenzen, im UI als SnackBar oder Inline-Fehler mit "Erneut versuchen" darstellen und in SpaceSelectionScreen spacesState.error auswerten.

Fast alle Provider-Methoden fangen Exceptions ab und schreiben nur ins Log: ```dart } catch (e) { debugPrint('Fehler beim Hinzufuegen der Mahlzeit: $e'); } ``` Betroffen sind unter anderem: - `MealPlanNotifier`: `loadWeek`, `addMealToPlan`, `addCustomMealToPlan`, `removeMealFromPlan`, `_ensurePlanForDate` - `RecipeNotifier`: `loadRecipes` - `SettingsNotifier`: `loadSettings`, `setWeekStartDay` Aus Nutzersicht passiert dann einfach nichts: Mahlzeit hinzufuegen bleibt wirkungslos, die Rezeptliste bleibt leer, ohne Hinweis auf einen Netzwerkfehler. In Release-Builds ist `debugPrint` ausserdem stumm. `SpacesState` hat immerhin ein `error`-Feld - `SpaceSelectionScreen` zeigt es aber nirgends an. Faellt `loadSpaces` fehl, sieht der Nutzer "Keine Spaces gefunden" statt einer Fehlermeldung, und der Router laesst ihn wegen `redirect` auf `/spaces` auch nicht weiter. Dasselbe gilt fuer `createSpace`: schlaegt der Aufruf fehl, bleibt das Sheet ohne Rueckmeldung offen. **Vorschlag:** Ein `error`-Feld in `MealPlanState` und `RecipeState` ergaenzen, im UI als SnackBar oder Inline-Fehler mit "Erneut versuchen" darstellen und in `SpaceSelectionScreen` `spacesState.error` auswerten.
Author
Owner

Behoben auf Branch frontend-improvements.

error-Feld in RecipeState und MealPlanState, neues ErrorBanner-Widget mit "Erneut" in Wochenplan, Tagesplan, Rezeptliste, Vorschlaegen und Space-Auswahl. Die Notifier werfen bei Schreibfehlern weiter.

Commits
  • 47edeeb Added Claude
  • 9b16a6e Einstellungen mit Ladebalken, url_launcher-Plugin-Registrierung
  • 8ad68a4 Settings erreichbar, Secrets sichern, Theme-Tokens, toter Code weg, Tests
  • bf204d3 Rezeptliste, Detail, Vorschlaege und Spaces ueberarbeiten
  • d85c681 Rezept-Editor: Absturz, stiller Datenverlust und Controller-Leaks beheben
  • d970fbe Provider-State korrigieren, Fehler sichtbar machen, Wochenlogik zentralisieren
  • 71e557d Start entkoppeln, API-Client haerten, Theme auf Tokens umstellen

flutter analyze: 0 Issues. flutter test: 22 Tests gruen.

Behoben auf Branch `frontend-improvements`. error-Feld in RecipeState und MealPlanState, neues ErrorBanner-Widget mit "Erneut" in Wochenplan, Tagesplan, Rezeptliste, Vorschlaegen und Space-Auswahl. Die Notifier werfen bei Schreibfehlern weiter. <details><summary>Commits</summary> - 47edeeb Added Claude - 9b16a6e Einstellungen mit Ladebalken, url_launcher-Plugin-Registrierung - 8ad68a4 Settings erreichbar, Secrets sichern, Theme-Tokens, toter Code weg, Tests - bf204d3 Rezeptliste, Detail, Vorschlaege und Spaces ueberarbeiten - d85c681 Rezept-Editor: Absturz, stiller Datenverlust und Controller-Leaks beheben - d970fbe Provider-State korrigieren, Fehler sichtbar machen, Wochenlogik zentralisieren - 71e557d Start entkoppeln, API-Client haerten, Theme auf Tokens umstellen </details> `flutter analyze`: 0 Issues. `flutter test`: 22 Tests gruen.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Aceless/RecipePlanner#20
No description provided.