fix: apply httpIdleTimeoutMs to all providers, not just Codex Responses
The HTTP timeout setting (httpIdleTimeoutMs) was only used as a fallback for the openai-codex-responses API. For other providers like openai-completions (llama.cpp), the SDK default timeout (10 min) was used instead, ignoring the user's disabled timeout setting. Now httpIdleTimeoutMs applies universally as the default SDK request timeout for all providers that support timeoutMs. Setting HTTP timeout = false (0) correctly disables SDK timeouts across the board. closes #5294
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed HTTP timeout setting not being respected for non-Codex providers (e.g., llama.cpp via OpenAI-compatible API). The `httpIdleTimeoutMs` setting (set via `/settings` HTTP timeout) now applies as the default SDK request timeout for all providers that support it, not just OpenAI Codex Responses. Disabling the timeout (HTTP timeout = false) now correctly disables SDK timeouts for all supported providers ([#5294](https://github.com/earendil-works/pi/issues/5294)).
|
||||
- Fixed opening and listing very large JSONL session files by reading session entries line-by-line instead of materializing the full file as one string ([#5231](https://github.com/earendil-works/pi/issues/5231)).
|
||||
|
||||
## [0.78.0] - 2026-05-29
|
||||
|
||||
@@ -343,9 +343,7 @@ export async function createAgentSession(options: CreateAgentSessionOptions = {}
|
||||
}
|
||||
const providerRetrySettings = settingsManager.getProviderRetrySettings();
|
||||
const timeoutMs =
|
||||
options?.timeoutMs ??
|
||||
providerRetrySettings.timeoutMs ??
|
||||
(model.api === "openai-codex-responses" ? settingsManager.getHttpIdleTimeoutMs() : undefined);
|
||||
options?.timeoutMs ?? providerRetrySettings.timeoutMs ?? settingsManager.getHttpIdleTimeoutMs();
|
||||
const websocketConnectTimeoutMs =
|
||||
options?.websocketConnectTimeoutMs ?? settingsManager.getWebSocketConnectTimeoutMs();
|
||||
const attributionHeaders = getAttributionHeaders(model, settingsManager, options?.sessionId);
|
||||
|
||||
Reference in New Issue
Block a user