Commit graph

452 commits

Author SHA1 Message Date
Roger Far
2822653d3b Merge branch 'main' of https://github.com/rogerfar/rdt-client 2026-06-05 20:16:42 -06:00
Roger Far
e8a86cf806 Fix torbox save path mapping for single file downloads.
Some checks failed
Release Docker Image / build (map[arch:amd64 platform:linux/amd64 runs-on:ubuntu-latest]) (push) Has been cancelled
Release Docker Image / build (map[arch:arm64 platform:linux/arm64 runs-on:ubuntu-24.04-arm]) (push) Has been cancelled
Create GitHub Release / Test, Build, and Bundle (push) Has been cancelled
dotnet test / build (push) Has been cancelled
Release Docker Image / push-images (push) Has been cancelled
Create GitHub Release / Create GitHub release (push) Has been cancelled
2026-06-05 20:16:14 -06:00
omgbeez
a7fb1e3e9d
fix(sabnzbd): Fix delete implementation to respect finished action 2026-05-31 17:12:13 -04:00
Roger Far
a9013e0c2a
Merge pull request #986 from asylumexp/fix/torbox-database-error
[TorBox] fix: remove usage of GetHashInfoAsync
2026-05-30 08:55:56 -06:00
Sam Heinz
c6f6008591 Migrate existing TorBox torrents RdId 2026-05-29 23:04:22 +10:00
Sam Heinz
e1635a43a9 fix: remove usage of GetHashInfoAsync
Removes GetHashInfoAsync, and only uses the actual torrentId.

This was originally required as cachedtorrents endpoints used to use a different torrentId to the regular torrent endpoints for whatever reason, but luckily they figured out a while ago that that was not a good idea and just combined them which means calling API to search for hashes isnt needed anymore, hopefully this will reduce rate limiting a bit.
2026-05-28 14:50:39 +10:00
Roger Far
767038528a Cleanup. 2026-05-27 22:04:30 -06:00
Roger Far
68edd4d80d Merge branch 'main' of https://github.com/rogerfar/rdt-client
# Conflicts:
#	server/RdtClient.Service.Test/GlobalTestConfig.cs
#	server/RdtClient.Web.Test/Controllers/QBittorrentControllerTest.cs
#	server/RdtClient.Web.Test/GlobalTestConfig.cs
#	server/RdtClient.Web/Controllers/QBittorrentController.cs
2026-05-27 21:57:27 -06:00
Roger Far
d6f747c8d8 Add quick fix to reject torrents that error out as soon as they are added. 2026-05-27 21:50:21 -06:00
Roger Far
4eb34cbef9
Merge pull request #983 from asylumexp/fix/torbox-database-error
[TorBox] Handle rate limits/database errors for unrestricted links with download delays
2026-05-27 21:49:16 -06:00
Sam Heinz
a86056a3ef handle rate limiting and database errors by delaying downloads 2026-05-26 20:16:07 +10:00
Antonin Lenfant-Kodia
8142225ee9 fix(tests): restore parallel execution 2026-05-18 21:30:31 +02:00
Roger Far
284ef44e30
Merge pull request #975 from ALenfant/fix/ci-failure-974
Fix race condition causing CI failure
2026-05-17 15:34:39 -06:00
Antonin Lenfant-Kodia
8e49e500ea fix(ci): Resolve race conditions in tests and fix unused variable warning
- Refactored Torrents.cs to use local DbSettings instead of global Settings.Get

- Removed unused exception variable in Torrents.cs

- Disabled xUnit parallelization globally to prevent test race conditions caused by shared global state

