openclaw/extensions
wangchunyue dd61171f5b
fix: prevent Telegram polling watchdog from dropping replies (#56343) (thanks @openperf)
* fix(telegram): prevent polling watchdog from aborting in-flight message delivery

The polling-stall watchdog only tracked getUpdates timestamps to detect
network stalls. When the agent takes >90s to process a message (common
with local/large models), getUpdates naturally pauses, and the watchdog
misidentifies this as a stall. It then calls fetchAbortController.abort(),
which cancels all in-flight Telegram API requests — including the
sendMessage call delivering the agent's reply. The message is silently
lost with no retry.

Track a separate lastApiActivityAt timestamp that is updated whenever
any Telegram API call (sendMessage, sendChatAction, etc.) completes
successfully. The watchdog now only triggers when both getUpdates AND
all other API activity have been silent beyond the threshold, proving
the network is genuinely stalled rather than just busy processing.

Update existing stall test to account for the new timestamp, and add a
regression test verifying that recent sendMessage activity suppresses
the watchdog.

Fixes #56065
Related: #53374, #54708

* fix(telegram): guard watchdog against in-flight API calls

* fix(telegram): bound watchdog API liveness

* fix: track newest watchdog API activity (#56343) (thanks @openperf)

* fix: note Telegram watchdog delivery fix (#56343) (thanks @openperf)

---------

Co-authored-by: Ayaan Zaidi <hi@obviy.us>
2026-03-29 11:11:28 +05:30
..
acpx build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
amazon-bedrock build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
anthropic build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
anthropic-vertex fix: break plugin-sdk provider barrel recursion 2026-03-27 23:47:04 +00:00
bluebubbles build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
brave build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
browser build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
byteplus build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
chutes build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
cloudflare-ai-gateway build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
copilot-proxy build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
deepgram build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
deepseek build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
device-pair fix(regression): allow external device pair approvals 2026-03-27 16:07:54 -05:00
diagnostics-otel build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
diffs build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
discord build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
duckduckgo build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
elevenlabs build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
exa build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
fal build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
feishu build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
firecrawl build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
github-copilot build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
google build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
googlechat build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
groq build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
huggingface build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
image-generation-core build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
imessage build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
irc build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
kilocode build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
kimi-coding build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
line fix(line): preserve underscores inside words in stripMarkdown (#47465) 2026-03-28 21:31:09 -05:00
litellm build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
llm-task build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
lobster build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
matrix build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
mattermost fix(tests): refresh mattermost monitor mocks 2026-03-28 21:37:22 -05:00
media-understanding-core build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
memory-core Memory: add configurable FTS5 tokenizer for CJK text support (openclaw#56707) 2026-03-28 20:53:29 -05:00
memory-lancedb build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
microsoft fix(tests): refresh generated schema contracts 2026-03-28 21:19:11 -05:00
microsoft-foundry build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
minimax build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
mistral build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
modelstudio build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
moonshot build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
msteams build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
nextcloud-talk build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
nostr build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
nvidia build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
ollama build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
open-prose build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
openai build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
opencode build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
opencode-go build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
openrouter build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
openshell build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
perplexity build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
phone-control fix(regression): restore external phone control commands 2026-03-27 16:57:16 -05:00
qianfan build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
sglang build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
shared refactor: route plugin runtime through bundled seams 2026-03-27 16:40:27 +00:00
signal build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
slack build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
speech-core build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
synology-chat build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
synthetic build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
talk-voice fix(regression): restore external talk voice updates 2026-03-27 16:05:22 -05:00
tavily build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
telegram fix: prevent Telegram polling watchdog from dropping replies (#56343) (thanks @openperf) 2026-03-29 11:11:28 +05:30
thread-ownership
tlon build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
together build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
twitch build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
venice build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
vercel-ai-gateway build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
vllm build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
voice-call build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
volcengine build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
whatsapp build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
xai build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
xiaomi build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
zai build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
zalo build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
zalouser build: cut 2026.3.28 stable 2026-03-29 02:33:41 +01:00
.npmignore
AGENTS.md Docs: add boundary AGENTS guides (#56647) 2026-03-28 20:22:03 -04:00
CLAUDE.md Docs: add boundary AGENTS guides (#56647) 2026-03-28 20:22:03 -04:00