Commit Graph

3 Commits

Author SHA1 Message Date
Abhinav Raut 926bcc5d6e fix WhatsApp startup, retries and media limits
The ingester now starts on demand when a WhatsApp inbox exists, so an
install without WhatsApp boots even if Redis is down. Sends retry on 429
and 5xx, oversized media stores a placeholder, and inbox lookup failures
no longer read as "no inbox".
2026-09-03 01:29:39 +05:30
Abhinav Raut fd4a37ff76 add WhatsApp channel tests and bug fixes 2026-08-25 18:29:16 +05:30
Abhinav Raut 74599df708 feat: durable WhatsApp inbound queue
Move WhatsApp inbound off the in-memory worker pool onto a new Redis Streams queue (internal/streamqueue): at-least-once, reclaim of orphaned entries, dead-letter for poison entries, panic-safe. The webhook verifies the signature from the in-memory inbox and 200-ACKs only after a successful enqueue, so a DB blip or restart no longer drops messages. The worker honors context cancellation for fast shutdown, dedups before downloading media, and routes template status updates by WABA.
2026-06-14 11:27:17 +05:30