From bfdd26879e4386eccd3541717dc552c3216bcad5 Mon Sep 17 00:00:00 2001 From: New2Niu <19551155+New2Niu@users.noreply.github.com> Date: Fri, 12 Jun 2026 01:22:26 -0700 Subject: [PATCH] fix(cli): bound self-update HTTP waits Harvest #3006 for the v0.8.59 release lane. The self-update HTTP client now uses a five-minute timeout so blocked or very slow GitHub release downloads fail instead of hanging indefinitely. --- CHANGELOG.md | 3 +++ crates/cli/src/update.rs | 2 ++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e360a728..65a0925b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 table and falls back to `[providers.siliconflow]` only for unset `api_key`/`base_url`/`model` fields. Thanks @Artenx for the report and @idling11 for the PR. +- **Self-update download timeout (#3006).** `codewhale update` now applies a + five-minute HTTP client timeout so blocked or very slow GitHub release + downloads fail instead of hanging indefinitely. Thanks @New2Niu for the PR. - **TUI mouse-report leak (#3063/#3067).** Strip raw SGR mouse coordinate tails from the composer even when `use_mouse_capture` is false, covering orphaned terminal reporting state after crashes or focus races. diff --git a/crates/cli/src/update.rs b/crates/cli/src/update.rs index c9d9ca7c..abce2e06 100644 --- a/crates/cli/src/update.rs +++ b/crates/cli/src/update.rs @@ -17,6 +17,7 @@ use codewhale_release::{ }; use reqwest::Proxy; use std::io::Write; +use std::time::Duration; /// Run the self-update workflow. pub fn run_update(beta: bool, check_only: bool, proxy_arg: Option) -> Result<()> { @@ -367,6 +368,7 @@ fn update_http_client(proxy: Option<&Proxy>) -> Result