$ the-wire · showcase
Telegram lane recovery fixes stuck inbound events
By RepoJournal · Filed · About OpenClaw
OpenClaw shipped fixes that unblock Telegram inbound events stuck behind live-held claims and image-heavy sessions that silently failed to compact.
OpenClaw fixed a class of Telegram isolated-ingress failures where a claim held by a live worker could stall the whole lane. PR #95299 [1] now recovers claims that exceeded the spooled handler timeout and aren't owned by active handler state, failing them with `lane-released-on-stuck` through the existing token-guarded durable spool path. The same effort [2] wakes the Telegram isolated polling drain immediately after a worker-spooled update lands in `channel_ingress_events`, and fixes the race where pending drains were lost while a drain was already active. Stuck updates now dead-letter and later updates in the same topic drain without a gateway restart.
Compaction also got a real fix. The cut-point estimator charged images 4800 chars in the tool-result branch but zero in the user branch, so image-heavy recent turns never reached the keep-recent budget and compacted to a no-op, looping on context overflow [3]. The shared per-image accounting now applies to both branches [4]. Separate housekeeping landed in the GoogleChat test suite [5] and in fs-safe's write and identity paths [6].
Docs mirrored five times from openclaw/openclaw [7] [8] [9] [10] [11], tracking the underlying code changes.
Action items
- → Update OpenClaw to include the Telegram lane recovery and drain fixes before relying on isolated-ingress for critical traffic openclaw/openclaw [immediate]
- → Watch sessions with image-heavy recent turns to confirm compaction now trims instead of no-oping openclaw/openclaw [monitor]
- → Pull the latest openclaw/docs mirrors to keep local docs in sync with behavior changes openclaw/docs [plan]
- → Review the fs-safe write and identity hardening if you depend on atomic filesystem operations openclaw/fs-safe [plan]
References
- [1] fix #95248: OpenClaw release_lane is a no-op when claim is held by a live worker; stuck Telegram inbound events block agent response until gateway restart ↗ openclaw/openclaw
- [2] fix #86957: drain worker-spooled Telegram updates immediately ↗ openclaw/openclaw
- [3] fix(compaction): count user-message image blocks in cut-point estimator ↗ openclaw/openclaw
- [4] fix(compaction): count user-message image blocks in cut-point estimator (#95128) ↗ openclaw/openclaw
- [5] fix(googlechat): remove useless test string concatenation ↗ openclaw/openclaw
- [6] fix: harden fs-safe write and identity paths ↗ openclaw/fs-safe
- [7] chore(sync): mirror docs from openclaw/openclaw@674b4f337241a7e773c908995a86c9e9b8713045 ↗ openclaw/docs
- [8] chore(sync): mirror docs from openclaw/openclaw@0374892fd86d942fc50b23ef1b0136f967d28d96 ↗ openclaw/docs
- [9] chore(sync): mirror docs from openclaw/openclaw@9e8ab083dd6b9df4dadf40ee523ff18ac1472bd3 ↗ openclaw/docs
- [10] chore(sync): mirror docs from openclaw/openclaw@a0714a3d685516b8e2a88d0667f6fb0324d497bd ↗ openclaw/docs
- [11] chore(sync): mirror docs from openclaw/openclaw@ec7a548062d3ad489079d6737da973a9171bad28 ↗ openclaw/docs