You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stats endpoint now returns chat names in top chats. The GET /stats/messages and GET /sessions/:id/stats endpoints include a chatName field on each top-chat entry, populated from the contact's pushName or saved name at message time. The dashboard uses it to show readable names instead of raw JIDs. Existing rows start as NULL until a new message sets the name. (#558) Thanks @buluma.
Fixed
Incoming WhatsApp Business interactive messages no longer arrive with an empty body on the Baileys engine. Messages sent as interactive/button/template shapes — which businesses use for one-time codes and verification prompts — were saved with type: "unknown" and a blank body, dropping the text (e.g. an OTP) entirely. The engine now extracts the display text from interactiveMessage, buttonsMessage, templateMessage, and interactiveResponseMessage into the message body and classifies them as text, so the content is retrievable over the standard messages API and rendered in the dashboard. (#562)
Deleting a message "for everyone" now reliably flags it as revoked, and message.revoked carries the original message id. On the whatsapp-web.js engine the revoke event's id is the revocation notification — a distinct message whose id never matched the stored row — so the stored message was silently never marked revoked, and webhook/WebSocket consumers had no id to reconcile against. The message.revoked payload now includes an optional revokedId (the original deleted message's id) that both engines populate; OpenWA flags the stored message on revokedId (falling back to id), and consumers should match the same way. Purely additive and backward-compatible — on Baileys id and revokedId coincide. (#567) Thanks @JibayMcs.