fix: prevent vision_analyze timeouts on larger local images - #8168
fix: prevent vision_analyze timeouts on larger local images#8168konsisumer wants to merge 1 commit into
Conversation
b3ab7a7 to
ec6a7be
Compare
|
Rebased onto origin/main. One conflict resolved in |
7e95c72 to
eb8c4df
Compare
|
No new changes needed. Branch is already rebased onto origin/main. All 85 tests across the PR's own files ( |
eb8c4df to
e53491d
Compare
|
No new changes needed. Branch is cleanly rebased onto origin/main; all 85 tests across the PR's own files (tests/tools/test_vision_tools.py, tests/hermes_cli/test_auth_provider_gate.py, tests/run_agent/test_real_interrupt_subagent.py) pass locally. The remaining CI failures are in 9 files this PR never modified — pre-existing upstream issues. |
e53491d to
162d7b5
Compare
|
No new changes needed. Branch is cleanly rebased onto origin/main; all 85 tests across the PR's own files ( |
162d7b5 to
efbce04
Compare
|
No new changes needed. Branch is cleanly rebased onto origin/main; all 85 tests across the PR's own files ( |
efbce04 to
2a9f965
Compare
|
No new changes needed. Branch is cleanly rebased onto origin/main; all 85 tests across the PR's own files ( |
2a9f965 to
cceaf4a
Compare
|
Rebased onto origin/main (2 new upstream commits). All 85 tests across the PR's own files ( |
cceaf4a to
6a08439
Compare
|
Rebased onto origin/main (10 new upstream commits, all ACP/openrouter/weixin — no conflicts with PR files). All 85 tests across the PR's own files ( |
6a08439 to
af456d1
Compare
|
Closing — on reflection, the diff includes unexplained changes to auth_provider_gate and interrupt_subagent tests unrelated to the vision timeout fix. If this still seems valuable, please reopen with feedback on what to change. |
Summary
Fixes #8120 —
vision_analyzefrequently times out when analyzing local images, especially in WSL2 environments with images around 150-200 KB.Root cause: Three compounding issues:
timeout: 30for vision, but the code default is 120s — users who copied the example got premature timeoutsChanges:
_PROACTIVE_COMPRESS_BYTES), reducing payload size and upload time_is_timeout_error)timeout: 120matching the code defaultauxiliary.vision.timeoutconfig keyTest plan
TestIsTimeoutError— 6 tests covering APITimeoutError, class-name detection, string matching, and negative casesTestProactiveCompressConstant— sanity check on threshold boundsTestTimeoutRetry— end-to-end async test verifying retry succeeds after initial timeout with a large PNG