slackapi / slackapi/node-slack-sdk

What can I do about `Retry header did not contain a valid timeout`?

Open
#1,421 21 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug pkg:web-api server-side-issue
Dominant language
TypeScript
Stars
3.4k
Forks
688
Avg merge
15h 31m
Merged PRs (30d)
27

Description

Hey there,

I've been running into 3 occurrences of this error: Retry header did not contain a valid timeout (from here)

The client was using the outdated 5.15.0 WebApi, so it didn't tell me the url.

My main questions are

  • is there a way to prevent getting rate limit responses w/o retrySec information?
  • are there any ideas about what causes this?
  • Is there a best practice on how to handle these?

Thanks in advance

Packages:

Select all that apply:

  • @slack/web-api
  • @slack/rtm-api
  • @slack/webhooks
  • @slack/oauth
  • @slack/socket-mode
  • I don't know
Reproducible in:
npm ls | grep -o "\S\+@\S\+$" | tr @ ' ' | awk -v q='"' '{print q$1q": "q"^"$2q","}' | grep slack
node --version
sw_vers && uname -v # or `ver`
The Slack SDK version

@slack/web-api: 5.15.0

Python runtime version

v15.14.0

OS info

Chrome/98.0.4758.80
Macintosh; Intel Mac OS X 10_15_7

Steps to reproduce:

(Share the commands to run, source code, and project settings)

  1. Send a slack message
  2. Receive a 429
  3. Miss the timeout
Expected result:

I don't know, assume a default timeoutSec?

Actual result:

(Tell what actually happened with logs, screenshots)

Requirements

For general questions/issues about Slack API platform or its server-side, could you submit questions at https://my.slack.com/help/requests/new instead. 🙇

Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with packages/web-api/src/WebClient.ts at the reported retry-header handling around line 417, using the 5.15.0 context and the listed 429 reproduction steps. Compare the observed missing timeout with the client’s existing behavior; done would require a clearly agreed explanation or handling change, which this issue does not currently specify.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, typescript
Domain
api
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.