mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-02 15:21:34 +00:00
An untrusted channel plugin cannot open its durable ingress queue, but the shared ingress monitor resolved the queue lazily, so start() armed the poll timer anyway and every tick re-invoked the throwing factory. On a production gateway that produced one INFO-level "slack ingress drain failed" line per second for 26+ hours while Slack reported connected and healthy and every inbound event was silently dropped. Open the queue before arming the poll timer so an unusable monitor fails channel start through the caller instead of spinning. Also report the actual denied capability: openChannelIngressQueue and openSyncKeyedStore both announced themselves as openKeyedStore, and the message named neither the plugin nor its origin.