From 35d6fff916602ea9ca8e4269c24b674d1d30f70a Mon Sep 17 00:00:00 2001 From: Broque Thomas <26755000+Nezreka@users.noreply.github.com> Date: Sun, 19 Apr 2026 17:29:46 -0700 Subject: [PATCH] Fix wishlist albums cycle forced to 1 concurrent worker Auto-wishlist albums cycle was passing is_album=True to _get_batch_max_concurrent which returns 1 for soulseek mode. This restriction is for folder-based album grabs from a single peer, not individual track downloads. Wishlist always does single-track downloads regardless of cycle, so it should use the user's configured concurrency setting. --- web_server.py | 5 +++-- webui/static/helper.js | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/web_server.py b/web_server.py index 8f4e882c..a6e6a1f4 100644 --- a/web_server.py +++ b/web_server.py @@ -22529,6 +22529,7 @@ def get_version_info(): "• Reject Qobuz 30-second sample/preview downloads", "• Fix library page crash on All filter — non-string soul_id broke card rendering", "• Auto Wing It fallback for failed discovery — unmatched tracks download via Soulseek with raw metadata", + "• Fix wishlist albums cycle stuck at 1 concurrent worker instead of configured value", "• Fix downloads badge dropping to 300 after opening Downloads page", "• Fix server playlist Find & Add inserting at wrong position on Plex", "• Smarter Fix modal results — standard album versions sorted above live/remix/cover/soundtrack variants", @@ -24222,7 +24223,7 @@ def _process_wishlist_automatically(automation_id=None): 'playlist_name': playlist_name, 'queue': [], 'active_count': 0, - 'max_concurrent': _get_batch_max_concurrent(is_album=(current_cycle == 'albums')), + 'max_concurrent': _get_batch_max_concurrent(), # Wishlist always does single-track downloads, not folder grabs 'queue_index': 0, 'analysis_total': len(wishlist_tracks), 'analysis_processed': 0, @@ -25428,7 +25429,7 @@ def start_wishlist_missing_downloads(): 'playlist_name': playlist_name, 'queue': task_queue, 'active_count': 0, - 'max_concurrent': _get_batch_max_concurrent(is_album=(category == 'albums')), + 'max_concurrent': _get_batch_max_concurrent(), # Wishlist always does single-track downloads, not folder grabs 'queue_index': 0, 'analysis_total': len(wishlist_tracks), 'analysis_processed': 0, diff --git a/webui/static/helper.js b/webui/static/helper.js index 422f4ecb..8e1c6fec 100644 --- a/webui/static/helper.js +++ b/webui/static/helper.js @@ -3602,6 +3602,7 @@ const WHATS_NEW = { '2.33': [ // --- April 19, 2026 --- { date: 'April 19, 2026' }, + { title: 'Fix Wishlist Albums Cycle Stuck at 1 Concurrent', desc: 'Auto-wishlist processing during the "albums" cycle was limited to 1 concurrent download even with higher configured settings. The max_concurrent=1 restriction is only needed for Soulseek folder-based album grabs, not individual wishlist track downloads. Albums cycle now uses the configured concurrency like singles' }, { title: 'Fix Downloads Badge Dropping to 300', desc: 'Downloads nav badge showed the correct count from WebSocket but dropped to max 300 after opening the Downloads page because it recounted from a truncated local array. Badge now stays accurate from the server-side count' }, { title: 'Fix Server Playlist Find & Add Position', desc: 'When using "Find & add" on server playlists with Plex, the track was always appended to the end instead of inserted at the correct position. Now moves the track to the right slot after adding' }, { title: 'Smarter Fix Modal Search Results', desc: 'The discovery Fix modal now sorts search results to prioritize standard album versions over live recordings, remixes, covers, soundtracks, remasters, and deluxe editions. Previously the first result was often a live or remix version instead of the original studio track' },