Problem
When the WhatsApp health monitor detects a stale socket and restarts the provider, messages in flight are dropped. No retry or delivery confirmation occurs.
Timeline (from logs)
12:23:19 — User sends message
12:23:41 — Gateway detects stale socket, restarts WhatsApp provider
→ "[whatsapp:default] health-monitor: restarting (reason: stale-socket)"
12:23:43 — WhatsApp reconnects
→ "Listening for personal WhatsApp inbound messages"
Result: Agent response generated but never delivered to WhatsApp
Expected Behavior
- Messages should be queued during reconnection and sent once the channel is healthy
- OR: Send a system message to the user indicating temporary unavailability
Actual Behavior
Silent message drop. User sees no response until they send a follow-up.
Environment
- OpenClaw version:
2026.3.13
- Channel: WhatsApp (personal)
- Model:
anthropic/claude-sonnet-4-5
- Host: Gateway (local bind)
Reproduction
- Wait for WhatsApp health monitor to detect stale socket (~5 min idle)
- Send a message that triggers a tool call + response
- Observe: response never reaches WhatsApp
Suggested Fix
Add message delivery retry logic with exponential backoff when channel state is reconnecting. Queue outbound messages until channel confirms readiness.
Problem
When the WhatsApp health monitor detects a stale socket and restarts the provider, messages in flight are dropped. No retry or delivery confirmation occurs.
Timeline (from logs)
Expected Behavior
Actual Behavior
Silent message drop. User sees no response until they send a follow-up.
Environment
2026.3.13anthropic/claude-sonnet-4-5Reproduction
Suggested Fix
Add message delivery retry logic with exponential backoff when channel state is
reconnecting. Queue outbound messages until channel confirms readiness.