v2026.06.12 - Various bug fixes #42
Merged
Merged
Conversation
The hardcoded relative path (3 slashes) resolved to /app/data/speedarr.db instead of the actual database at /data/speedarr.db. Import the URL from app.config.settings to stay consistent with the main app.
Make duration_hours optional for temporary bandwidth limits, allowing indefinite limits that persist until explicitly cleared. Add UnRaid parity check, mover start/stop script examples to the API Keys integration guide with smart per-integration API key matching, red-highlighted placeholders for unmatched keys, and collapsible sections.
Fix qBittorrent authentication with 204 No Content response
qBittorrent supports auth bypass (and qui proxies handle auth upstream), but the test endpoint hard-required username and password while NZBGet and Transmission only require url. Align qBittorrent with that pattern and stop backfilling the visible username field from stored config, which produced misleading test results.
The set path converted Mbps to KB/s with a 1000-byte KB (x125), but NZBGet treats KB as 1024 bytes and the read path converts bytes/s back with the binary factor - so a 200 Mbps decision was applied as 204.8 Mbps and displayed as 195. Use x128 so set and get are symmetric and the dashboard matches the decision log exactly.
The bandwidth_calculation and manual_per_stream settings were saved but never read - calculate_stream_bandwidth() always used the Plex-reported bitrate plus overhead. In manual mode the configured value is now the exact per-stream reservation (no overhead applied) across the decision engine, dashboard reserved display, and post-stream bandwidth holds. The overhead field is hidden in the UI when manual mode is selected. Fixes #37
Failsafe shutdown speed toggles reset on revisit: the UI sends null when toggled off, the config store deletes keys on null, and reload restored the Pydantic defaults of 10.0. Defaults are now None so the null state round-trips. The client split sliders were never persisted at all - they now live in new shutdown_*_client_percents config fields (equal split when empty, defaults summing to exactly 100). The shutdown behavior itself was also unimplemented: shutdown now applies the configured speeds across clients per the percent split (upload only to torrent clients, unset directions restored) instead of always restoring full speeds. Both-off keeps the previous restore behavior. Fixes #38
With 3+ download clients the allocation percent getters normalized stored values against their sum on every render while edits wrote raw values, so each keystroke was redisplayed as a different number and spinners could move backwards. Getters now return raw stored values (the decision engine already normalizes at allocation time) and equal-split defaults sum to exactly 100 (e.g. 33/33/34).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.