Commit graph

115 commits

Author SHA1 Message Date
Antonin Lenfant-Kodia
8142225ee9 fix(tests): restore parallel execution 2026-05-18 21:30:31 +02:00
jwmann
a62d84779e
Fix DeleteOnError provider retry loop 2026-05-14 16:48:38 -04:00
omgbeez
5c71ecc211 Mem and CPU perf fixes 2026-04-21 22:19:06 -04:00
Roger Far
66bd4560a8 Run formatters. 2026-03-14 13:41:30 -06:00
omgbeez
41787077db Add remaining seconds display during rate-limit and improve cooldown handling 2026-03-07 18:04:12 -05:00
omgbeez
67afe189b5 Refactor TorBoxDebridClientTest to include IRateLimitCoordinator and improve test consistency across methods. Updated logging and error handling for rate-limiting scenarios. 2026-03-07 17:57:42 -05:00
Roger Far
41f816ab80 Cleanup. 2026-02-23 20:04:53 -07:00
Roger Far
81dd3dd9f8
Merge pull request #923 from omgbeez/upstream/resilience
Add resilience handler, predictive rate limit handling
2026-02-23 08:36:35 -07:00
omgbeez
db511929cd Addressing bug from qodo review 2026-02-20 16:13:25 -05:00
omgbeez
2db2af4cea Fix broken download status in the UI 2026-02-20 15:59:47 -05:00
omgbeez
a023d33d90 Add resilience handler, predictive rate limit handling
- Applied to TorBox, can be extended easily to other providers
- Reads response headers commonplace for pre-emptive rate limit throttling and retry-after
- When a rate limit is reached, displays a warning in the UI
- Fix socket leak from direct allocation of HttpClient, replaced with factory which handles pooling and re-use of sockets.

