diet-guard/app/test
Krzysztof kuhy Rudnicki f83938bfe3 app: minute-of-day slots (phase 2 of 3: every app consumer)
- FoodEntry.slot -> slotMinute: read via entrySlotMinute, written via
  slotFields (whole-hour stays byte-identical, else slot_min), kept by
  copyWithDeleted and the edit screen, so the phone never republishes a
  stripped copy of a PC entry. Out-of-range peer values echo, never throw.
- Satisfaction is nearest-slot snapping (satisfiedSlots) everywhere:
  loggedSlotsToday, due check, kuchnia occupancy, future-day logged set
  (that day's schedule), slot selector. Schedule edits no longer un-log.
- Future pre-log builds DateTime from slot ~/ 60, slot % 60.
- Schedule history + sync go through scheduleToWire/scheduleFromWire.
- Notifications: ids are slot minutes; syncToSlots cancels whatever the
  platform reports active (getActiveNotifications, reminder channel) that
  is not due, covering legacy hour ids; full 0..1439 sweep only if the
  lookup throws.
- Settings: 15-minute dropdowns + "Custom..." (24h showTimePicker), off-grid
  values always selectable, counts capped by grid capacity; editor moved
  to widgets/meal_schedule_editor.dart + meal_time_dropdown.dart.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015npsYVB2PdtWkG7MPAi4tn
2026-10-10 19:55:26 +02:00
..
desktop Split the remaining seven Dart test files 2026-08-15 20:53:55 +02:00
models app: minute-of-day slots (phase 2 of 3: every app consumer) 2026-10-10 19:55:26 +02:00
screens app: minute-of-day slots (phase 2 of 3: every app consumer) 2026-10-10 19:55:26 +02:00
services app: minute-of-day slots (phase 2 of 3: every app consumer) 2026-10-10 19:55:26 +02:00
widgets app: minute-of-day slots (phase 2 of 3: every app consumer) 2026-10-10 19:55:26 +02:00
fake_notifications.dart app: minute-of-day slots (phase 2 of 3: every app consumer) 2026-10-10 19:55:26 +02:00
fake_secure_storage.dart Add Flutter half of cross-device sync (Milestone 3) 2026-06-22 22:42:27 +02:00
fill_all_row_test.dart Update app/diet_guard (17 files) 2026-10-10 13:49:58 +02:00
firebase_backend_google_test.dart Split the last four Dart lib files; file-length gate now reports zero 2026-08-15 21:07:24 +02:00
google_platform_test.dart Add Google sign-in support for the Firebase sync account 2026-08-12 23:36:10 +02:00
google_sign_in_backend_test.dart Add Google sign-in support for the Firebase sync account 2026-08-12 23:36:10 +02:00
keyboard_operability_test.dart Stop two keyboard tests hanging, and make the CI mirror mirror CI 2026-08-04 21:50:15 +02:00
kuchnia_bank_interop_test.dart fix: keep the catering dish queue alive across a submit 2026-08-22 23:36:53 +02:00
kuchnia_fill_cancel_test.dart Update app/diet_guard (17 files) 2026-10-10 13:49:58 +02:00
kuchnia_fill_flow_test.dart app: minute-of-day slots (phase 2 of 3: every app consumer) 2026-10-10 19:55:26 +02:00
kuchnia_fill_parity_test.dart app: minute-of-day slots (phase 2 of 3: every app consumer) 2026-10-10 19:55:26 +02:00
kuchnia_fill_support.dart app: minute-of-day slots (phase 2 of 3: every app consumer) 2026-10-10 19:55:26 +02:00
kuchnia_fill_test.dart app: minute-of-day slots (phase 2 of 3: every app consumer) 2026-10-10 19:55:26 +02:00
kuchnia_parity_test.dart slots: minute-of-day contract (phase 1 of 3: pure model + shared fixture) 2026-10-10 19:22:43 +02:00
repo_invariants_test.dart Re-point paths for the ~ reorganisation (home-tidy) 2026-09-11 19:53:03 +02:00
sync_merge_kuchnia_test.dart feat: carry the catering credential to the phone 2026-08-23 08:25:27 +02:00
widget_test.dart app: run the companion app's desktop target as a web build 2026-07-20 16:31:32 +02:00