Skip to content

feat: add Deluge download client support#263

Merged
vavallee merged 2 commits intomainfrom
feature/261-deluge-support
Apr 19, 2026
Merged

feat: add Deluge download client support#263
vavallee merged 2 commits intomainfrom
feature/261-deluge-support

Conversation

@vavallee
Copy link
Copy Markdown
Owner

Closes #261

Summary

  • New internal/downloader/deluge package: cookie-based JSON-RPC client for the Deluge Web UI (/json endpoint)
  • Magnet links use core.add_torrent_magnet (hash returned directly); torrent URLs use web.download_torrent_from_url + web.add_torrents with poll-based hash resolution (same pattern as qBittorrent)
  • Labels applied after add via the label plugin; errors ignored gracefully when plugin is not installed
  • Stall detection: torrents in Error state
  • Full adapter surface wired: TestClient, SendDownload, RemoveDownload, GetStalledIDs, GetLiveStatuses
  • Frontend: Deluge added to client type dropdowns in both Add and Edit forms (port defaults to 8112, no username field, label plugin hint text)

Test plan

  • go test ./internal/downloader/... — all pass (7 new Deluge tests covering login, add magnet, add URL, get torrents, remove, stall state)
  • Add Deluge client in Settings UI — dropdown appears, port pre-fills to 8112, no username field shown, label hint visible
  • Test connection button reaches Deluge and authenticates
  • Grab a torrent release — download appears in Activity with live progress
  • Remove a download — torrent removed from Deluge

Implements Deluge Web UI JSON-RPC client alongside the existing
qBittorrent and Transmission clients. Covers the full adapter surface:
add torrent (magnet + URL), live status polling, stall detection, and
removal. Labels are applied via the Deluge label plugin when a category
is configured; plugin absence is handled gracefully.
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 18, 2026

Codecov Report

❌ Patch coverage is 43.91534% with 106 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
internal/downloader/deluge/client.go 55.03% 42 Missing and 25 partials ⚠️
internal/downloader/adapter.go 2.50% 38 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

@vavallee vavallee merged commit d1d5b2c into main Apr 19, 2026
20 checks passed
@vavallee vavallee deleted the feature/261-deluge-support branch April 19, 2026 00:54
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.

Deluge support

1 participant