Filter lassen sich nicht zuruecksetzen: copyWith mit ?? auf nullable Feldern #6
Labels
No labels
bug
critical
database
duplicate
enhancement
help wanted
invalid
performance
question
refactoring
security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Aceless/RecipePlanner#6
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
In
RecipeState.copyWith:nullbedeutet hier "nicht aendern", nicht "loeschen". Damit sind mehrere Aufrufe wirkungslos:clearFilters()setzt beide aufnull-> alter Wert bleibt erhaltensetFilterMealType(null)beim Abwaehlen eines FilterChips -> Filter bleibt aktiv_handleSpaceChangesetzt beim Space-WechselfilterMealType: null-> Filter des alten Space wandert mitReproduktion: Filter "Mittagessen" waehlen, denselben Chip erneut antippen. Der Chip wirkt abgewaehlt, die Liste bleibt gefiltert. Gleiches gilt fuer den Button "Filter zuruecksetzen".
Dasselbe Muster betrifft:
MealPlanState.copyWith-currentWeekPlanlaesst sich nicht aufnullsetzenSpacesState.copyWith-currentSpacelaesst sich nicht aufnullsetzenVorschlag: Sentinel-Muster verwenden (
Object? field = _sentinel) oderclearFiltersohnecopyWithbauen.Dateien:
app/lib/providers/recipe_provider.dart:32-50,173-180,app/lib/providers/meal_plan_provider.dart:28-40,app/lib/providers/spaces_provider.dart:25-37Behoben auf Branch
frontend-improvements.copyWith nutzt jetzt den unset-Sentinel aus lib/util/copy_with.dart. Betrifft RecipeState, MealPlanState, SpacesState und AuthState. Durch Tests in test/copy_with_test.dart abgedeckt.
Commits
47edeebAdded Claude9b16a6eEinstellungen mit Ladebalken, url_launcher-Plugin-Registrierung8ad68a4Settings erreichbar, Secrets sichern, Theme-Tokens, toter Code weg, Testsbf204d3Rezeptliste, Detail, Vorschlaege und Spaces ueberarbeitend85c681Rezept-Editor: Absturz, stiller Datenverlust und Controller-Leaks behebend970fbeProvider-State korrigieren, Fehler sichtbar machen, Wochenlogik zentralisieren71e557dStart entkoppeln, API-Client haerten, Theme auf Tokens umstellenflutter analyze: 0 Issues.flutter test: 22 Tests gruen.