While HttpClient is Disposable, it doesn't gaurantee (and does not) directly release underlying sockets for queries at the time the client is disposed. These sockets will go into a TCP WAIT state often for a very long time. The expected pattern in C# is to always use the HttClientFactory which will correctly handle re-use of the OS sockets in suqsequent queries reducing resource and memory leaks.
2026-02-20 09:47:13 -05:00
omgbeez
991ecefe3c Clarify error messages in TorrentRunner to distinguish between provider and runner errors. 2026-02-13 17:09:16 -05:00
omgbeez
40be170677 Refactor download progress calculation to use centralized stats and simplify logic across services.
- Fixes an issue where progress goes back to 50% as soon as downloads are done
- Prevents copy and update of torrent/nzb list by not updating download stats on every use, most callers don't require this data, notable perf/memory improvement.
2026-02-13 17:06:12 -05:00
Roger Far
a9648248f4 Global formatting. 2026-02-11 19:44:49 -07:00
destrodxbad
27398ba993 Add automatic disk space monitoring for Bezzad downloader 2025-11-09 03:05:56 +01:00
Roger Far
f3d0b31fea Merge branch 'main' of https://github.com/rogerfar/rdt-client 2025-07-28 22:00:45 -06:00
Roger Far
d9858409db Cleanup, make sure the RD API adheres to the set timeout when trying to add a magnet or file. 2025-07-28 21:46:20 -06:00
Cucumberrbob
1be3e98ad7
Update server/RdtClient.Service/Services/TorrentRunner.cs
Co-authored-by: qodo-merge-pro[bot] <151058649+qodo-merge-pro[bot]@users.noreply.github.com>
2025-07-06 22:05:29 +01:00
Cucumberrbob
6bc9c06faa
add setting to delay FinishedAction 2025-07-06 21:59:36 +01:00
Roger Far
6ec3b1072b
Update server/RdtClient.Service/Services/TorrentRunner.cs
Co-authored-by: qodo-merge-pro[bot] <151058649+qodo-merge-pro[bot]@users.noreply.github.com>
2025-05-18 11:11:17 -06:00
Cucumberrbob
e17c8c5c1a
make setting UnpackLimit to 0 turn unpacking off 2025-05-17 13:30:22 +01:00
Roger Far
4f770d923a
Merge pull request #795 from Cucumberrbob/fix/censor-downloadstation-password
fix: censor download station password when logging settings at startup
2025-04-23 21:45:32 -06:00
Cucumberrbob
03459d0129
fix: censor download station password when logging settings at startup 2025-04-20 12:14:56 +01:00
Cucumberrbob
a4f20fd3a4
fix: catch and handle errors when dequeuing torrent 2025-04-20 12:00:21 +01:00
Roger Far
a25cd62ab0 Moved the websocket update process to its own background thread to improve UI update consistency. 2025-04-13 09:53:15 -06:00
Roger Far
5270375f5c
Merge branch 'main' into feat/debrid-queue 2025-04-13 09:16:46 -06:00
Cucumberrbob
74e6d2cf95
don't add torrents straight to debrid provider, add to queue first, dequeue in TorrentRunner 2025-03-21 13:09:59 +00:00
Cucumberrbob
609c67e0c6
Merge branch 'master' into refactor/get-download-info 2025-03-16 15:46:36 +00:00
Sam Heinz
7a822bef5c [TB] fix: extract folder move logic 2025-03-17 00:28:19 +10:00
Sam Heinz
10176357e4 [TB] fix: unpacking zip downloads
may have unintended consequences by fixing this as it may now unpack zips in individual file downloads that aren't intended to be unpacked?
2025-03-12 23:05:19 +10:00
Cucumberrbob
e776236270
Use richer GetDownloadInfos instead of GetDownloadLinks
*Most* debrid providers know the filename as soon as they know the restricted links. By allowing them to tell the program this at an earlier stage, we don't need the `GetFileName` call for most debrid providers
2025-03-11 12:12:16 +00:00
YvesPa
7d2d7fa35f Merge remote-tracking branch 'rogerfar/master' 2025-01-10 16:27:04 +01:00
Sam Heinz
9d03c20aaa [TB] Change DownloadHelper to use download.FileName
Also adds the UpdateFileName function to DownloadHelper & DownloadData to push FileName to DB
2024-12-10 23:47:55 +10:00
YvesPa
047326a30f Add Synology Download Station 2024-09-23 12:51:04 +02:00
Roger Versluis
06c034f18a Fixed download path issue with Aria2c when a category is set.
Some checks failed
Docker Image CI / build (push) Has been cancelled
2024-05-03 10:26:15 -06:00
Roger Far
dbb502a164 Add recursive searching for the symlink downloader. 2024-04-20 09:47:51 -06:00
Roger Far
367e195ed6 Symlink fixes.
Some checks failed
Docker Image CI / build (push) Has been cancelled
2024-04-08 20:36:42 -06:00
Roger Far
e5dfb0e027 Add fixes for the symlink downloader from https://github.com/Pukabyte/rdtclient . 2024-04-06 14:52:11 -06:00
Roger Far
3b72463663 Added bit of logging to debug downloader issues, upgraded packages, cleaned up C# code. 2024-04-06 13:54:58 -06:00
Roger Far
4fb0a8d726 Fixed issue where a lot of downloads could be tried in 1 go, causing a bit of a DOS to real-debrid, fixed the status of the torrent as error incorrectly when some downloads are errored out.
Some checks failed
Docker Image CI / build (push) Has been cancelled
2024-02-17 15:34:49 -07:00
Roger Far
ed01900f69 Upgrade packages, fixed potential logging issue? 2024-02-12 19:38:00 -07:00
Roger Far
a78ff95643 Try using the file/folder structure when downloading. 2024-01-21 22:35:28 -07:00
Roger Far
71e1aae5ab Force delete from activedownloads and activeunpacks when a torrent has been deleted. 2024-01-21 22:27:15 -07:00
Roger Far
a5709ae52e Fixed torrent runner retry for downloaders.
Some checks failed
Docker Image CI / build (push) Has been cancelled
2024-01-08 21:52:51 -07:00
Roger Far
1817bd7508 Add logging. 2024-01-07 12:09:11 -07:00
Roger Far
12eefa028b Run the torrent complete before deleting the torrent. 2024-01-05 11:38:39 -07:00
Roger Far
95574847e9 Fixed setup screen and some labels. Removed 100 char limit on inputs. 2024-01-05 11:37:01 -07:00
Roger Far
ba3a12e305 Store the download client on the Torrent itself when creating the download. Make sure the torrent doesn't get automatically deleted on the debrid client when the symlink downloader is used. 2024-01-05 09:42:18 -07:00
Roger Versluis
5a8ab0789a Reverted some changes from the gaisberg PR. 2023-10-03 08:15:00 -06:00
Gaisberg
fe77391e7f Symlink downloader performance fixes
- Added concurrent downloading for symlink downloader
- Use FinishAction configuration setting for QBittorrent delete endpoint
- Add symlink downloader readme section
2023-10-02 18:20:29 +03:00