#1643·OpenWA

[Bug]: sendImage/sendVideo/sendDocument fail with memoize "id property" on pinned WA Web 2.3000.10477x+

Author: 15874611923Created Sep 18, 2026Updated Sep 18, 2026
Labelsbug

Pre-flight

  • I searched existing issues and this isn't a duplicate
  • I'm on the latest released version (or noted my version below)

OpenWA version

0.23.5

Deployment

Docker Compose

Database

SQLite (default)

WhatsApp engine

whatsapp-web.js

What happened?

Describe the bug

Outbound media sends fail for image / video / document with the same WhatsApp Web frontend error. Plain text send works. Session reaches ready.

Error (from Nest / Puppeteer):

Steps to reproduce

  1. Deploy/start OpenWA 0.23.5 with ENGINE_TYPE=whatsapp-web.js (leave WWEBJS_WEB_VERSION unset so auto-pin runs).
  2. Start a session until logs show Session ready and Pinning WhatsApp Web version 2.3000.10477… (or another recent 2.3000.10477x+ alpha).
  3. Confirm text send works (e.g. Dashboard / POST send-text to a valid chat).
  4. Send media via Dashboard or API: send-image, then send-video, then send-document (small file, proxyEnabled=false).
  5. Observe each media call fails with HTTP 500 and: Error: Data passed to getter must include an id property (it's how we memoize) but got undefined (stack: Client.sendMessage → WwebjsMessaging.sendMediaMessage → MessageSendService.sendImage|sendVideo|sendDocument; origin in static.whatsapp.net).

Expected behavior

send-image / send-video / send-document should succeed for a ready session (recipient gets a normal image/video/document bubble), or return a clear engine/API error — not fail inside WhatsApp Web with an opaque memoize/id getter error while text send still works.

Relevant logs

bash
{"timestamp":"2026-09-18T03:42:56.677Z","level":"info","context":"SessionEngineLifecycle","message":"Initializing engine for session: boyue-boxes-5631","sessionId":"8b366791-f4b0-414e-af86-5b9d701ddde1","action":"engine_init","proxyEnabled":true,"requestId":"bafa4516-5f6a-41f0-8f19-5837f2d500d2"}
{"timestamp":"2026-09-18T03:42:56.686Z","level":"info","context":"WhatsAppWebJsAdapter","message":"Using proxy: http://127.0.0.1:7890","requestId":"bafa4516-5f6a-41f0-8f19-5837f2d500d2"}
{"timestamp":"2026-09-18T03:42:56.686Z","level":"info","context":"WhatsAppWebJsAdapter","message":"Pinning WhatsApp Web version 2.3000.1047769893-alpha","requestId":"bafa4516-5f6a-41f0-8f19-5837f2d500d2"}
{"timestamp":"2026-09-18T03:43:56.686Z","level":"error","context":"SessionEngineLifecycle","message":"Engine initialization timed out for session boyue-boxes-5631","sessionId":"8b366791-f4b0-414e-af86-5b9d701ddde1","action":"engine_init_timeout","requestId":"bafa4516-5f6a-41f0-8f19-5837f2d500d2"}
[Nest] 7  - 09/18/2026, 11:44:33 AM   ERROR [ExceptionsHandler] Error: Data passed to getter must include an id property (it's how we memoize) but got undefined
s (https://static.whatsapp.net/rsrc.php/v4/ys/r/cmqMr-wgNWt.js:84:180)
    at #evaluate (/app/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/ExecutionContext.js:391:56)
    at async ExecutionContext.evaluate (/app/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/ExecutionContext.js:277:16)
    at async IsolatedWorld.evaluate (/app/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/IsolatedWorld.js:100:16)
    at async CdpFrame.evaluate (/app/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.js:362:20)
    at async CdpPage.evaluate (/app/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js:830:20)
    at async Client.sendMessage (/app/node_modules/whatsapp-web.js/src/Client.js:1544:25)
    at async WwebjsMessaging.sendResolved (/app/dist/engine/adapters/wwebjs-messaging.js:137:20)
    at async WwebjsMessaging.sendMediaMessage (/app/dist/engine/adapters/wwebjs-messaging.js:207:21)
    at async MessageSendService.sendVideo (/app/dist/modules/message/message-send.service.js:170:22)
    at i (https://static.whatsapp.net/rsrc.php/v4/ys/r/cmqMr-wgNWt.js:113:348)
    at l (https://static.whatsapp.net/rsrc.php/v4/ys/r/cmqMr-wgNWt.js:113:124)
    at <anonymous> (https://static.whatsapp.net/rsrc.php/v4iEnc4/yw/l/en_US-j/h8fYMdgnTpb.js:1759:3741)
    at t (https://static.whatsapp.net/rsrc.php/v4i1XD4/yY/l/en_US-j/z_Y9rfOLk-pa1DjcVhaH-BBXrKv_y-uhMhKFyYHJMOrq9Xb1aAWYWy5oBJeeRuDnIwLNQDfWGezA_imXTyCTiBBuhSJWPl3izHStULmMdMatOwmxeXvQvsiKTTfbLCHDWbK70i2P7mK5FNehRgxME01XdEAzirwxlLfnZtuXua6tZrbtwOwYeYbBY18Dc-UmLoCLb5VG7D4Byd_N2j4RmWQUhouLnRGUWhxOjPuHg4lKqGFi3_ISDg6kw1OQX7zgD1wrYAm-Sbhw3RZo1XZyNiUhTXoaeCoXL2z0-jwAlKqVe57alq3_3eAfZ4uZlGx86zb2ICvGdm.js:368:3770)
    at a (https://static.whatsapp.net/rsrc.php/v4i1XD4/yY/l/en_US-j/z_Y9rfOLk-pa1DjcVhaH-BBXrKv_y-uhMhKFyYHJMOrq9Xb1aAWYWy5oBJeeRuDnIwLNQDfWGezA_imXTyCTiBBuhSJWPl3izHStULmMdMatOwmxeXvQvsiKTTfbLCHDWbK70i2P7mK5FNehRgxME01XdEAzirwxlLfnZtuXua6tZrbtwOwYeYbBY18Dc-UmLoCLb5VG7D4Byd_N2j4RmWQUhouLnRGUWhxOjPuHg4lKqGFi3_ISDg6kw1OQX7zgD1wrYAm-Sbhw3RZo1XZyNiUhTXoaeCoXL2z0-jwAlKqVe57alq3_3eAfZ4uZlGx86zb2ICvGdm.js:370:864)
    at i.initialize (https://static.whatsapp.net/rsrc.php/v4iEnc4/yw/l/en_US-j/h8fYMdgnTpb.js:2137:23543)
    at w (https://static.whatsapp.net/rsrc.php/v4iEnc4/yw/l/en_US-j/h8fYMdgnTpb.js:2143:7748)

Environment / additional context

Image