-
v1.7.16 Stable
released this
2026-03-07 17:56:25 +01:00 | 361 commits to main since this releaseFix shelve stalling and add session-load safety net
Bug Fixes
Shelve mechanism completely reworked ("Viele Fehler (15x), Pause 5 min" fix)
- Fresh provider selection after shelve: When an item accumulates 15+ failures and gets shelved,
item.provideris now cleared so the next retry picks a fresh provider — identical to what manual stop/start does. Previously the item kept retrying the same broken provider. - Circuit breaker reset on shelve: The provider-level failure counter (
providerFailures) is now cleared for the old provider when an item is shelved. Previously the circuit breaker kept escalating cooldowns even after shelve, blocking ALL items for that provider. - Shelve duration reduced from 5 minutes to 90 seconds: Since manual restart works immediately (proving the issue is stale state, not a timing problem), a 5-minute pause was excessive. 90 seconds gives the provider time to recover while not stalling downloads unnecessarily.
Session-load safety net (protection against lost packages on update)
- Automatic backup restore: If the primary session file loads as empty (0 packages) but the backup file (
.bak) contains packages, the backup is automatically used instead. This prevents silent session loss during app updates. - Comprehensive session-load logging: Every session file read now logs the file path, package count, item count, and file size. Parse errors are logged instead of silently returning null.
- Shutdown save logging: The shutdown handler now logs how many packages and items are being saved, making it possible to trace session loss after the fact.
- DownloadManager init logging: Logs initial package/item count and cleanup policy on startup, so the full chain from load to display is traceable.
Downloads
- Fresh provider selection after shelve: When an item accumulates 15+ failures and gets shelved,