From 42ebd2c74b5b6ecdecbd39e3fcb90c9eb8b5507c Mon Sep 17 00:00:00 2001 From: omgbeez <251408589+omgbeez@users.noreply.github.com> Date: Sat, 17 Jan 2026 12:33:31 -0500 Subject: [PATCH] Calculate remaining time based on download speed and bytes remaining --- server/RdtClient.Service/Services/QBittorrent.cs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/server/RdtClient.Service/Services/QBittorrent.cs b/server/RdtClient.Service/Services/QBittorrent.cs index 95b5832..ceefdab 100644 --- a/server/RdtClient.Service/Services/QBittorrent.cs +++ b/server/RdtClient.Service/Services/QBittorrent.cs @@ -232,14 +232,10 @@ public class QBittorrent(ILogger logger, Settings settings, Authent var progress = (rdProgress + downloadProgress) / 2.0; var remaining = TimeSpan.Zero; - if (progress > 0.001 && progress < 1.0) + var bytesRemaining = bytesTotal - bytesDone; + if (speed > 0 && bytesRemaining > 0) { - var startTime = torrent.Retry > torrent.Added ? torrent.Retry.Value : torrent.Added; - var elapsed = DateTimeOffset.UtcNow - startTime; - var elapsedTicks = Math.Max(0, elapsed.Ticks); - var totalEstimatedTime = TimeSpan.FromTicks((Int64)(elapsedTicks / progress)); - remaining = totalEstimatedTime - TimeSpan.FromTicks(elapsedTicks); - + remaining = TimeSpan.FromSeconds(bytesRemaining / (Double)speed); // In case there is clock skew if (remaining < TimeSpan.Zero) {