openclaw - 💡(How to fix) Fix [Bug]: Telegram polling stall detector treats sleep as active getUpdates stall [1 pull requests]

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…

Telegram polling liveness treats a long process sleep/resume gap as an active getUpdates stall and forces restart even though the poll duration was normal.

Error Message

Severity: Medium, because polling restarts and ERROR logs are forced after sleep/resume even when the observed poll duration was normal. Consequence: unnecessary Telegram polling restart cycles and noisy error diagnostics.

Root Cause

Impact and severity

Affected: Telegram channel polling. Severity: Medium, because polling restarts and ERROR logs are forced after sleep/resume even when the observed poll duration was normal. Frequency: three observed restarts in the analyzed two-day log window. Consequence: unnecessary Telegram polling restart cycles and noisy error diagnostics.

Fix Action

Fixed

Code Example

Window analyzed: 2026-05-23T14:42:08Z through 2026-05-25T14:42:08Z
Counts:
- 3 lines contained: Polling stall detected
- 3 lines contained: isolated polling ingress finished reason=polling stall detected

Redacted excerpts:
[telegram] Polling stall detected (active getUpdates stuck for 37504.36s); forcing restart. [diag inFlight=1 outcome=started startedAt=[timestamp] finishedAt=[same timestamp] durationMs=30668 offset=161256658]
[telegram][diag] isolated polling ingress finished reason=polling stall detected inFlight=1 outcome=started startedAt=[timestamp] finishedAt=[same timestamp] durationMs=30668 offset=161256658
RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

Telegram polling liveness treats a long process sleep/resume gap as an active getUpdates stall and forces restart even though the poll duration was normal.

Steps to reproduce

  1. Run Telegram isolated polling.
  2. Let a getUpdates request be in flight while the host sleeps or the event loop is paused for hours.
  3. Resume and observe the polling watchdog classify the old in-flight timestamp as a live stuck request.

Expected behavior

The first watchdog tick after a long sleep/resume gap should reset active polling liveness baselines instead of reporting an active stuck getUpdates request.

Actual behavior

Gateway logs showed three Polling stall detected (active getUpdates stuck ...) restarts with matching diagnostics where the poll duration was about 30 seconds while wall-clock elapsed time was 2.4 to 10.4 hours.

OpenClaw version

2026.5.25 dev checkout

Operating system

Linux WSL2

Install method

pnpm dev

Model

NOT_ENOUGH_INFO

Provider / routing chain

Telegram channel polling

Additional provider/model setup details

NOT_ENOUGH_INFO

Logs, screenshots, and evidence

Window analyzed: 2026-05-23T14:42:08Z through 2026-05-25T14:42:08Z
Counts:
- 3 lines contained: Polling stall detected
- 3 lines contained: isolated polling ingress finished reason=polling stall detected

Redacted excerpts:
[telegram] Polling stall detected (active getUpdates stuck for 37504.36s); forcing restart. [diag inFlight=1 outcome=started startedAt=[timestamp] finishedAt=[same timestamp] durationMs=30668 offset=161256658]
[telegram][diag] isolated polling ingress finished reason=polling stall detected inFlight=1 outcome=started startedAt=[timestamp] finishedAt=[same timestamp] durationMs=30668 offset=161256658

Impact and severity

Affected: Telegram channel polling. Severity: Medium, because polling restarts and ERROR logs are forced after sleep/resume even when the observed poll duration was normal. Frequency: three observed restarts in the analyzed two-day log window. Consequence: unnecessary Telegram polling restart cycles and noisy error diagnostics.

Additional information

The implicated code path was extensions/telegram/src/polling-liveness.ts active elapsed calculation.

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…

FAQ

Expected behavior

The first watchdog tick after a long sleep/resume gap should reset active polling liveness baselines instead of reporting an active stuck getUpdates request.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING