Skip to content

Add Deluge download client support#697

Draft
Algorant wants to merge 1 commit into
Listenarrs:canaryfrom
Algorant:feature/deluge-download-client-v2
Draft

Add Deluge download client support#697
Algorant wants to merge 1 commit into
Listenarrs:canaryfrom
Algorant:feature/deluge-download-client-v2

Conversation

@Algorant

@Algorant Algorant commented Jun 23, 2026

Copy link
Copy Markdown

Summary

Adds Deluge Web JSON-RPC as a supported download client.

Fixes #240.

Changes

Added

  • DelugeAdapter implementing Listenarr download-client operations via Deluge Web JSON-RPC:
    • connection/authentication check
    • add torrent
    • remove torrent
    • queue/item monitoring
    • import item lookup
    • download status polling
  • Named Deluge HttpClient registration with cookie support for Deluge Web sessions.
  • Deluge adapter registration with IDownloadClientAdapterFactory.
  • Deluge frontend configuration support:
    • client type option
    • default port 8112
    • optional URL base/reverse-proxy prefix
    • category/label guidance
  • README supported-client documentation for Deluge.
  • Backend adapter tests covering lifecycle status mapping, category filtering, daemon connection, external torrent id matching, and completed/imported status preservation.

Changed

  • Download client type definitions/configuration now include deluge.
  • Download client settings UI now lists Deluge alongside qBittorrent, Transmission, SABnzbd, and NZBGet.

Fixed

  • Deluge monitor/import matching uses the external torrent id/hash instead of the Listenarr client/config id.

Testing

  • dotnet test tests/Listenarr.Tests.csproj --filter FullyQualifiedName~DelugeAdapterTests
    • Passed: 12/12
  • cd fe && npm run type-check && npm run lint:check
    • Passed
  • Push hook also ran:
    • backend format check
    • frontend type check
    • frontend tests: 74 passed, 1 skipped test file; 378 tests passed

Notes

  • Branch is based on latest canary.
  • Deluge label/category support requires the Deluge Label plugin to be enabled.
  • UI change is limited to download-client configuration fields; screenshots can be added if maintainers want visual confirmation.

Checklist

  • Code follows project style guidelines
  • Self-review of code completed
  • Comments added for complex logic where useful
  • Tests added/updated
  • Relevant backend tests pass
  • Frontend type check and lint pass
  • Documentation updated in README supported clients
  • Rebased on latest canary

@Algorant Algorant requested a review from a team June 23, 2026 16:27
@Algorant Algorant marked this pull request as draft June 23, 2026 16:30
@Algorant

Copy link
Copy Markdown
Author

This is my attempt at adding deluge as a download client. It is currently working in my homelab on my fork. Open to feedback/suggestions.

Note: my agent pushed this pr when I meant to keep it as a draft. Switched it to draft after creation.

@therobbiedavis

Copy link
Copy Markdown
Collaborator

@Algorant I know this is still in draft but there was a large backend refactor that was just merged. This will need to be rebased.

@Algorant

Copy link
Copy Markdown
Author

Sure no problem! I've been following canary. I'll get it sorted.

@Algorant Algorant force-pushed the feature/deluge-download-client-v2 branch from 8bb6111 to 4572870 Compare June 24, 2026 22:03
@therobbiedavis

Copy link
Copy Markdown
Collaborator

Heads up: PR #599 changes the download-client architecture and should be treated as the new base for additional clients.

Deluge should be rebased on #599 and refactored to match the new boundaries: thin adapter facade, client-specific infrastructure workflows, GetQueueAsync(client) as the full queue snapshot path, GetQueueAsync(client, ids) as targeted monitor polling, gateway-owned remote path mapping, and client-specific import item resolution before the processor decides a source is unavailable.

@Algorant

Algorant commented Jul 2, 2026

Copy link
Copy Markdown
Author

Makes sense thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] Deluge client support

2 participants