openclaw - 💡(How to fix) Fix [Bug]: Feishu WebSocket silently stops receiving messages after first dispatch [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#63437Fetched 2026-04-09 07:53:44
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Participants

Feishu WebSocket connection establishes successfully but silently stops receiving messages after the first message is dispatched. No disconnect/reconnect/error logs appear. Only the first message after gateway startup is received.

This appears related to #49323 but occurs on a newer version (2026.4.9).

Error Message

Feishu WebSocket connection establishes successfully but silently stops receiving messages after the first message is dispatched. No disconnect/reconnect/error logs appear. Only the first message after gateway startup is received. 5. No disconnect/reconnect/error logs between message 1 and message 2

  • No WS disconnect/close/error logs — the connection appears alive but is not receiving

Root Cause

  • No WS disconnect/close/error logs — the connection appears alive but is not receiving
  • No ping/pong logs visible even in verbose mode (SDK uses trace level for ping, debug for close)
  • Affects both Feishu accounts configured on the same gateway
  • First message after each restart works — then silence
  • Web-based Feishu and desktop client both affected after first message
  • The @larksuiteoapi/node-sdk WS client has reconnectCount: -1 (infinite) and pingInterval: 120s, but reconnect never triggers because no close event fires

Fix Action

Workaround

Restart gateway before each message (not practical).

Code Example

07:48:06 [feishu] feishu[ruantang]: starting WebSocket connection...
07:48:06 [feishu] feishu[ruantang]: WebSocket client started
07:48:06 [feishu] feishu[kagura]: starting WebSocket connection...
07:48:06 [feishu] feishu[kagura]: WebSocket client started
07:48:19 [info]: [ '[ws]', 'ws client ready' ]
07:48:19 [info]: [ '[ws]', 'ws client ready' ]

---

07:55:47 [diagnostic] lane enqueue: lane=session:agent:ruantang:feishu:direct:ou_xxx
07:56:03 [feishu] feishu[ruantang]: dispatch complete (queuedFinal=true, replies=1)
RAW_BUFFERClick to expand / collapse

Summary

Feishu WebSocket connection establishes successfully but silently stops receiving messages after the first message is dispatched. No disconnect/reconnect/error logs appear. Only the first message after gateway startup is received.

This appears related to #49323 but occurs on a newer version (2026.4.9).

Environment

  • OpenClaw: 2026.4.9 (running from source)
  • Node.js: v22.22.2
  • OS: Ubuntu 24.04 (Linux 6.17.0-20-generic x64)
  • @larksuiteoapi/node-sdk: 1.60.0
  • Feishu mode: WebSocket (persistent connection)
  • Accounts: 2 Feishu bots (both affected)

Steps to Reproduce

  1. Start gateway (verbose mode)
  2. Both Feishu WS clients connect successfully:
07:48:06 [feishu] feishu[ruantang]: starting WebSocket connection...
07:48:06 [feishu] feishu[ruantang]: WebSocket client started
07:48:06 [feishu] feishu[kagura]: starting WebSocket connection...
07:48:06 [feishu] feishu[kagura]: WebSocket client started
07:48:19 [info]: [ '[ws]', 'ws client ready' ]
07:48:19 [info]: [ '[ws]', 'ws client ready' ]
  1. Send message 1 via Feishu web → ✅ Received and dispatched:
07:55:47 [diagnostic] lane enqueue: lane=session:agent:ruantang:feishu:direct:ou_xxx
07:56:03 [feishu] feishu[ruantang]: dispatch complete (queuedFinal=true, replies=1)
  1. Send message 2 via Feishu (any client) → ❌ NOT received
  2. No disconnect/reconnect/error logs between message 1 and message 2
  3. Gateway restart → message received again (only one)

Key Observations

  • No WS disconnect/close/error logs — the connection appears alive but is not receiving
  • No ping/pong logs visible even in verbose mode (SDK uses trace level for ping, debug for close)
  • Affects both Feishu accounts configured on the same gateway
  • First message after each restart works — then silence
  • Web-based Feishu and desktop client both affected after first message
  • The @larksuiteoapi/node-sdk WS client has reconnectCount: -1 (infinite) and pingInterval: 120s, but reconnect never triggers because no close event fires

Comparison with #49323

#49323This issue
Version2026.3.132026.4.9
SymptomOnly first msg receivedSame
WS close logws client closed manually (force)No close log at all
ReconnectReconnects but failsNever triggers

The difference: #49323 saw an explicit force-close; here the WS silently dies without any close event.

Workaround

Restart gateway before each message (not practical).

Suggestion

The Lark SDK's ping/close logs are at trace/debug level, making it very hard to diagnose WS issues. Consider:

  1. Logging WS lifecycle events (connect/disconnect/ping/pong) at info level
  2. Adding a WS health check that detects silent connection death
  3. Investigating why the WS stops receiving after first dispatch

extent analysis

TL;DR

Adjust the logging level of the Lark SDK to include WS lifecycle events at the info level to better diagnose the issue.

Guidance

  • Verify that the WebSocket connection is indeed established and the first message is received successfully, as indicated by the logs.
  • Investigate the @larksuiteoapi/node-sdk configuration, specifically the reconnectCount and pingInterval settings, to understand how the SDK handles connection issues.
  • Consider adding custom logging or monitoring to detect when the WebSocket connection stops receiving messages, as the current logging level may not provide sufficient information.
  • Review the comparison with issue #49323 to identify potential differences in behavior between versions.

Example

No code snippet is provided, as the issue does not include sufficient information to create a specific example.

Notes

The issue appears to be related to the WebSocket connection silently stopping after the first message is received, without any disconnect or error logs. The fact that restarting the gateway allows the first message to be received again suggests a potential issue with the connection handling.

Recommendation

Apply a workaround by adjusting the logging level of the Lark SDK to include WS lifecycle events at the info level, as suggested in the issue. This may provide more insight into the issue and help diagnose the problem.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix [Bug]: Feishu WebSocket silently stops receiving messages after first dispatch [1 participants]