soulsync/core/torrent_clients
BoulderBadgeDad b5d22bede5 Fix #790: torrent client URL without http:// scheme fails to connect
A bare host like '192.168.1.5:8080' or 'qbittorrent.lan:8080' (no scheme)
is what users naturally type, but requests then raises 'No connection
adapters were found for ...' — it can't pick an http/https adapter, and a
bare host:port even gets misparsed as scheme=host. This surfaced as the
generic 'qbittorrent probe failed' with a 'login error: No connection
adapters were found' in the logs.

Add normalize_client_url() in torrent_clients/base: default a missing scheme
to http:// (+ trim trailing slash), and route all three adapters'
_load_config through it. Transmission normalizes the base before appending
/transmission/rpc.

Tests: normalizer unit cases + per-adapter regression (bare host -> http://).

Note: usenet adapters (sabnzbd/nzbget) share the same pattern and need the
same treatment in a follow-up.
2026-06-04 11:57:53 -07:00
..
__init__.py feat(torrent): add adapter layer for qBittorrent, Transmission, Deluge 2026-05-20 15:10:30 -07:00
base.py Fix #790: torrent client URL without http:// scheme fails to connect 2026-06-04 11:57:53 -07:00
deluge.py Fix #790: torrent client URL without http:// scheme fails to connect 2026-06-04 11:57:53 -07:00
qbittorrent.py Fix #790: torrent client URL without http:// scheme fails to connect 2026-06-04 11:57:53 -07:00
transmission.py Fix #790: torrent client URL without http:// scheme fails to connect 2026-06-04 11:57:53 -07:00