Skip to content

v1.0.3

Latest

Choose a tag to compare

@kstmostofa kstmostofa released this 04 Sep 20:30

Builds on v1.0.2. A resilience release for the web sidecar — both fixes are for WhatsApp Web minifying its own internals out from under whatsapp-web.js.

Fixes

  • Messages no longer arrive with id: null (#6). Recent WhatsApp Web builds ship their ID classes minified, so a message key reaches the sidecar as { fromMe, remote, id, $1 } with no _serialized. The sidecar now rebuilds the canonical fromMe_remote_id[_participant] string from the key's own parts — chat, contact and participant IDs get the same treatment. PersistIncomingMessage also inserts rather than upserts when a message still has no ID, so those can't overwrite each other's row.

  • Loading chats no longer 500s with {"error": "r"} (#5). getChats() walks a large surface of minified internals and throws a one-letter error when WhatsApp moves them, taking /chats and /groups down with it. The sidecar now falls back to reading the in-page chat store itself, guarding every field access, so a chat it can't fully describe degrades to partial data instead of failing the request. Response shapes are unchanged.

Also

  • npm test script for the sidecar — 17 tests covering the ID helpers and the chat-store fallback.
  • Troubleshooting entry for the {"error": "r"} symptom and the fallback log line.
  • Changelog backfilled for 1.0.1 and 1.0.2, which were released but never written up.

Upgrading is a composer update — no migrations, no config changes, no API changes.

Thanks to @alisaleem27 for reporting both issues with the detail that made them quick to pin down.

Full changelog: v1.0.2...v1.0.3