fix(whatsapp): expose Baileys socket timing#73580
Conversation
|
Codex review: keeping this open for maintainer follow-up; there is still a little grit to resolve. Keep this PR open. It is maintainer-authored ( Best possible solution: Keep the PR open for maintainer review. The likely best path is to validate the Baileys timing contract, review the chosen OpenClaw defaults and What I checked:
Remaining risk / open question:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 189c91eae6e1. |
Greptile SummaryThis PR exposes three Baileys socket timing parameters ( Confidence Score: 5/5This PR is safe to merge — well-structured, fully tested, and no correctness issues found. All socket creation paths receive explicitly resolved timing values via resolveWhatsAppSocketTiming, which validates inputs with positiveInteger. The Zod schema, TypeScript types, generated schema, labels, help text, docs, and changelog are all consistently updated. Tests cover the default, config-override, and call-site-override cases. No logic bugs, data-loss paths, or security concerns identified. No files require special attention. Reviews (1): Last reviewed commit: "fix: expose WhatsApp Baileys socket timi..." | Re-trigger Greptile |
8e6b1e8 to
d3e3f42
Compare
d3e3f42 to
d347552
Compare
|
Merged via squash.
Thanks @velvet-shark! |
Merged via squash. Prepared head SHA: d347552 Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com> Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com> Reviewed-by: @velvet-shark
Summary
makeWASocketboundaryweb.whatsapp.keepAliveIntervalMs,connectTimeoutMs, anddefaultQueryTimeoutMsin config/schema/docsRoot cause
Baileys emits
408 Request Time-out Connection was lostwhen its own inbound-frame watchdog exceeds the keepalive window. OpenClaw previously did not pass or expose Baileys socket timing, so every socket was stuck on upstream defaults. Local logs also showed separate499OpenClaw watchdog restarts; this PR keeps that watchdog separate and fixes the Baileys-level 408 path at socket creation.Fixes #56365.
Related: #58481, #72735.
Verification
pnpm test extensions/whatsapp/src/socket-timing.test.ts extensions/whatsapp/src/session.test.ts extensions/whatsapp/src/connection-controller.test.ts src/config/schema.test.ts src/config/schema.help.quality.test.tspnpm config:schema:checkpnpm config:docs:checkpnpm docs:check-mdxpnpm exec oxfmt --check --threads=1 extensions/whatsapp/src/socket-timing.ts extensions/whatsapp/src/socket-timing.test.ts extensions/whatsapp/src/session.ts extensions/whatsapp/src/session.test.ts extensions/whatsapp/src/connection-controller.ts extensions/whatsapp/src/auto-reply/monitor.ts extensions/whatsapp/src/auto-reply/types.ts extensions/whatsapp/src/inbound/monitor.ts extensions/whatsapp/src/login.ts extensions/whatsapp/src/login-qr.ts src/config/types.base.ts src/config/zod-schema.ts src/config/schema.help.ts src/config/schema.labels.ts src/config/schema.help.quality.test.ts src/config/schema.test.tsgit diff --checkNote: Testbox changed gate was not run because
blacksmithis not installed/on PATH in this environment.pnpm changed:lanes --jsonselects core + WhatsApp extension lanes for this change.