Miguel Palhas and Claude Opus 5
ab4f95b166
ci / web (push) Successful in 32s
ci / rust (push) Successful in 3m26s
e2e / e2e (push) Failing after 5m2s
ci / image (push) Successful in 4m1s
feat(dl): replace Transmission with qBittorrent
...
qBittorrent's add call answers `Ok.` and nothing else — no hash, no name,
no duplicate signal — so arr derives the v1 infohash from the magnet or the
`.torrent` bytes before the call and looks the torrent up by it. That also
drops Transmission's numeric torrent id: the hash is the only identity now.
The reaper needs "stopped because a share limit was reached", and
qBittorrent's state field cannot tell that apart from a hand-paused torrent.
So the ratio and idle counters are checked against the limits arr set, and a
torrent stopped by a global limit reads as still seeding rather than being
deleted.
The WebUI needs a login, so `ARR_QBITTORRENT_USERNAME` and
`ARR_QBITTORRENT_PASSWORD` join the env-only secrets; leaving both unset is
valid for an instance that whitelists arr's subnet.
Verified against qBittorrent 5 (WebAPI 2.15.1) in a container: it rejects
`setShareLimits` without `shareLimitAction`, which 4.x ignores, so it is
always sent.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-08-29 18:13:50 +01:00
..
2026-08-22 22:38:31 +01:00
2026-08-23 14:56:51 +01:00
2026-08-22 21:00:35 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 23:27:03 +01:00
2026-08-25 11:05:59 +01:00
2026-08-29 18:13:50 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 05:32:08 +01:00
2026-08-22 23:21:30 +01:00
2026-08-24 18:12:10 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 21:43:03 +01:00
2026-08-22 21:43:03 +01:00
2026-08-24 22:15:14 +01:00
2026-08-24 22:45:55 +01:00
2026-08-25 02:16:20 +01:00
2026-08-25 03:03:17 +01:00
2026-08-25 11:17:33 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 22:45:55 +01:00
2026-08-23 01:40:53 +01:00
2026-08-25 08:28:51 +01:00
2026-08-25 11:49:44 +01:00
2026-08-25 11:05:59 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 09:13:37 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 22:45:55 +01:00
2026-08-22 21:43:03 +01:00
2026-08-24 23:27:03 +01:00
2026-08-25 11:05:59 +01:00
2026-08-22 23:02:34 +01:00
2026-08-22 20:40:31 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 23:02:34 +01:00
2026-08-23 14:56:51 +01:00
2026-08-25 02:29:13 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 01:40:53 +01:00
2026-08-25 03:03:17 +01:00
2026-08-22 21:00:35 +01:00
2026-08-25 02:40:12 +01:00
2026-08-25 09:55:18 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 11:05:59 +01:00
2026-08-24 16:43:53 +01:00
2026-08-25 12:11:46 +01:00
2026-08-25 08:29:59 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 01:40:53 +01:00
2026-08-22 23:42:36 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 22:15:14 +01:00
2026-08-23 09:08:52 +01:00
2026-08-25 12:11:46 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 18:10:52 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 09:13:37 +01:00
2026-08-25 12:11:46 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 02:40:12 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 23:02:34 +01:00
2026-08-24 20:10:23 +01:00
2026-08-24 23:27:03 +01:00
2026-08-25 10:49:02 +01:00
2026-08-24 21:46:13 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 14:56:51 +01:00
2026-08-24 20:14:48 +01:00
2026-08-25 09:55:18 +01:00
2026-08-23 19:34:55 +01:00
2026-08-24 23:26:55 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 02:10:49 +01:00
2026-08-25 11:05:59 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 21:46:13 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 16:43:53 +01:00
2026-08-23 14:56:51 +01:00
2026-08-24 21:46:13 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 03:03:17 +01:00
2026-08-25 10:20:37 +01:00
2026-08-25 02:40:12 +01:00
2026-08-22 23:02:34 +01:00
2026-08-25 08:29:59 +01:00
2026-08-22 21:43:03 +01:00
2026-08-25 18:10:52 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 18:10:52 +01:00
2026-08-25 11:40:32 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 23:27:03 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 23:27:03 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 23:27:03 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 17:59:45 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 22:15:14 +01:00
2026-08-24 18:12:10 +01:00
2026-08-24 20:10:23 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 10:20:37 +01:00
2026-08-24 20:14:48 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 16:43:53 +01:00
2026-08-23 18:23:41 +01:00
2026-08-23 17:59:45 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 18:24:50 +01:00
2026-08-24 21:46:13 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 03:03:17 +01:00
2026-08-22 23:42:36 +01:00
2026-08-23 09:13:37 +01:00
2026-08-24 23:27:03 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 23:27:03 +01:00
2026-08-23 09:08:52 +01:00
2026-08-25 05:32:08 +01:00
2026-08-24 21:46:13 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 23:02:34 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 18:10:52 +01:00
2026-08-23 02:31:50 +01:00
2026-08-22 23:02:34 +01:00
2026-08-23 01:40:53 +01:00
2026-08-24 21:46:13 +01:00
2026-08-25 12:11:46 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 18:10:52 +01:00
2026-08-23 18:24:50 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 22:45:55 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 02:16:20 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 19:51:28 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 11:40:32 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 20:10:23 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 18:10:52 +01:00
2026-08-25 18:10:52 +01:00
2026-08-23 01:40:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 22:15:14 +01:00
2026-08-24 21:46:13 +01:00
2026-08-25 02:10:49 +01:00
2026-08-25 02:29:13 +01:00
2026-08-23 19:34:55 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 22:45:55 +01:00
2026-08-22 23:02:34 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 10:20:37 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 23:27:03 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 11:28:35 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 21:46:13 +01:00
2026-08-23 01:40:53 +01:00
2026-08-22 23:23:56 +01:00
2026-08-22 23:21:30 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 11:49:44 +01:00
2026-08-23 17:59:45 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 11:17:33 +01:00
2026-08-23 01:40:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 21:43:03 +01:00
2026-08-23 17:45:09 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 23:02:34 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 23:02:34 +01:00
2026-08-23 17:45:09 +01:00
2026-08-24 23:27:03 +01:00
2026-08-23 01:40:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 11:05:59 +01:00
2026-08-24 16:43:53 +01:00
2026-08-23 19:34:55 +01:00
2026-08-23 22:12:05 +01:00
2026-08-23 18:24:50 +01:00
2026-08-24 23:27:03 +01:00
2026-08-24 21:46:13 +01:00
2026-08-24 22:15:14 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 17:45:09 +01:00
2026-08-24 23:27:03 +01:00
2026-08-25 08:28:51 +01:00
2026-08-22 22:38:31 +01:00
2026-08-23 09:02:42 +01:00
2026-08-24 23:27:03 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 20:40:31 +01:00
2026-08-25 08:29:59 +01:00
2026-08-23 14:56:51 +01:00
2026-08-24 22:45:55 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 02:16:20 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 22:45:55 +01:00
2026-08-24 18:10:53 +01:00
2026-08-23 22:12:05 +01:00
2026-08-24 20:14:48 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-25 02:29:13 +01:00
2026-08-24 18:10:53 +01:00
2026-08-22 22:38:31 +01:00
2026-08-24 23:27:03 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 18:10:53 +01:00
2026-08-24 21:46:13 +01:00
2026-08-25 11:05:59 +01:00
2026-08-22 23:21:30 +01:00
2026-08-23 17:45:09 +01:00
2026-08-24 22:45:55 +01:00