BUG: qBittorrentClient missing seeds/peers fields in normalized output + unsafe response parsing #64
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description:
The qBittorrent implementation (
server/clients/QBittorrentClient.js) fails to expose important torrent health information (seeds and peers) that is readily available from the Sync API, and contains unsafe response parsing that can cause crashes.Detailed Investigation Findings (release/1.7.31)
1. Missing Seeds & Peers
num_complete(seeds) andnum_incomplete(peers/leechers) in torrent objects.normalizeDownload()completely ignores these fields.seedsandpeersdespite being part of the claimed feature set ("seeds, peers, availability").2. Unsafe Response Parsing
3. Fallback Logic Issues
/api/v2/torrents/info, state (lastRid,torrentMap) is reset in a way that can cause repeated full syncs or missed deltas on recovery.Impact:
Proposed Solution / Fix Plan:
seeds: torrent.num_complete || 0andpeers: torrent.num_incomplete || 0tonormalizeDownload().Cross-Dependencies:
Suggested Labels:
Kind/Bug, Priority: Medium, Area/Download Clients, Compat/Non-Breaking
Affected Versions: All versions since qBittorrent support was added.