mirror of
https://gitee.com/mateos/mateclaw.git
synced 2026-09-13 11:13:43 +08:00
stopWebSocket() only nullified the wsClient reference without calling disconnect() on the SDK client. This left the old WebSocket connection's pingLoop thread and ExecutorService running, leaking file descriptors and threads on each reconnect. Over time, accumulated leaks prevented new connections from being established, causing the Feishu channel to silently stop receiving messages. Fix: use reflection to access the SDK's protected `conn` field and call close(1000) on the OkHttp WebSocket, triggering the SDK's onClosed → disconnect() cleanup chain. Note: oapi-sdk 2.7.1 adds a public close() method that would make this reflection unnecessary. Consider upgrading as a follow-up. Closes #220 |
||
|---|---|---|
| .. | ||
| java/vip/mate | ||
| resources | ||