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.
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
Roger Far
8e5238844e
Merge pull request #926 from omgbeez/upstream/qbt-eta-fix
...
Fix ETA calculation for QBittorrent API
2026-02-21 15:16:16 -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
6d0cb6ceb5
Minor fixes for Qodo
2026-02-20 10:34:30 -05:00
omgbeez
ed397f8223
Update Logger to use TorrentRunner.GetStats for consistent download statistics
2026-02-20 09:57:57 -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
ccee652572
Upgrade packages.
2026-02-18 21:35:02 -07: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
Roger Far
580c7132c6
Cleanup.
2026-02-11 20:22:28 -07:00
Roger Far
0c5e38e01a
Merge branch 'main' into main
2026-02-11 20:20:47 -07:00
Roger Far
01a26c614b
Merge branch 'main' into upstream/websocket-perf
2026-02-11 20:04:57 -07:00
Roger Far
6b85d7bbbc
Merge branch 'main' into upstream/qbt-eta
2026-02-11 20:02:18 -07:00
Roger Far
a9648248f4
Global formatting.
2026-02-11 19:44:49 -07:00
Roger Far
24321a55c9
Upgrade Angular to 21 and .NET to 10.
2026-02-11 19:40:23 -07:00
omgbeez
42ebd2c74b
Calculate remaining time based on download speed and bytes remaining
2026-01-17 12:33:31 -05:00
omgbeez
9454ea1bd1
Refactored torrent and download models with DTOs to simplify serialization and API responses.
2026-01-17 12:23:16 -05:00
omgbeez
6cef70b979
Simplify download progress and remaining time calculations in QBittorrent service.
2026-01-17 12:21:13 -05:00
destrodxbad
47355030b5
perf(database): Configure SQLite with WAL mode and connection pooling
2025-11-18 02:03:13 +01:00
destrodxbad
a7bb8da1d5
perf(websocket): Fix scope leak and add adaptive polling
2025-11-18 02:01:41 +01:00
destrodxbad
6db556ed5c
Fix: Bug refresh
2025-11-14 18:04:41 +01:00
destrodxbad
f12f28a8bb
Fix: Refresh disk space status while paused
2025-11-14 15:17:11 +01:00
destrodxbad
27398ba993
Add automatic disk space monitoring for Bezzad downloader
2025-11-09 03:05:56 +01:00
Roger Versluis
123c4f29c6
Remove internal downloader.
2025-10-06 20:15:07 -06:00
Roger Far
02a97f3170
Add banned tracker setting.
2025-08-04 22:40:11 -06: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
Cucumberrbob
0461058d86
set user agent for all HttpClients from IHttpClientFactory
2025-06-14 14:02:39 +01:00
Cucumberrbob
32fe929f48
Merge pull request #816 from mentalblank/magnet-enrichment
...
Tracker Enrichment
2025-05-31 12:42:13 +01:00
MentalBlank
98042f8040
Improved enrichment validation, logging, and test coverage.
...
Strengthened URL Validation.
Improved HTTP Client Configuration.
Logged total rejected tracker count at the information level.
Logged individual rejected tracker details at the debug level.
Debug logs for bytes and enriched bytes are now conditional.
Converted some tests from Fact to Theory.
Used Assert.Collection in EnricherTest.cs.
Standardized URL Encoding in Enricher.cs.
2025-05-25 21:50:26 +10:00
MentalBlank
4be3280c3a
Enricher code refactoring with small tweaks.
...
Added additional tests.
Changed enricher class to sealed.
Changed logging.
Changed how trackers are added.
Fixed some issues around edge cases.
2025-05-24 02:16:27 +10:00
Roger Far
bb9cc67ff7
Revert Synolog.Api.Client because of breaking changes.
2025-05-22 19:38:30 -06:00
MentalBlank
452d8cc1cf
Split tracker grabbing and parsing logic.
...
Split grab and parse logic, recheck cache after semaphore lock, timeouts, add URL validation check, add torrent file tests, replace test hash with valid SHA1 format, tracker URL validation, fix token disposal issue
2025-05-23 00:02:07 +10:00
MentalBlank
408c475af5
Tracker list caching with configurable expiration
...
Add new option to general settings that allows the user to set the time in minutes to cache the tracker list. 0 disables caching. Default value is 60.
2025-05-21 00:45:14 +10:00
MentalBlank
80a8a1020c
Expand enrichment to torrent files
2025-05-20 03:27:41 +10:00
Roger Far
4801b94c64
Upgrade packages.
2025-05-18 11:31:38 -06:00
Roger Far
2a38d43a1b
Merge pull request #817 from Cucumberrbob/feat/turn-off-auto-unpack
...
Don't unpack if `UnpackLimit` is set to `0`
2025-05-18 11:11:49 -06: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
Roger Far
f131726cce
Merge pull request #813 from Cucumberrbob/fix/providerupdater-logging-categoryname
...
fix: make `ProviderUpdater` log under the correct category name
2025-05-18 11:06:13 -06:00
Cucumberrbob
e17c8c5c1a
make setting UnpackLimit to 0 turn unpacking off
2025-05-17 13:30:22 +01:00
Cucumberrbob
5de0bac9d5
reformat EnrichMagnetLink
2025-05-15 23:37:17 +01:00
MentalBlank
ae66b40a3d
Allow user to define tracker list
2025-05-16 07:57:48 +10:00
MentalBlank
e6a22f6780
Magnet Enrichment
...
Add magnet link enrichment using configurable tracker lists from ngosang/trackerslist
2025-05-15 19:48:41 +10:00
Cucumberrbob
ba821ebc2f
use ILogger<ProviderUpdater> for ProviderUpdater, not ILogger<TaskRunner>
2025-05-14 14:45:06 +01:00
Cucumberrbob
e7c2b42bd2
lock RealDebridUpdateLock when dequeuing, not when adding to the queue
2025-05-14 14:05:33 +01:00
Roger Far
0265a48aa8
Merge pull request #798 from Cucumberrbob/fix/auto-import-host-download-action
...
fix: Set `HostDownloadAction` when auto-importing torrents
2025-04-23 21:45:58 -06: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
8929ba19d2
fix: Set HostDownloadAction when auto-importing torrents
...
we had a setting for it, just never used it!
2025-04-22 20:16:18 +01:00
Cucumberrbob
03459d0129
fix: censor download station password when logging settings at startup
2025-04-20 12:14:56 +01:00
Cucumberrbob
5ba630ff52
fix: don't autodelete queued torrents
2025-04-20 12:00:47 +01:00
Cucumberrbob
a4f20fd3a4
fix: catch and handle errors when dequeuing torrent
2025-04-20 12:00:21 +01:00
Cucumberrbob
b620e29209
Run WebsocketsUpdater as a HostedService
2025-04-13 18:32:59 +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
Roger Far
d436ea2482
Merge branch 'main' of https://github.com/rogerfar/rdt-client
2025-04-13 07:55:26 -06:00
Roger Far
c651d21e81
Cleanup, upgrade packages.
2025-04-13 07:55:22 -06:00
Roger Far
a9485827ce
Merge pull request #783 from Cucumberrbob/feat/tb-optional-zipping
...
[TB] Make zipped downloads optional
2025-04-13 07:55:05 -06:00
Cucumberrbob
478cc0e714
Merge branch 'main' into fix/pm-all-files-excluded
2025-04-13 14:52:09 +01:00
Cucumberrbob
75f115fd42
[TB] Make zipped downloads optional
2025-04-13 14:47:12 +01:00
Roger Far
1ce3d20541
Merge pull request #769 from Cucumberrbob/fix/rd-exclude-all
...
fix: return number of files selected from `SelectFiles` so we can handle all files excluded for RD
2025-04-13 07:41:55 -06:00
Roger Far
770e32c2cb
Merge pull request #765 from Cucumberrbob/feat/rd-configurable-api-url
...
feat: add setting to change RD api hostname
2025-04-13 07:41:05 -06:00
Roger Far
88358c8272
Merge pull request #754 from Cucumberrbob/perf/tb-dont-refetch-torrentlist-in-providerupdater
...
[TB] use `torrentClientTorrent` (if passed) instead of re-fetching in `UpdateData`
2025-04-13 07:40:16 -06:00
Cucumberrbob
84d144ed7b
[PM] Return empty list, not null when all files filtered out in GetDownloadLinks
2025-04-09 10:41:50 +01:00
Cucumberrbob
aa3f24ff50
Return number of selected files from SelectFiles so we can handle all files being excluded
2025-03-27 12:01:53 +00:00
Cucumberrbob
3780a954a2
add setting to change RD api hostname
2025-03-23 14:08:27 +00:00
Cucumberrbob
99ea3f008f
fix merge (again!)
2025-03-23 13:32:37 +00:00
Cucumberrbob
5a1b96b909
Merge remote-tracking branch 'origin/main' into fork/Cucumberrbob/refactor/get-download-info
...
# Conflicts:
# server/RdtClient.Service.Test/Services/TorrentClients/AllDebridTorrentClientTest.cs
# server/RdtClient.Service/Services/TorrentClients/AllDebridTorrentClient.cs
# server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs
2025-03-23 13:30:05 +00:00
Roger Far
091b976b9b
Update packages.
2025-03-21 15:10:54 -06:00
Roger Far
3d4e656121
Merge pull request #755 from Cucumberrbob/perf/providerupdater-dont-update-when-all-rdfinished
...
`ProviderUpdater`: don't run if all torrents finished and `AutoImport == false`
2025-03-21 15:07:12 -06:00
Roger Far
2eddeaecb7
Merge pull request #747 from Cucumberrbob/feat/ignore-updates
...
feat: Allow ignoring update notifications (but notify anyway if GHSA found)
2025-03-21 15:04:37 -06:00
Roger Far
2be825e248
Merge pull request #741 from Cucumberrbob/feat/ad-rd-exclude-all-fail-torrent
...
feat: [AD] [RD] don't download anything when all files excluded
2025-03-21 14:14:18 -06:00
Roger Far
0b7749376a
Merge pull request #735 from Cucumberrbob/fix/tb-include-version-in-user-agent
...
include version when setting torbox api client useragent
2025-03-21 14:12:30 -06:00
Cucumberrbob
7eb1a610b4
use ternary not (Boolean) switch
2025-03-21 13:35:51 +00: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
e9c4544d34
ProviderUpdater: don't run if all torrents finished and AutoImport == false
2025-03-17 20:50:09 +00:00
Cucumberrbob
ab5a013edb
[TB] use torrentClientTorrent (if it's passed) instead of fetching in UpdateData
...
Makes `ProviderUpdater` only cause 2 API requests each run rather than `O(n)` where `n` is the number of torrents
2025-03-17 20:24:31 +00:00
Cucumberrbob
e6f7db0763
fix merge
2025-03-16 15:49:46 +00:00
Cucumberrbob
609c67e0c6
Merge branch 'master' into refactor/get-download-info
2025-03-16 15:46:36 +00:00
Cucumberrbob
93fac23128
run dotnet format
2025-03-16 15:34:25 +00:00
Sam Heinz
afc7d1a964
[TB] fix: replace Contains with EndsWith
2025-03-17 00:50:51 +10:00
Sam Heinz
7a822bef5c
[TB] fix: extract folder move logic
2025-03-17 00:28:19 +10:00
Sam Heinz
7d1aeed85c
[TB] fix: getting provider in UnpackClient
...
Co-authored-by: Cucumberrbob <128094686+Cucumberrbob@users.noreply.github.com>
2025-03-16 23:33:17 +10:00
Sam Heinz
bd96795f34
[TB] fix: moving hash dir files too far up
2025-03-16 20:45:34 +10:00
Sam Heinz
9d57466472
[TB] fix: download urls still not returning filename via HEAD.
2025-03-16 20:45:34 +10:00
Sam Heinz
fd7bc529c8
[TB] fix: move MoveHashDirectoryUpTB to TorBoxTorrentClient
2025-03-16 20:45:34 +10:00