WhatsApp ingestion stopped accepting new frames
Impact
Inbound WhatsApp messages queued instead of arriving. Six design partner workspaces saw a delay of up to 34 minutes on that one network. Sending still worked from the handset, and search, the API, the apps and the other networks kept running. No message was lost.
Cause
WhatsApp shipped a protocol version bump to a slice of paired sessions. Our session worker rejected the unknown frame type and exited, and the supervisor restarted it into the same rejection about every four seconds.
Resolution
We shipped a handler that accepts and ignores unknown frame types, then drained the queue. The 34 minute backlog delivered in 6 minutes and 20 seconds. A change on WhatsApp's side sits outside the SLA, so the credit we put on the six affected invoices was discretionary rather than owed.
What changed after
Session workers now run a contract test against the WhatsApp beta channel every hour, and queue depth above 500 pages an engineer instead of waiting for the uptime check.