- Shipped
- July 13, 2026 at 11:33 PM UTC
- Author
- Kamo
- Commit
- c49ec04
Durable NATS consumer chat-email-notifier on chat.session.> feeding a MESSAGE_EMAIL_NOTICES ledger (PENDING/SENT, per-sender for chat, per-ticket for support), 60s sweep with presence gate, quiet hours, digest window, retry-with-backoff (fail closed). Emails via EmailService templates with X-Internal-Auth; HTML-escaped variables; Member->User email fallback; mute-aware recipients. Sudo guards: impersonation no longer writes presence or clears/creates read signals. Enabled by default (chat.email.enabled=true).