docs(notifications): spec per-type notification preferences (email + bell) - #1156
docs(notifications): spec per-type notification preferences (email + bell)#1156leahpeker wants to merge 3 commits into
Conversation
Phased spec: notification opt-outs (model + prefs API + settings UI), event_comment split into hosting/attending (attending fan-out is new), web push (PWA) first, Capacitor/FCM later. Builds on spike-native-push.md and app-store-readiness.md.
no push infrastructure exists (no service worker, capacitor shell, or fcm/apns dependency) and push isn't wanted, so phases 3-5 are cut. phases 1-2 stand: per-type opt-outs across the two real channels, and the hosting/attending comment split. decisions folded in: checkin_nudge and rsvp_declined_note are host-facing and always on; milestone/blast email keys stay deferred. renamed the file since it is no longer a push spec.
rescoped: push cut, email + bell onlyConfirmed there is no push infrastructure in the repo — no service worker, no Capacitor shell, Phases 1–2 stand: per-type opt-outs across the bell and email, then the hosting/attending Decisions folded in:
One open question left, which overlaps Issue 1143: RSVP confirmation emails are scoped to |
Summary
.claude/docs/spec-push-and-notification-prefs.md— phased spec for push notifications (web push first, Capacitor/FCM later) and per-type notification opt-outsNotificationOptOutmodel enforced once at notification creation (SSE + push inherit prefs for free), grouped settings toggles with a separate email toggle for types that also send email (event invites, co-host invites, check-in nudges), and splittingevent_commentintoevent_comment_hosting/event_comment_attending— the attending fan-out is net-new (attendees currently get no comment notification)spike-native-push.mdandapp-store-readiness.md; supersedes the spike's raw-APNs sender choice with FCMTest plan