-
-
Notifications
You must be signed in to change notification settings - Fork 79.1k
Feishu plugin lacks retry logic for API rate limit errors #70879
Copy link
Copy link
Closed
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:queueable-fixClawSweeper marked this issue as an existing queue_fix_pr work candidate.ClawSweeper marked this issue as an existing queue_fix_pr work candidate.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:message-lossChannel message delivery can be lost, duplicated, or misrouted.Channel message delivery can be lost, duplicated, or misrouted.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Feishu's custom bot has a per-minute API call rate limit (100 requests/min). When the sending frequency approaches this limit, Feishu server returns error codes like 2200 (internal error) or 11232 (flow control).
Currently, OpenClaw's Feishu plugin treats these errors as regular exceptions — it logs them and continues, without any retry mechanism. This means when a send fails due to rate limiting, there's no recovery: the sender assumes the message was sent, but the receiver never gets it.
This doesn't only affect long (chunked) messages — any message can fail whenever the send frequency hits the limit. It's purely a frequency issue.
Suggestion: add exponential backoff retry logic for Feishu message sending, targeting retryable error codes (2200, 11232, 429, etc.) to improve delivery reliability.