openclaw/extensions
Dennis Rankin a28a4b1b61
feat: detect stale Slack sockets and auto-restart (#30153)
* feat: detect stale Slack sockets and auto-restart

Slack Socket Mode connections can silently stop delivering events while
still appearing connected (health checks pass, WebSocket stays open).
This "half-dead socket" problem causes messages to go unanswered.

This commit adds two layers of protection:

1. **Event liveness tracking**: Every inbound Slack event (messages,
   reactions, member joins/leaves, channel events, pins) now calls
   `setStatus({ lastEventAt, lastInboundAt })` to update the channel
   account snapshot with the timestamp of the last received event.

2. **Health monitor stale socket detection**: The channel health monitor
   now checks `lastEventAt` against a configurable threshold (default
   30 minutes). If a channel has been running longer than the threshold
   and hasn't received any events in that window, it is flagged as
   unhealthy and automatically restarted — the same way disconnected
   or crashed channels are already handled.

The restart reason is logged as "stale-socket" for observability, and
the existing cooldown/rate-limit logic (3 restarts/hour max) prevents
restart storms.

* Slack: gate liveness tracking to accepted events

---------

Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com>
2026-03-01 10:58:21 -06:00
..
acpx chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
bluebubbles chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
copilot-proxy chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
device-pair refactor: de-duplicate channel runtime and payload helpers 2026-02-23 21:25:28 +00:00
diagnostics-otel chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
diffs fix(diffs): tighten rendering quality 2026-02-28 23:03:28 -05:00
discord chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
feishu feat(feishu): add chat info/member tool (openclaw#14674) 2026-02-28 10:00:31 -06:00
google-gemini-cli-auth chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
googlechat chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
imessage chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
irc chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
line chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
llm-task chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
lobster chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
matrix chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
mattermost chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
memory-core chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
memory-lancedb feat(memory-lancedb): Custom OpenAI BaseURL & Dimensions Support (#17874) 2026-02-27 07:56:09 -08:00
minimax-portal-auth chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
msteams chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
nextcloud-talk chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
nostr chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
open-prose chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
phone-control style: align formatting with oxfmt 0.33 2026-02-18 01:34:35 +00:00
qwen-portal-auth TypeScript: add extensions to tsconfig and fix type errors (#12781) 2026-02-09 10:05:38 -08:00
shared refactor(extensions): dedupe connector helper usage 2026-02-16 14:59:30 +00:00
signal chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
slack feat: detect stale Slack sockets and auto-restart (#30153) 2026-03-01 10:58:21 -06:00
synology-chat chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
talk-voice Gateway/Plugins: device pairing + phone control plugins (#11755) 2026-02-08 18:07:13 +01:00
telegram chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
test-utils test: dedupe fixtures and test harness setup 2026-02-23 05:45:54 +00:00
thread-ownership test(extensions): cast fetch mocks to satisfy tsgo 2026-02-16 21:25:35 -05:00
tlon chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
twitch chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
voice-call chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
whatsapp chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00
zalo fix(feishu): replace console.log with runtime log for typing indicator errors (openclaw#18841) thanks @Clawborn 2026-02-27 22:57:16 -06:00
zalouser chore(release): bump 2026.2.27 and split changelog 2026-02-27 16:09:28 +01:00