All 4 webhook controllers now verify the signature, insert an Oban job, and return immediately. Previously, Stripe and PagerDuty did DB queries + writes inline; Gaiia ran upserts; Agent Release broadcast to all connected WebSockets — all in the request path. New workers: - StripeWebhookWorker — delegates to WebhookProcessor.process/1 - GaiiaWebhookWorker — delegates to Webhooks.process_event/3 - PagerdutyWebhookWorker — resolve/acknowledge alerts by dedup key - AgentReleaseWebhookWorker — broadcast mass update to agents Also fix: log error when resolve_alert fails in agent_channel (was silently discarded, causing "Resolving stuck device_down alert" to repeat in logs). |
||
|---|---|---|
| .. | ||
| channels | ||
| components | ||
| controllers | ||
| graphql | ||
| helpers | ||
| live | ||
| plugs | ||
| changelog_parser.ex | ||
| endpoint.ex | ||
| gettext.ex | ||
| gettext_helpers.ex | ||
| graphql_socket.ex | ||
| permissions.ex | ||
| plug_exceptions.ex | ||
| remote_ip.ex | ||
| router.ex | ||
| scoped_resource.ex | ||
| telemetry.ex | ||
| telemetry_filter.ex | ||
| user_auth.ex | ||