- Shipped
- September 13, 2026 at 8:19 PM UTC
- Author
- Kamo
- Commit
- 3f8bf00
Every webinar letter posted to EmailService's /api/email/send, a member-session mailbox endpoint, so each one failed silently; the public booking path sent nothing at all, and the reminders DaemonService publishes on daemon.webinar.reminder had no subscriber. WebinarEmailNotifier now sends all of them through the canonical-template send, resolved inside the transaction and sent after commit: the presenter hears who booked (with the demo form's answers), who joined and who cancelled; attendees get their confirmation with the guest join link and their own cancel link; both hear when a session is cancelled. WebinarReminderListener delivers reminders on a queue group so one pod sends each. A cancel link replayed after the session has taken place is now refused by the service, not only by the page.