Skip to content

[NOWEB] - First message from Click-to-WhatsApp ad contact (@lid) not emitted and missing from API on 2026.8.2 #2267

Description

@mkamra2000

Describe the bug

Sometimes the first message from a new contact who clicks a Click-to-WhatsApp (Facebook/Instagram) ad never reaches WAHA. The message shows on the linked phone and in WhatsApp Web, but WAHA emits no message / message.any webhook for it. It also doesn't come back from GET /api/{session}/chats/{chatId}/messages, whether we query the @c.us id or the @lid id.

This looks like #1922, which was fixed in 2026.4.3, and like #2074 and #1383. We still see it on 2026.8.2 with NOWEB.

What we saw on one affected chat:

  • The contact's first message (the ad's prefilled text) arrived on the phone and in WhatsApp Web. WAHA emitted no inbound event for it: no message, no message.any with fromMe: false.
  • The session was running normally at that moment. It emitted other message.any and message.ack events for other chats within the same minute.
  • A few minutes later, the business replied to that contact from the phone app. WAHA did emit message.any (fromMe: true, source: "app", chat id <id>@lid, _data.key.remoteJidAlt = <phone>@s.whatsapp.net) and message.ack for that reply.
  • The drop is intermittent. Other first messages from ad contacts that same day, all with @lid senders and the same prefilled text, were delivered normally as message.any with fromMe: false.

So the session was connected and knew about the chat, but the contact's first inbound message was silently skipped.

Version

{
  "version": "2026.8.2",
  "engine": "NOWEB",
  "tier": "CORE",
  "browser": null,
  "platform": "linux/x64"
}

Session config: noweb.store.enabled: true, noweb.store.fullSync: true. Webhook events: session.status, message, message.any, message.ack.

Steps

To Reproduce

  1. Link a WhatsApp Business number to a NOWEB session with the store enabled.
  2. Run a Click-to-WhatsApp ad on Facebook/Instagram that points at that number.
  3. A new contact who has never chatted with the number clicks the ad and sends the prefilled message.
  4. The message appears on the phone and in WhatsApp Web.
  5. For some of these contacts, WAHA emits no message / message.any event, and the message isn't in GET /api/{session}/chats/{chatId}/messages.

Expected behavior

Every inbound message the phone receives, including the first message from an ad contact with an @lid sender, should be emitted as message / message.any and stored in the NOWEB store.

Requests - Responses

GET /api/{session}/chats/{phone}@c.us/messages?limit=100&offset=0&downloadMedia=false200 []

The only webhook events for that chat were our own reply:

{
  "event": "message.any",
  "payload": {
    "fromMe": true,
    "source": "app",
    "from": "<id>@lid",
    "_data": {
      "key": { "remoteJidAlt": "<phone>@s.whatsapp.net" },
      "message": { "extendedTextMessage": { "text": "<reply text>" } }
    }
  }
}

Additional context

Is there a log level or setting that would surface the decryption failure or dropped event, so we can send logs for the next occurrence?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions