Problem
When OpenClaw attempts to send a Telegram message (sendMessage, sendChatAction) and the network request fails transiently, the message is permanently lost with no retry.
From gateway.err.log:
[telegram] sendMessage failed: Network request for 'sendMessage' failed!
[telegram] final reply failed: HttpError: Network request for 'sendMessage' failed!
Over 16 days of logs, there were 9 confirmed lost outbound messages out of ~1,732 total fetch failures (most being benign long-poll reconnections). The lost messages are replies to the user that simply never arrive — no notification, no queue, no retry.
Impact
- User sends a message, gets no reply, has to ask again
- Cron job results can be silently lost
- Sub-agent completion notifications disappear
- No way to know a message was dropped unless the user notices
Suggested Behavior
- On transient network failure (TypeError: fetch failed, 5xx, timeout), retry the send with exponential backoff (e.g., 1s, 3s, 10s — 3 attempts max)
- If all retries fail, queue the message to a local file (e.g.,
pending-messages.json) for delivery on next successful connection
- Optionally log dropped messages so the agent can detect and re-send on heartbeat
Environment
- OpenClaw running as gateway daemon on macOS
- Telegram channel via long-polling (not webhook)
- Network is generally stable (Wi-Fi, caffeinate active) but has brief transient drops (~1 per 2 days that hits an outbound send)
Problem
When OpenClaw attempts to send a Telegram message (sendMessage, sendChatAction) and the network request fails transiently, the message is permanently lost with no retry.
From gateway.err.log:
Over 16 days of logs, there were 9 confirmed lost outbound messages out of ~1,732 total fetch failures (most being benign long-poll reconnections). The lost messages are replies to the user that simply never arrive — no notification, no queue, no retry.
Impact
Suggested Behavior
pending-messages.json) for delivery on next successful connectionEnvironment