• v1.7.16 7e0d4e210f

    v1.7.16 Stable

    Administrator released this 2026-03-07 17:56:25 +01:00 | 361 commits to main since this release

    Fix 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.provider is 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