From bd45e8951584b683c80d45b4f0a01a5625265de6 Mon Sep 17 00:00:00 2001 From: Broque Thomas <26755000+Nezreka@users.noreply.github.com> Date: Wed, 8 Apr 2026 07:45:11 -0700 Subject: [PATCH] Fix playlist sync tracks always tagged as track number 01 When downloading individual tracks from a playlist sync, the album detection fallback hardcoded track_number to 1 instead of using the value already available in the download context from the playlist metadata. Now checks original_search.track_number and track_info .track_number before falling back to 1. Full album downloads and Spotify API lookup paths are completely unchanged. --- web_server.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/web_server.py b/web_server.py index aa8f41a3..45555649 100644 --- a/web_server.py +++ b/web_server.py @@ -15745,20 +15745,28 @@ def _detect_album_info_web(context: dict, artist: dict) -> dict: # Fallback: Use original data with basic cleaning print("⚠️ No good Spotify match found, using original data") fallback_title = _clean_track_title_web(original_search.get('title', 'Unknown Track'), artist_name) - + + # Preserve track_number from context if available (playlist sync tracks have it) + _ctx_track_number = (original_search.get('track_number') + or context.get('track_info', {}).get('track_number') + or 1) + return { 'is_album': False, 'clean_track_name': fallback_title, 'album_name': fallback_title, - 'track_number': 1, + 'track_number': _ctx_track_number, 'confidence': 0.0, 'source': 'fallback_original' } - + except Exception as e: print(f"❌ Error in _detect_album_info_web: {e}") clean_title = _clean_track_title_web(context.get("original_search_result", {}).get('title', 'Unknown'), artist.get('name', '')) - return {'is_album': False, 'clean_track_name': clean_title, 'album_name': clean_title, 'track_number': 1} + _err_tn = (context.get("original_search_result", {}).get('track_number') + or context.get('track_info', {}).get('track_number') + or 1) + return {'is_album': False, 'clean_track_name': clean_title, 'album_name': clean_title, 'track_number': _err_tn}