infiniflow/ragflow · error · RuntimeError
whatsapp events websocket error: {ws.exception()}
Error message
whatsapp events websocket error: {ws.exception()} What it means
Error "whatsapp events websocket error: {ws.exception()}" thrown in infiniflow/ragflow.
Source
Thrown at api/channels/whatsapp/channel.py:288
self._status = str(snapshot.get("status") or "connecting")
self._last_error = str(snapshot.get("last_error") or "")
self._qr_data_url = str(snapshot.get("qr_data_url") or "")
self._qr_updated_at = float(snapshot.get("qr_updated_at") or 0.0)
self._connected_at = float(snapshot.get("connected_at") or 0.0)
self._session_id = str(snapshot.get("session_id") or self._session_id or "")
self._event_cursor = max(self._event_cursor, int(snapshot.get("event_cursor") or 0))
if self._status == "connected":
self._last_error = ""
async def _run_events_ws(self) -> None:
session = await self._ensure_http_session()
url = self._events_ws_url()
async with session.ws_connect(url, headers=self._gateway_headers(), heartbeat=None) as ws:
async for msg in ws:
if msg.type == aiohttp.WSMsgType.TEXT:
await self._handle_ws_payload(msg.data)
elif msg.type == aiohttp.WSMsgType.ERROR:
raise RuntimeError(f"whatsapp events websocket error: {ws.exception()}")
LOGGER.warning("[whatsapp:%s] events websocket closed", self.account_id)
async def _handle_ws_payload(self, payload: str) -> None:
try:
obj = json.loads(payload)
except json.JSONDecodeError:
LOGGER.warning(
"[whatsapp:%s] ignored invalid websocket payload: %r",
self.account_id,
payload[:200],
)
return
kind = str(obj.get("type") or "").strip()
data = obj.get("data")
if kind == "snapshot" and isinstance(data, dict):
self._apply_snapshot(data)
returnView on GitHub (pinned to 554fb1133a)
Solutions
- Check the gateway websocket endpoint and network connectivity.
- Restart the WhatsApp gateway and reconnect.
Example fix
# reconnect with backoff on websocket error
try:
async with session.ws_connect(url) as ws:
...
except Exception as e:
logger.error('whatsapp events websocket error: %s', e) When it happens
Trigger: Thrown at api/channels/whatsapp/channel.py:288 when the library encounters an invalid state.
Common situations: The websocket connection to the WhatsApp gateway drops or fails, commonly from a gateway restart or network issue; reconnecting with backoff prevents this error.
AI-assisted analysis of infiniflow/ragflow@554fb1133a (2026-08-15).
Data as JSON: /api/errors/b4436f4cccc56c61.
Report an issue: GitHub.