fix(slack): bound interactive API requests - #828
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
2 Skipped Deployments
|
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: ASSERTIVE Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Interactive Slack requests can currently wait indefinitely for HTTP responses, retry failed writes for roughly 30 minutes, or pause every request on the client while waiting through
Retry-After. Give interactive Bolt clients a five-second HTTP timeout, disable automatic write retries, and return rate-limit errors immediately. Socket Mode connection setup and OAuth retain their native retry behavior through separate installer client options.This bounds individual HTTP requests; it does not cancel an already-issued request immediately or establish a hard end-to-end run deadline. No schema, OAuth scope, manifest, or user setup changes.
Validation: 61 Slack tests passed, including real localhost HTTP regressions for stalled requests, failed-write replay, and rate-limit queue blocking. Root lint and all 33 typecheck tasks passed. Pre-push tests passed across 29 tasks (28 cached). Independently reviewed.
Based on current
staging; no dependencies. Overlaps #822 inapps/slack/src/index.tsand complements #819's cancellation handling. Native SDK behavior was verified against the installed 7.17.0 implementation and Slack's retry guidance.Summary by cubic
Bounding interactive Slack API requests so they time out after five seconds, stop retrying failed writes, and return rate-limit errors immediately. Socket Mode and OAuth keep their native retry behavior via separate installer client options.
SLACK_WEB_CLIENT_OPTIONSconfig with timeout, no retries, andrejectRateLimitedCalls.Written for commit a3a6881. Summary will update on new commits.