BrowserUse_and_ComputerUse_.../gateway/platforms
Teknium 2bd8e5cb23
fix(telegram): auto-reconnect polling after network interruption
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.
2026-03-22 09:18:58 -07:00
..
__init__.py Enhance CLI with multi-platform messaging integration and configuration management 2026-02-02 19:01:51 -08:00
ADDING_A_PLATFORM.md docs: finish cron terminology cleanup 2026-03-14 19:20:58 -07:00
api_server.py fix(api_server): persist ResponseStore to SQLite across restarts (#2472) 2026-03-22 04:56:06 -07:00
base.py feat(discord): persistent typing indicator for DMs 2026-03-22 04:52:33 -07:00
dingtalk.py fix(dingtalk): requirements check passes with only one credential set 2026-03-17 03:50:45 -07:00
discord.py feat(discord): persistent typing indicator for DMs 2026-03-22 04:52:33 -07:00
email.py fix(email): guard against IndexError when IMAP search returns empty list 2026-03-22 04:38:17 -07:00
homeassistant.py fix: Home Assistant event filtering now closed by default (#1169) 2026-03-13 07:40:38 -07:00
matrix.py fix(matrix): use correct reply_to_message_id parameter name 2026-03-18 02:23:21 -07:00
mattermost.py Merge pull request #2443 from NousResearch/hermes/hermes-31d7db3b 2026-03-22 03:50:35 -07:00
signal.py fix(signal): use id instead of attachmentId in getAttachment RPC 2026-03-21 17:56:12 -07:00
slack.py refactor: centralize slash command registry (#1603) 2026-03-16 23:21:03 -07:00
sms.py fix(gateway): SMS persistent HTTP session + Matrix MIME media types 2026-03-17 04:35:14 -07:00
telegram.py fix(telegram): auto-reconnect polling after network interruption 2026-03-22 09:18:58 -07:00
webhook.py feat(gateway): add webhook platform adapter for external event triggers 2026-03-20 06:33:36 -07:00
whatsapp.py fix(gateway): restart on whatsapp bridge child exit (#2334) 2026-03-21 09:38:52 -07:00