Messages appear in WhatsApp Web with a yellow warning icon but are never delivered. ⚠️ #1013
Replies: 1 comment
|
Thanks for the report — and especially for the screenshot. That amber triangle is the most informative part of it, and it points somewhere different from where your description lands. What the triangle actually meansWhatsApp Web renders an outgoing message's delivery state in the slot right after the timestamp: a clock while the message is still pending locally, one check once WhatsApp's servers have accepted it, two on delivery to the device. The amber triangle is none of those — it's the error state (ack So the message wasn't "created locally and never acknowledged". It was acknowledged, and the acknowledgement was a failure. That distinction matters for diagnosis: a message that genuinely never leaves the client sits under a clock indefinitely, whereas yours got an answer from WhatsApp and the answer was "no". Why the API still returned successA The failure signal already exists — please check itThis is the part worth acting on: OpenWA maps an error ack to 1. The stored message's status curl -H "X-API-Key: $API_KEY" \
"http://localhost:2785/api/sessions/{sessionId}/messages?chatId=628123456789@c.us&limit=5"Look at 2. The Subscribe to it (it's dispatched in addition to { "events": ["message.ack", "message.failed"] }Payload: 3. The dashboard's Chats view, which is the quickest check of the three. It renders the same icon set WhatsApp Web does — 🕒 pending, ✓ sent, ✓✓ delivered/read,
Either answer is useful to me, so please do run this one. What I need to narrow it down
Most likely causes, and how to tell them apartIf it happens to every recipient — the strong candidate is a restriction on the sending account itself. This is common with numbers that started sending API traffic without any prior organic use, and it is invisible from the gateway's side: the session stays connected and every send comes back with an error ack. The one-step test is to send to the same recipient from the phone directly, using the WhatsApp app. If that also fails or shows the triangle, the problem is at the account level and no gateway change will move it. If it happens only to some recipients — most likely the recipient isn't reachable: not registered on WhatsApp, or a number you've never exchanged messages with. We've seen this exact symptom before, with the same amber triangle, in #736. Question 3 above settles it — and it's worth actually running rather than inferring, since "didn't arrive" has several possible causes and only the check endpoint distinguishes them (a registered recipient who is merely offline never reaches two checks either). A cause we can rule out already: the whatsapp-web.js message-id backport. When that's missing, sends fail outright with "the engine returned no message" instead of succeeding, so your One version-specific noteIf you're on v0.8.18 or older, there's a path where an error ack is dropped before it ever reaches the status update — on WhatsApp Web builds that renamed the serialized message id, the ack arrived with an id we couldn't read. The message would stay at If it turns out the recipient checks out as |
Uh oh!
There was an error while loading. Please reload this page.
I'm experiencing an issue where messages sent through OpenWA appear in the WhatsApp Web chat, but they are never actually delivered.
The API returns successfully without throwing an error.
The message appears in the WhatsApp Web chat.
This issue seems like the message is being created locally in the WhatsApp Web session but is never acknowledged or sent to WhatsApp's servers. I'd appreciate any guidance on whether this is a known issue or if there's a way to diagnose why the message fails to leave the client.
All reactions