Commit graph

98 commits

Author SHA1 Message Date
Roger Far
767038528a Cleanup. 2026-05-27 22:04:30 -06:00
Sam Heinz
a86056a3ef handle rate limiting and database errors by delaying downloads 2026-05-26 20:16:07 +10: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
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
178270084e no message
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-23 20:14:27 -07:00
Roger Far
41f816ab80 Cleanup. 2026-02-23 20:04:53 -07: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
a5f9cd353b SqLite doesn't support OrderBy on DateTimeOffset types
Sorting will require a copy to fix this for the moment, could probably change the underlying type later to prevent this.
2026-02-13 13:22:41 -05:00
omgbeez
e93e4f6f22 Usenet support 2026-02-13 13:15:57 -05:00
Roger Far
d76d26131c Remove obsolete caching. 2026-02-11 20:24:27 -07: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
a9648248f4 Global formatting. 2026-02-11 19:44:49 -07:00
destrodxbad
15af54ed24 perf(cache): Remove aggressive cache invalidation and optimize queries 2025-11-18 02:04:51 +01:00
Cucumberrbob
6bc9c06faa
add setting to delay FinishedAction 2025-07-06 21:59:36 +01: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
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
Cucumberrbob
fd073b4762
Add interfaces for TorrentData, Downloads, Process, ProcessFactory
Making them interfaces lets us dependency inject them, allowing a given class to be tested.
2025-02-17 21:57:29 +00: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
Roger Versluis
ee5b5f8dc3 Upgrade to .NET 9, code cleanup. 2024-11-18 03:39:12 -07: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
bec2dcd20b Add internal downloader logger. 2024-04-06 16:28:03 -06:00
Roger Far
c21d578a23 Style fixes. 2024-04-06 14:58:07 -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
b0823f596d Add regex option to include or exclude files. 2024-02-12 21:39:02 -07:00
Roger Far
ed01900f69 Upgrade packages, fixed potential logging issue? 2024-02-12 19:38:00 -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
d01cb71866 Add bulk change settings modal. 2024-01-05 10:28:22 -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
Roger Versluis
3b9a68c92f Add "Post download action" to the settings dialog. 2023-09-02 16:20:41 -06:00
Roger Far
7732649b4b Add request logging and include complete % in the logs. 2023-06-11 13:42:14 -06:00
Roger Far
187a428ba7 Add setting to skip downloading the files to the host. 2022-10-18 12:06:03 -06:00
Roger Far
95306264fd Allow updating the category of a torrent. 2022-10-18 11:15:17 -06:00
Roger Far
599fc5011a Fixed issue with some settings not saving. 2022-05-31 07:41:23 -06:00
Roger Far
3b507730e4 Fixed settings for the qBittorrent integration. 2022-05-15 09:12:09 -06:00
Roger Far
e3b38d2834 Add nullable to the projects. 2022-05-13 18:51:04 -06:00
Roger Far
fc15569e1b Rewrote the setting store, retrieve and displaying on the settings page to make maintenance a lot easier.
Added settings to set defaults for the provider import, sonarr, gui and watch folders.
2022-05-13 14:39:52 -06:00
Roger Far
3fe9680e35 Add watch folder monitor. 2022-04-30 12:18:30 -06:00
Roger Far
cd6002b5d6 Upgrade packages
Moved C# code to file scoped namespaces
Merged Startup.cs and Program.cs
2022-04-30 11:22:15 -06:00
Roger Far
6ca403f7f2 Add running of external applications. 2022-03-19 15:12:37 -06:00
Roger Far
dc16108983 Added setting to set the category when a torrent is imported from RealDebrid or other provider. 2022-02-06 16:46:18 -07:00
Roger Far
6a2533aa3b Added lifetime setting to automatically expire torrents after a certain amount of time. 2022-02-06 16:03:12 -07:00
Roger Far
25f8c70b17 Added setting to automatically delete torrents in the state of error after a certain amount of time. 2022-02-06 15:34:36 -07:00
Roger Far
4d5dfc34a4 Add auto import and auto delete functionality. 2021-11-21 14:40:16 -07:00
Roger Far
8774243d2f Add AllDebrid support. 2021-10-30 18:48:32 -06:00