notify: event start reminders #98

Closed
opened 2026-08-16 14:24:15 +00:00 by nalum · 1 comment
Owner

A member can put an appointment, a birthday, a holiday or an EVENT_TYPE_DEADLINE on the calendar, and the system never reminds anyone before it happens. PR #90 added EVENT_ADDED and EVENT_CANCELLED, but those fire at creation time — the day itself passes in silence. An event type named "important deadlines" that reminds nobody is the clearest gap in the reminder story.

Add an EVENT_REMINDER kind: event members get a nudge on the day of an occurrence ("“Dentist” today at 14:30"). Same shape as the meal reminder ticker (server-side scheduler keyed on the occurrence's local date), not an emission point.

Design questions to settle first:

  • When does it fire — morning-of at a fixed hour (the meal ticker's 09:00 pattern, simplest), or a per-event lead time? Recommend morning-of first; lead times are a follow-up.
  • Birthdays: remind only event members, or broadcast "today is X's birthday" to the whole family? A birthday with one member on it defeats its purpose.
  • Deadline-type events: worth an extra day-before nudge, or keep one rule for every type?
  • Recurring series: the reminder keys on the projected occurrence for that day, and must respect cancelled slots and split children.

Depends on the shared reminder scheduler seam (#97) if that lands first. Usual kind plumbing: proto enum, notify method, en+ga messages, webhook decorator, web push-preference checkbox + PUSH_KINDS entry, Android channel.

Follow-up from the reminders audit, sibling of #91 (JOB_DUE).

A member can put an appointment, a birthday, a holiday or an EVENT_TYPE_DEADLINE on the calendar, and the system never reminds anyone before it happens. PR #90 added EVENT_ADDED and EVENT_CANCELLED, but those fire at creation time — the day itself passes in silence. An event type named "important deadlines" that reminds nobody is the clearest gap in the reminder story. Add an EVENT_REMINDER kind: event members get a nudge on the day of an occurrence ("“Dentist” today at 14:30"). Same shape as the meal reminder ticker (server-side scheduler keyed on the occurrence's local date), not an emission point. Design questions to settle first: - When does it fire — morning-of at a fixed hour (the meal ticker's 09:00 pattern, simplest), or a per-event lead time? Recommend morning-of first; lead times are a follow-up. - Birthdays: remind only event members, or broadcast "today is X's birthday" to the whole family? A birthday with one member on it defeats its purpose. - Deadline-type events: worth an extra day-before nudge, or keep one rule for every type? - Recurring series: the reminder keys on the projected occurrence for that day, and must respect cancelled slots and split children. Depends on the shared reminder scheduler seam (#97) if that lands first. Usual kind plumbing: proto enum, notify method, en+ga messages, webhook decorator, web push-preference checkbox + PUSH_KINDS entry, Android channel. Follow-up from the reminders audit, sibling of #91 (JOB_DUE).
Author
Owner

Decisions (2026-08-16):

  • Per-event lead time, not a fixed morning-of hour: each event picks how long before its start the reminder fires. Needs a lead-time field on the event (proto + both editors) and a scheduler that fires at arbitrary times, not a daily wall-clock tick — see the note on #97.
  • Birthday-type events broadcast to the whole family; other types remind event members only.
  • EVENT_TYPE_DEADLINE events get an extra day-before nudge on top of the lead-time one.
Decisions (2026-08-16): - **Per-event lead time**, not a fixed morning-of hour: each event picks how long before its start the reminder fires. Needs a lead-time field on the event (proto + both editors) and a scheduler that fires at arbitrary times, not a daily wall-clock tick — see the note on #97. - Birthday-type events broadcast to the **whole family**; other types remind event members only. - EVENT_TYPE_DEADLINE events get an **extra day-before nudge** on top of the lead-time one.
nalum added reference main 2026-08-16 14:43:36 +00:00
nalum changed reference from main to v1.5.0 2026-08-16 14:43:58 +00:00
nalum closed this issue 2026-08-16 19:44:37 +00:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
eagraiclainne/app#98
No description provided.