- Enforced sequential test execution in CI workflow
2026-05-17 23:26:17 +02:00
Roger Far
7aa6c03fee Cleanup. 2026-05-17 14:17:13 -06:00
Roger Far
62e286104a
Merge pull request #974 from ALenfant/main
Add Premiumize NZB support
2026-05-17 14:13:07 -06:00
Antonin Lenfant-Kodia
d68b8b9bfe Add Premiumize NZB support 2026-05-17 21:49:21 +02:00
jwmann
cc977cfe29
Merge branch 'main' into feature/FixQBittorrentImportPath 2026-05-15 18:29:27 -04:00
jwmann
a62d84779e
Fix DeleteOnError provider retry loop 2026-05-14 16:48:38 -04:00
jwmann
cd1310c1e9
Add additional compatibility when a Torrent stores its media file within a Sub Folder 2026-04-28 21:20:40 -04:00
jwmann
7c1169d0dd
Fix QBit Import Path for Single File Torrents 2026-04-28 21:20:28 -04:00
Roger Far
7f60f9de5a Cleanup, fixed failing build. 2026-04-27 21:04:26 -06:00
Roger Far
f2bfae5f85
Merge pull request #960 from omgbeez/upstream/perf-1
Few cleanups and perf fixes
2026-04-27 21:00:41 -06:00
Roger Far
d6bf1845d8
Merge pull request #961 from omgbeez/upstream/race-fix
fix: Race conditions when deleting torrent and adding downloads.
2026-04-27 20:12:20 -06:00
jwmann
28b7c79a6b
Allow Moq to intercept TorrentInfo in tests 2026-04-24 00:09:00 -04:00
jwmann
797c58e654
Fix qBittorrent compatibility for CleanupArr workflows 2026-04-23 22:13:38 -04:00
omgbeez
63fd8caee9 fix: Race conditions when deleting/updating a torrent and its downloadable files 2026-04-23 00:22:09 -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
0b726792cb Add torrents/trackers qBittorrent endpoint for cleanuparr compatibility. 2026-03-01 11:24:11 -07: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
Roger Far
480d881d92 Reverted SharpCompress to 0.42.1 due to file locking issues.
Some checks failed
Release Docker Image / build (map[arch:amd64 platform:linux/amd64 runs-on:ubuntu-latest]) (push) Has been cancelled
Release Docker Image / build (map[arch:arm64 platform:linux/arm64 runs-on:ubuntu-24.04-arm]) (push) Has been cancelled
Create GitHub Release / Test, Build, and Bundle (push) Has been cancelled
dotnet test / build (push) Has been cancelled
Release Docker Image / push-images (push) Has been cancelled
Create GitHub Release / Create GitHub release (push) Has been cancelled
2026-02-21 16:04:36 -07:00
Roger Far
7c94528847
Merge pull request #931 from omgbeez/upstream/nzb-delete-actions
Handle NZB finished actions in `Sabnzbd` service
2026-02-21 15:18:41 -07:00
Roger Far
f4e1cf4717
Merge pull request #930 from omgbeez/upstream/downloads-fix
Fix broken download status in the UI
2026-02-21 15:18:08 -07:00
Roger Far
d023bddd24
Merge pull request #928 from omgbeez/upstream/tb-statuses
Adding some missing status mappings for TorBox
2026-02-21 15:17:13 -07:00
omgbeez
e36a5a07e5 Handle NZB finished actions in Sabnzbd service 2026-02-20 17:23:21 -05: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
f32e8316e2 Adding some missing status mappings for TorBox 2026-02-20 11:38:57 -05:00
omgbeez
0ca2517eb6 Fix ETA calculation for QBittorrent API 2026-02-20 10:56:56 -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
Roger Far
d6020594ef Cleanup. 2026-02-18 21:34:51 -07:00
omgbeez
991ecefe3c Clarify error messages in TorrentRunner to distinguish between provider and runner errors. 2026-02-13 17:09:16 -05:00
omgbeez
33d8c2d825 Align Sabnzbd status reporting with updated TorrentStatus values. 2026-02-13 17:08:51 -05:00
omgbeez
f25cef711b Improve TorBox status mapping to TorrentStatus and log any unmapped statuses for debugging. 2026-02-13 17:06:57 -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
omgbeez
e93e4f6f22 Usenet support 2026-02-13 13:15:57 -05:00