mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-05 13:42:53 +00:00
Handle the Telegram isolated-polling spool recovery race where a stale `.processing` claim can disappear between discovery and the final rename back to pending. Recovery now treats `ENOENT` as benign and mirrors the existing duplicate-pending cleanup path for `EEXIST`, avoiding noisy drain-failure logs and spurious failure counters without changing claim ownership semantics. Adds a regression test that removes the claim from inside `shouldRecover`, after recovery has discovered the entry and before the final rename path, so the old code would hit the reported `ENOENT` window. Fixes #87847 Co-authored-by: Sebastien Tardif <sebtardif@ncf.ca>