diff --git a/web_server.py b/web_server.py index edd4c31c..7f26f9f4 100644 --- a/web_server.py +++ b/web_server.py @@ -8226,13 +8226,55 @@ def get_version_info(): This provides the same data that the GUI version modal displays. """ version_data = { - "version": "1.1", + "version": "1.2", "title": "What's New in SoulSync", - "subtitle": "Version 1.1 - Discovery & Wishlist Enhancements", + "subtitle": "Version 1.2 - Enhanced Search & Matching Engine Overhaul", "sections": [ + { + "title": "🔍 Enhanced Search - Unified Multi-Source Discovery", + "description": "Powerful new search system that queries Spotify, your library, and Soulseek simultaneously with intelligent categorization", + "features": [ + "• Unified Search - Single search across Spotify, your music library, and Soulseek in real-time", + "• Smart Categorization - Results organized by Artists, Albums, and Tracks with visual indicators", + "• Source Identification - Clear badges showing whether content is from Spotify, your library (DB), or both", + "• Instant Actions - Stream, download, or add to wishlist directly from search results", + "• Artist Deep Dive - Click any artist to view full discography, similar artists, and statistics", + "• Album Preview - Expand albums to see complete track listings with metadata", + "• Library Integration - Highlights tracks you already own to prevent duplicate downloads", + "• Performance Optimized - Fast parallel queries with streaming results" + ], + "usage_note": "Access Enhanced Search from the main navigation - searches across all your music sources instantly!" + }, + { + "title": "🎯 Matching Engine 2.0 - Precision & Accuracy", + "description": "Complete overhaul of matching algorithms to drastically reduce false positives while maintaining high match rates", + "features": [ + "• 80-90% False Positive Reduction - Down from 10%+ to 1-2% through strict matching logic", + "• Intelligent Version Detection - Distinguishes between remasters (accepted) vs remixes/live versions (rejected)", + "• Short Title Protection - Extra validation for common titles like 'Run', 'Love', 'Girls' to prevent wrong matches", + "• Full-String Similarity - Replaced permissive substring matching with precise sequence matching", + "• Rebalanced Scoring - Artist matching now weighted 40% (up from 35%), duration 15% (up from 5%)", + "• Artist Name Normalization - Handles variations like 'AC/DC' vs 'AC-DC' correctly", + "• Higher Confidence Thresholds - Standard: 0.63 (was 0.60), Enhanced: 0.58 (was 0.45)", + "• Quality Bonus Adjustment - Reduced bonuses to prevent bad matches from passing threshold" + ], + "usage_note": "Matching engine changes apply automatically to all searches, syncs, and downloads!" + }, + { + "title": "⭐ Wishlist Improvements", + "description": "Critical bug fixes and enhancements to wishlist functionality", + "features": [ + "• Album Cover Art Fix - Failed tracks from artist page downloads now preserve album artwork", + "• Album Removal Fix - 'Remove Album' button now works correctly for tracks without Spotify IDs", + "• Special Character Handling - Albums with parentheses, apostrophes work correctly (e.g., 'Live (Collector's Edition)')", + "• Missing Image Placeholders - Beautiful gradient placeholders for albums without cover art", + "• Granular Management - Remove individual tracks, singles, or entire albums with confidence", + "• Better ID Generation - Frontend/backend album ID generation now perfectly synchronized" + ] + }, { "title": "🎧 Discovery Page - Your Personal Music Explorer", - "description": "A brand new intelligent music discovery system that learns from your library and helps you find your next favorite tracks", + "description": "Intelligent music discovery system that learns from your library and helps you find your next favorite tracks", "features": [ "• Smart Discovery Pool - Automatically populated from watchlist artists and similar artists", "• Personalized Playlists - Popular Picks, Hidden Gems, Discovery Shuffle, and more", @@ -8245,42 +8287,17 @@ def get_version_info(): "usage_note": "Discovery pool automatically populates during watchlist scans. Configure lookback period in Settings!" }, { - "title": "⭐ Enhanced Wishlist System", - "description": "Completely redesigned wishlist with automatic processing, smart categorization, and powerful management tools", + "title": "🔧 Quality of Life & Bug Fixes", + "description": "Additional improvements and stability enhancements", "features": [ - "• Automatic Processing - Downloads wishlist tracks every 30 minutes, alternating between Albums/EPs and Singles", - "• Album/Single Categorization - Smart filtering based on track count (1-5 tracks = Singles/EPs, 6+ = Albums)", - "• Manual Cycle Control - Override automatic cycle selection anytime from the wishlist modal", - "• Wishlist Cleanup - One-click removal of tracks that already exist in your library", - "• Clear Wishlist - Fresh start with a single click", - "• Category View - Browse wishlist by Albums/EPs or Singles with track counts", - "• Add from Anywhere - Library, Artist pages, Playlists, and Discovery page all support wishlist additions" - ], - "usage_note": "Wishlist processing starts 1 minute after app launch, then runs every 30 minutes automatically!" - }, - { - "title": "🔧 Quality of Life Improvements", - "description": "Numerous enhancements to make SoulSync more powerful and easier to use", - "features": [ - "• Improved Metadata Handling - Better album type detection using track counts instead of Spotify marketing tags", - "• Enhanced Discovery Pool Management - Configurable artist scan depth with intelligent fallback options", - "• Seasonal Content Auto-Refresh - Seasonal playlists update weekly during watchlist scans", + "• Navigation Highlighting - Enhanced search properly highlights active navigation tabs", + "• Playlist Sync Fix - Database-only fallback now correctly extracts artist names from Spotify objects", + "• Improved Metadata Handling - Better album type detection using track counts", + "• Enhanced Discovery Pool Management - Configurable artist scan depth with intelligent fallback", "• Better Error Handling - More informative messages and automatic recovery mechanisms", "• UI Polish - Refined modals, better button layouts, and improved visual feedback", "• Performance Optimizations - Faster database queries and more efficient data processing" ] - }, - { - "title": "🐛 Bug Fixes", - "description": "Stability improvements and issue resolutions", - "features": [ - "• Fixed album grouping issues when album IDs are missing", - "• Corrected timezone handling in discovery pool timestamp comparisons", - "• Resolved conflicts between multiple clearWishlist function definitions", - "• Fixed seasonal track data not including total_tracks field", - "• Improved modal close behavior after wishlist operations", - "• Better handling of tracks from different sources (playlists, discovery, library)" - ] } ] } diff --git a/webui/index.html b/webui/index.html index a0353f8a..bdd5ffbe 100644 --- a/webui/index.html +++ b/webui/index.html @@ -127,7 +127,7 @@