From 4df45ede58e770fa23a392c0985bdf8a544ef919 Mon Sep 17 00:00:00 2001 From: redmars27 Date: Thu, 30 Apr 2026 10:58:25 +0200 Subject: [PATCH] Separate read and write stream timeouts in download file --- .../Backend/MovistarCloud/MovistarCloudApiClient.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Duplicati/Library/Backend/MovistarCloud/MovistarCloudApiClient.cs b/Duplicati/Library/Backend/MovistarCloud/MovistarCloudApiClient.cs index beb523d0f..dfcdcfc7f 100644 --- a/Duplicati/Library/Backend/MovistarCloud/MovistarCloudApiClient.cs +++ b/Duplicati/Library/Backend/MovistarCloud/MovistarCloudApiClient.cs @@ -516,10 +516,11 @@ internal sealed class MovistarCloudApiClient : IDisposable using var resp = await Http.GetAsync(signedUrl, HttpCompletionOption.ResponseHeadersRead, ct).ConfigureAwait(false); resp.EnsureSuccessStatusCode(); - await using var rs = await resp.Content.ReadAsStreamAsync(ct).ConfigureAwait(false); - await using var timeoutStream = rs.ObserveWriteTimeout(timeout, false); + await using var rs = await resp.Content.ReadAsStreamAsync(ct).ConfigureAwait(false); + await using var timeoutReadStream = rs.ObserveReadTimeout(timeout, false); await using var fs = File.Create(localFilePath); - await timeoutStream.CopyToAsync(fs, ct).ConfigureAwait(false); + await using var timeoutWriteStream = fs.ObserveWriteTimeout(timeout, false); + await timeoutReadStream.CopyToAsync(timeoutWriteStream, ct).ConfigureAwait(false); } ///