Files
skald-connectors/connectors/whatsapp/fragment.json
T
Daniele a2bbedad40 whatsapp: fix history sync + session corruption, Baileys 7.0.0-rc14 (v7 / 2.1.0)
Diagnosed from the live server (two users, two accounts, one shared log).

- history sync was gated off entirely on Baileys 6.7.x: the library derives
  shouldSyncHistoryMessage from syncFullHistory when unset, and the connector
  shipped syncFullHistory: false. Now both are passed explicitly, so behaviour
  no longer depends on the resolved Baileys version. browser -> ['Mac OS', ...]
  because PLATFORM_MAP only grants a desktop-grade sync to Mac OS / Windows.
- reconnects leaked their socket, leaving two writers over auth/: no end(), no
  removeAllListeners(). ~15 reconnects/day produced 1422 Bad MAC lines, all on
  the account's own LID device 0. Added teardownSock(), per-socket generation
  guards, and a single-slot reconnect timer with exponential backoff.
- undecryptable messages (stubType CIPHERTEXT) were stored with empty text and
  rendered as blank transcript lines; now labelled and counted. Text-less
  protocol frames are dropped.
- fetchLatestBaileysVersion() ran on every reconnect; now cached for 6h.
- libsignal's direct console.error spam collapsed into one counted line, log
  lines tagged with the linked account, console.log redirected off stdout.

Baileys pinned ^6.7.9 -> 7.0.0-rc14 (the range resolved to 6.7.24 for one user
and 6.17.16 for the other). RC is ESM-only, so index.js is now ESM.

Verified on skald-runtime:v4 (Node 20.19.2): initialize, tools/list, status,
list_chats, version fetch, QR, and logout -> teardown -> single reconnect.

Remaining gap: the store is still in-memory only, so synced history is lost on
the next process restart.
2026-08-23 18:15:56 +01:00

27 lines
552 B
JSON

{
"id": "whatsapp",
"name": "WhatsApp",
"type": "mcp_local",
"scope": "user",
"icon_small": "whatsapp/icon_sm.png",
"icon_large": "whatsapp/icon_lg.png",
"user_description": "Send and read WhatsApp messages from your own linked account. Link via QR code — no browser needed.",
"requires": [
"NODE"
],
"tags": [
"messaging",
"mcp",
"local",
"whatsapp",
"qr"
],
"auth": {
"type": "qr"
},
"folder": "whatsapp",
"version": 7,
"version_string": "2.1.0",
"version_release_date": "2026-08-23"
}