Skip to content

fix(telegram): auto-reconnect polling after network interruption - #2517

Merged
teknium1 merged 1 commit into
mainfrom
hermes/hermes-31d7db3b
Mar 22, 2026
Merged

fix(telegram): auto-reconnect polling after network interruption#2517
teknium1 merged 1 commit into
mainfrom
hermes/hermes-31d7db3b

Conversation

@teknium1

Copy link
Copy Markdown
Contributor

Cherry-pick of #2477 by @Mibayy. Fixes #2476.

Network errors (Mac sleep, WiFi switch, VPN) silently killed Telegram polling. Adds exponential backoff reconnect (5s→60s, 10 attempts) matching the existing conflict handler pattern. Retryable-fatal after exhaustion so supervisors can restart.

Closes #2476

The polling error callback previously only handled Conflict errors
(409 from multiple getUpdates callers). All other errors, including
NetworkError and TimedOut that python-telegram-bot raises when the
host loses connectivity (Mac sleep, WiFi switch, VPN reconnect),
were logged and silently discarded. The bot would stop responding
until manually restarted.

Fix:
- Add _looks_like_network_error() to classify transient connectivity
  errors (NetworkError, TimedOut, OSError, ConnectionError).
- Add _handle_polling_network_error() with exponential back-off
  reconnect: retries up to 10 times with delays 5s, 10s, 20s, 40s,
  60s (capped). On exhaustion, marks the adapter retryable-fatal so
  launchd/systemd can restart the gateway process.
- Refactor _polling_error_callback() to route network errors to the
  new handler before falling through to a generic error log.
- Track _polling_network_error_count (reset on successful reconnect)
  independently from _polling_conflict_count.
@teknium1
teknium1 merged commit 55a27a3 into main Mar 22, 2026
1 check passed
angelburgosrosado pushed a commit to angelburgosrosado/hermes-agent that referenced this pull request Apr 27, 2026
…31d7db3b

fix(telegram): auto-reconnect polling after network interruption
02356abc pushed a commit to 02356abc/hermes-agent that referenced this pull request May 14, 2026
…31d7db3b

fix(telegram): auto-reconnect polling after network interruption
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
…31d7db3b

fix(telegram): auto-reconnect polling after network interruption
waefrebeorn pushed a commit to waefrebeorn/slermes that referenced this pull request Jul 2, 2026
…31d7db3b

fix(telegram): auto-reconnect polling after network interruption
melon-xf added a commit to melon-xf/hermes-agent that referenced this pull request Sep 3, 2026
…31d7db3b

fix(telegram): auto-reconnect polling after network interruption
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Telegram polling doesn't auto-recover after Mac network interruption (sleep, WiFi switch, VPN reconnect)

1 participant