diff --git a/docs/channels/whatsapp.md b/docs/channels/whatsapp.md index b73e78758f71..63972c14f4a9 100644 --- a/docs/channels/whatsapp.md +++ b/docs/channels/whatsapp.md @@ -164,7 +164,7 @@ handoff path over manual terminal capture. - Gateway owns the WhatsApp socket and reconnect loop. - The reconnect watchdog uses WhatsApp Web transport activity, not only inbound app-message volume, so a quiet linked-device session is not restarted solely because nobody has sent a message recently. A longer application-silence cap still forces a reconnect if transport frames keep arriving but no application messages are handled for the watchdog window; after a transient reconnect for a recently active session, that application-silence check uses the normal message timeout for the first recovery window. -- Baileys socket timings are explicit under `web.whatsapp.*`: `keepAliveIntervalMs` controls WhatsApp Web application pings, `connectTimeoutMs` controls the opening handshake timeout, and `defaultQueryTimeoutMs` controls Baileys query waits plus OpenClaw's local outbound send/presence operation bound. +- Baileys socket timings are explicit under `web.whatsapp.*`: `keepAliveIntervalMs` controls WhatsApp Web application pings, `connectTimeoutMs` controls the opening handshake timeout, and `defaultQueryTimeoutMs` controls Baileys query waits plus OpenClaw's local outbound send/presence and inbound read-receipt operation bounds. - Outbound sends require an active WhatsApp listener for the target account. - Group sends attach native mention metadata for `@+` and `@` tokens in text and media captions when the token matches current WhatsApp participant metadata, including LID-backed groups. - Status and broadcast chats are ignored (`@status`, `@broadcast`). diff --git a/src/config/schema.help.ts b/src/config/schema.help.ts index f85140339f92..0848aafc2fe9 100644 --- a/src/config/schema.help.ts +++ b/src/config/schema.help.ts @@ -506,13 +506,13 @@ export const FIELD_HELP: Record = { "web.reconnect.maxAttempts": "Maximum reconnect attempts before giving up for the current failure sequence (0 means no retries). Use finite caps for controlled failure handling in automation-sensitive environments.", "web.whatsapp": - "WhatsApp Web socket timing controls used by Baileys and OpenClaw's local outbound operation bounds. Tune these when network edges, proxies, or NATs are closing otherwise healthy WhatsApp Web sessions.", + "WhatsApp Web socket timing controls used by Baileys and OpenClaw's local outbound and inbound read-receipt operation bounds. Tune these when network edges, proxies, or NATs are closing otherwise healthy WhatsApp Web sessions.", "web.whatsapp.keepAliveIntervalMs": "Baileys WhatsApp Web application ping interval in milliseconds. Lower values detect and refresh idle links sooner; keep this comfortably below your network's idle-flow timeout.", "web.whatsapp.connectTimeoutMs": "Maximum time in milliseconds Baileys waits for the WhatsApp WebSocket opening handshake. Use a higher value on slow or lossy networks that report opening handshake 408 timeouts.", "web.whatsapp.defaultQueryTimeoutMs": - "Default Baileys query timeout and OpenClaw outbound send/presence operation bound in milliseconds for WhatsApp Web requests. Keep aligned with upstream unless a network-specific investigation shows socket operations need longer.", + "Default Baileys query timeout and OpenClaw outbound send/presence and inbound read-receipt operation bound in milliseconds for WhatsApp Web requests. Keep aligned with upstream unless a network-specific investigation shows socket operations need longer.", talk: "Talk-mode voice synthesis settings for voice identity, model selection, output format, and interruption behavior. Use this section to tune human-facing voice UX while controlling latency and cost.", "gateway.auth.token": "Required by default for gateway access (unless using Tailscale Serve identity); required for non-loopback binds.", diff --git a/src/config/types.base.ts b/src/config/types.base.ts index 6d93712fdab9..28a908d45436 100644 --- a/src/config/types.base.ts +++ b/src/config/types.base.ts @@ -365,7 +365,7 @@ export type WebWhatsAppConfig = { keepAliveIntervalMs?: number; /** WebSocket opening handshake timeout in milliseconds. Default: 60000. */ connectTimeoutMs?: number; - /** Baileys query and WhatsApp outbound socket operation timeout in milliseconds. Default: 60000. */ + /** Baileys query and WhatsApp outbound/read-receipt operation timeout in milliseconds. Default: 60000. */ defaultQueryTimeoutMs?: number; };