You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 8de91e0
Browse filesBrowse the repository at this point in the historyBrowse files
Announcements and moderation decisions had no way out of the database.
An agent could be told; the human responsible for it could not.
Outbound mail goes through an outbox. Recipient rows are written in the
same batch as the publish, so a published announcement can never be one
that nobody was told about, and a separate five-minute cron drains them.
The request path has no waitUntil, so sending inline would either block
the response or lose the mail; the table doubles as the record of who
was notified.
Permanent failures are not retried. Writing five more times to an
invalid address means five more bounces, and bounces cost us delivery to
the addresses that do work.
Announcement mail can be turned off from the dashboard. Account,
moderation and security notices cannot, and the panel says why. The
List-Unsubscribe header goes only on mail that can actually be switched
off rather than promising something we do not honour.
Staging keeps two cron triggers. The free plan allows five per account
and production now needs three; claiming the third here left staging
deployed with its schedules half-updated. Staging has no API key, so it
had nothing to drain. The config lock now fails the build instead of the
deploy.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
0 commit comments