Merge pull request 'fix: QBittorrent fallback state corruption after full sync' (#23) from fix-qbittorrent-client into develop-merge
Build and Push Docker Image / build (push) Has been cancelled
CI / Security audit (push) Has been cancelled
CI / Tests & coverage (push) Has been cancelled
Licence Check / Licence compatibility and copyright header verification (push) Has been cancelled

Reviewed-on: #23
This commit was merged in pull request #23.
This commit is contained in:
2026-05-20 21:01:36 +01:00
+10
View File
@@ -159,6 +159,11 @@ class QBittorrentClient extends DownloadClient {
if (this.fallbackThisCycle) {
logToFile(`[qBittorrent:${this.name}] Already fell back this cycle, using legacy`);
const torrents = await this.getTorrentsLegacy();
this.torrentMap = new Map();
for (const torrent of torrents) {
this.torrentMap.set(torrent.hash, torrent);
}
this.lastRid = 0;
return torrents.map(torrent => this.normalizeDownload(torrent));
}
@@ -170,6 +175,11 @@ class QBittorrentClient extends DownloadClient {
this.fallbackThisCycle = true;
try {
const torrents = await this.getTorrentsLegacy();
this.torrentMap = new Map();
for (const torrent of torrents) {
this.torrentMap.set(torrent.hash, torrent);
}
this.lastRid = 0;
return torrents.map(torrent => this.normalizeDownload(torrent));
} catch (fallbackError) {
logToFile(`[qBittorrent:${this.name}] Fallback also failed: ${fallbackError.message}`);