diff --git a/CHANGELOG.md b/CHANGELOG.md index d47cb14..af51518 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- A download that stops partway is given up after two minutes without data, instead of holding up every scan and download until a restart. - On a phone, the closed feed list no longer shades the left edge of the page with its shadow. - On an iPhone, the top bar's colour runs all the way up behind the status bar and the Dynamic Island, with no band of another colour above it. - A feed's buttons stay on one row on a narrow phone, and the reader's buttons stay together instead of breaking across lines under a long feed name. diff --git a/src/main.rs b/src/main.rs index ad47b6c..1231c2b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -293,6 +293,9 @@ async fn main() -> Result<()> { .user_agent(concat!("ipx/", env!("CARGO_PKG_VERSION"))) // Connecting only, so it bounds a download's start, not a long download (#108). .connect_timeout(std::time::Duration::from_secs(10)) + // Two minutes without a byte is a stalled download, however long it is: unbounded, one + // held the worker, and every scan behind it, for good, while the daemon read healthy (#152). + .read_timeout(std::time::Duration::from_secs(120)) .build()?, feed_client: reqwest::Client::builder() .user_agent(concat!("ipx/", env!("CARGO_PKG_VERSION")))