feat(todo): Settings' Tasks and Reminders, with Snooze on a reminder (ADR 0033, D4)
Settings gains Todo's own groups, kept in the person's sealed settings row on every device. Tasks: the weekday weeks start on (the language's unless set), which the week strip, the date and repeat pickers and the filters follow; and whether a recurring task done opens its sub-tasks again (on at first). Reminders: an automatic reminder (none at first) that TaskRepository writes into a task gaining a time without reminders of its own, and how long a reminder is snoozed for (15 minutes at first). Each reminder's notification has a Snooze action on Android and Linux: the reminder comes back that much later under an ID of its own, scheduled from what the notification carries, so on Android with the app closed too (the plugin's ActionBroadcastReceiver declared); the plan of the person's reminders leaves snoozed ones alone. iOS, macOS and Windows get it later. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
2939437c74
commit
51ebed41cd
1 changed files with 1204 additions and 69 deletions
|
|
@ -79,7 +79,24 @@ the rail, a wash of strawberry, settings grouped as theirs. What the screenshots
|
|||
before a timed task, snoozing), the account near the foot (halkyon_app's
|
||||
`AccountTiles`, `SimpleLoginSection`, `AccountSecuritySection`), What's new and About
|
||||
Halkyon Todo last, the version small below them. Groups come as their settings are
|
||||
built; none is shown empty.
|
||||
built; none is shown empty. **Tasks and Reminders** (as built, 1 Nov, the developer's
|
||||
"as much as possible without my input"), kept in the person's sealed settings row
|
||||
(`todo_settings`, D17), so on every device: *Start the week on* (the language's
|
||||
unless set; the week strip, the date picker's next week, the filters' this week and
|
||||
the repeat picker follow it, `firstWeekdayOf`); *Reset sub-tasks* (on at first, as
|
||||
Todoist's; off, a recurring task done leaves its sub-tasks done); *Automatic reminder*
|
||||
(none at first, so that nothing reminds a person who didn't ask; at the time, or 5 to
|
||||
60 minutes before): a task gaining a time, added so or given one, without reminders of
|
||||
its own gets it, written into the task where the person sees and may remove it, and a
|
||||
task that already had a time keeps what the person left it (`TaskRepository`, every
|
||||
way of giving a time at once); *When snoozed* (15 minutes at first; 5 to 60): each
|
||||
reminder's notification has a Snooze action, the reminder coming back that much later
|
||||
under an ID of its own, scheduled from what the notification carries (`snooze.dart`),
|
||||
so on Android with the app closed too (`snoozeInBackground`, the plugin's
|
||||
`ActionBroadcastReceiver` declared), and on Linux by the running app, as its reminders;
|
||||
the plan of the person's reminders leaves the snoozed ones alone. iOS and macOS
|
||||
register a notification's actions once, as the app starts and before its texts are
|
||||
known, and Windows answers an action by starting the app: Snooze comes there later.
|
||||
- **D5 Todo's rows are sealed, always, as Train's (ADR 0030, D7, D15)**, synced with
|
||||
`serverpod_offline_sync`: every payload ADR 0017's sealed content under the person's
|
||||
data key (`content_key`, halkyon_app's `PayloadEnvelope`), nothing readable in a column,
|
||||
|
|
|
|||
Loading…
Reference in a new issue