feat(sdk): default HTTP timeout of 5s, overridable - #64
Draft
snopoke wants to merge 1 commit into
Draft
Conversation
The generated client was constructed without a timeout, which httpx reads as "no timeout", so a stalled request could block a task indefinitely. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Settings.get_client()never passed a timeout to the generated client, whose own default istimeout=None— which httpx treats as no timeout rather than its 5s default. A hung connection to the API could therefore block a task forever.Now defaults to 5s, overridable via
init(timeout=...)orTASKBADGER_HTTP_TIMEOUT(the env var is what makes it reachable from the CLI, which buildsSettingsinternally).httpx.Timeoutinstances pass through, sohttpx.Timeout(None)is still an escape hatch for anyone who was relying on the old behaviour.5s is a guess at a sane default — it's httpx's own, and these are small API calls — but it is a behaviour change for anyone whose API requests currently take longer than that.