docs(quick-260607-l6l): summary, state, handoff update + reminder-options todo

- 260607-l6l SUMMARY (executor + orchestrator review follow-ups)
- STATE.md: quick-task row + session continuity (edit/delete blocker resolved)
- HANDOFF.json: 3 write-path code bugs marked done; remaining = operator rebuild + Gate 2 human/device checkpoints
- new backlog todo: event-creation reminder/VALARM options
This commit is contained in:
Lucas Berger
2026-06-07 15:39:43 -04:00
parent a99ef1daae
commit 69bc57221b
4 changed files with 221 additions and 11 deletions
@@ -0,0 +1,34 @@
---
title: Add notification/reminder (VALARM) options to event creation
date: 2026-06-07
priority: medium
phase_hint: Phase 5 (push) or earlier in Phase 03 write-path polish
---
# Add notification/reminder options to event creation
The event-create/edit form (`apps/pwa` EventForm → `POST /api/events`, `PATCH /:uid/edit`)
has **no UI for setting a reminder/alarm on an event**. A user creating an event cannot
choose "remind me 10 min / 1 hour / 1 day before". The written `.ics` therefore contains
no `VALARM` component, so neither Fastmail's native clients nor any downstream notification
path can fire an event reminder.
This is distinct from (but feeds) the Active requirement
"Web Push notifications for event reminders and list changes" (Phase 5): even with web-push
infrastructure, there is nothing to notify *about* unless events carry reminder data.
## Scope to decide when promoted
- Add a reminder selector to EventForm (none / at time / 10m / 30m / 1h / 1d before; possibly
multiple).
- Serialize chosen offsets as `VALARM` (TRIGGER) blocks in the iCalendar payload written
back to Fastmail via the outbox.
- On read, parse existing `VALARM`s so edits preserve/show the current reminder.
- Decide division of labour vs Phase 5 web-push: VALARM gives native-client reminders
(Fastmail/Apple Calendar) for free; app-delivered web-push reminders are the separate
Phase 5 piece that would read these offsets.
## Open question
- iCalendar `VALARM` round-trips through `ical.js`; confirm tsdav PUT preserves it and that
Fastmail honours `DISPLAY`/`AUDIO` alarms set by a third-party CalDAV client.