Reminders set in Agendula now go to the server as VALARMs, and alarms set
in other clients (Apple Reminders, Thunderbird, tasks.org) become
reminders here.
- AlarmCodec claims only alarms Agendula can fire as written; Apple
default and location alarms, repeating alarms and snoozes stay in the
residue and round-trip untouched.
- An unchanged alarm is re-emitted verbatim; an edited one is authored
fresh under its existing uid.
- Default reminders are stored on the task when it first gets a due
date, and swap with the timed/all-day default while still untouched.
- Removing a task's alarms elsewhere turns its reminders off here
instead of falling back to the default.
- DB v3: alarm uid and raw VALARM, reminders_off; the migration lifts
claimable alarms out of the residue and queues a one-time upload for
tasks with local-only reminders on writable lists.
- Series reminder edits reach occurrences that still had the old ones.
- .ics import keeps VALARMs as reminders.