All checks were successful
CI / ci (push) Successful in 3m37s
All-day events live at UTC midnight, so a raw "1 day before" reminder fires at an off hour (02:00 local in CEST) rather than the morning. Add a global "all-day reminder time" setting (default 09:00) and encode it into the provider MINUTES offset so the reminder lands at the chosen wall-clock time the day before instead. - AllDayReminderEncoding: pure to/from provider-minutes helpers, keeping the form/UI/diff in whole-day "semantic" minutes and converting only at the Reminders read/write boundary (insertEvent, reconcileReminders, EventDetailMapper). Covers DST, negative offsets, and pre-existing rows. - SettingsPrefs.allDayReminderTimeMinutes (default 540) threaded from the repository into the data-source write paths. - Settings: a time-picker row, plus a shared TimePickerAlert lifted from the event editor. - Fix the time picker's 12/24-hour detection: honour an explicit system override, else fall back to the device locale rather than the app's per-app language, so it matches the rest of the device. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>