Deliver cluster alerts into a member's chat thread

FeatureMediaService
Shipped
August 25, 2026 at 3:34 PM UTC
Author
Kamo
Commit
480ea74

Alertmanager webhook receiver at /api/internal/alerts/chat, so a KamoDesktop alert reaches a person instead of a dashboard. This is the BEST-EFFORT leg. Email is the guaranteed one, sent independently by Alertmanager, so an unresolvable chat thread — renamed member, deleted alias, fresh database — degrades to "email only" rather than to silence. A notifier that can fail closed and take the alert with it is worse than no notifier, because it still reads as coverage. Hence 200-with-an-outcome rather than a non-2xx Alertmanager would retry forever against a member who does not exist. A sender member distinct from the recipient is required: findOrCreateChatSession only matches two-participant sessions, so a self-addressed alert would mint a fresh session every time it fired and bury the chat list. That case is reported and skipped instead. Auth accepts X-Internal-Auth or Authorization: Bearer with the same secret — an AlertmanagerConfig webhook can only set Authorization, never a custom header. Compared constant-time and failing closed when unconfigured, deliberately not the looser equals() used by this service's older internal endpoints, where a blank configured secret matches a blank supplied header.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing