Update version modal and helper What's New with latest features

- Added 6 new sections to /api/version-info: Interactive Help System,
  Rich Artist Profiles, Enhanced Library Manager, In Library Badges,
  FLAC Bit Depth, Enrichment Worker Improvements
- Consolidated helper WHATS_NEW under v2.1 (no version bump) with
  12 entries covering all recent features with Show me navigation
- Removed stale v2.2 key from WHATS_NEW that referenced unbumped version
This commit is contained in:
Broque Thomas 2026-03-26 12:25:53 -07:00
parent c1287f0ec0
commit 5305481187
2 changed files with 81 additions and 17 deletions

View file

@ -18820,6 +18820,74 @@ def get_version_info():
"• Database storage donut chart in Library Health section",
"• Play buttons on stats page tracks with cover art"
]
},
{
"title": "❓ Interactive Help System",
"description": "Full contextual help platform accessible from the floating ? button",
"features": [
"• 200+ contextual help entries — click any UI element to learn what it does",
"• 11 guided tours covering every page (97 steps total) with spotlight overlay",
"• Page-aware menu suggests the relevant tour for your current page",
"• Search across all help topics, tours, and keyboard shortcuts (Ctrl+K)",
"• Setup Progress tracker with auto-detection — checks your services, library, and watchlist",
"• What's New panel with version-tagged highlights and 'Show me' navigation",
"• Troubleshoot mode scans for disconnected services and shows fix steps",
"• Keyboard shortcut overlay showing all hotkeys grouped by scope",
"• Quick action buttons in popovers (e.g., 'Open Settings' on service cards)",
"• First-launch welcome prompt for new users"
]
},
{
"title": "🎤 Rich Artist Profiles",
"description": "Full-bleed hero section on the Artists page with deep metadata",
"features": [
"• Large portrait image with blurred background, glassmorphic design",
"• Bio, genres, listening stats from Last.fm, service logo badges",
"• Multi-source genre explorer with Deezer genre support",
"• Similar artist cards with full-bleed library-card styling"
]
},
{
"title": "📚 Enhanced Library Manager",
"description": "Inline metadata editing and tag writing from the library view",
"features": [
"• Toggle between Standard and Enhanced view on any artist detail page",
"• Inline-edit track title, number, BPM; album and artist fields editable",
"• Write tags directly to audio files (MP3, FLAC, OGG, M4A) with diff preview",
"• Bulk select tracks across albums for batch edit and batch tag write",
"• Server sync after writes — Plex per-track, Jellyfin library scan"
]
},
{
"title": "🏷️ In Library Badges + Search Improvements",
"description": "Know what you already own before downloading",
"features": [
"'In Library' badges on enhanced search album and track results",
"• Async post-render matching — search results appear instantly, badges fill in",
"• Multi-source search tabs: compare results from Spotify, iTunes, and Deezer",
"• Clickable artist name in download modal navigates to discography"
]
},
{
"title": "🎵 FLAC Bit Depth + Quality Filter",
"description": "Finer control over audio quality preferences",
"features": [
"• Quality profile enforces 16-bit vs 24-bit FLAC preference",
"• Bit depth fallback option: accept other bit depth if preferred unavailable",
"• 1450 kbps threshold separates 16-bit from 24-bit FLAC",
"• Sort prioritizes audio quality (effective kbps) over peer speed"
]
},
{
"title": "🔧 Enrichment Worker Improvements",
"description": "Better name matching and quieter logs across all 8+ workers",
"features": [
"• Dash-suffix normalization: 'Title - Remix' now matches 'Title (Remix)' across all workers",
"• AcoustID log noise reduced — individual recording matches moved to DEBUG",
"• Streaming source verification: artist/title fuzzy match prevents wrong track downloads",
"• Deezer enrichment worker caches API calls through metadata cache",
"• Per-source quality fallback toggles for streaming download sources"
]
}
]
}

View file

@ -3397,24 +3397,20 @@ function closeHelperSearch() {
// ═══════════════════════════════════════════════════════════════════════════
const WHATS_NEW = {
'2.2': [
{ title: 'Interactive Help System', desc: 'Full contextual help with guided tours, search, shortcuts, setup tracking, and troubleshooting', selector: '#helper-float-btn' },
{ title: 'Genre Explorer', desc: 'Browse music by genre across all metadata sources (Spotify, iTunes, Deezer)', page: 'discover', selector: '#genre-tabs' },
{ title: 'In Library Badges', desc: 'Search results now show "In Library" badges for albums and tracks you already own', page: 'downloads', selector: '.enhanced-search-input-wrapper' },
{ title: 'Rich Artist Profiles', desc: 'Full-bleed hero section with bio, stats, genres, and service links', page: 'artists', selector: '#artists-search-input' },
{ title: 'FLAC Bit Depth Control', desc: 'Quality profiles now enforce 16-bit vs 24-bit preference with fallback' },
{ title: 'Multi-Source Search Tabs', desc: 'View results from Spotify, iTunes, and Deezer side by side', page: 'downloads', selector: '.search-mode-toggle' },
{ title: 'Automation Signals', desc: 'Chain automations together using fire/receive signals', page: 'automations', selector: '#auto-section-hub' },
{ title: 'Enhanced Library Manager', desc: 'Inline tag editing, bulk operations, and write-to-file from the library', page: 'library', selector: '.library-controls' },
{ title: 'Deezer Download Source', desc: 'Deezer added as 5th download source with quality fallback' },
{ title: 'Streaming Source Verification', desc: 'Artist/title fuzzy matching prevents wrong track downloads from streaming sources' },
],
'2.1': [
{ title: 'Personalized Discovery', desc: 'Daily Mixes, Hidden Gems, Forgotten Favorites, and more', page: 'discover' },
{ title: 'ListenBrainz Integration', desc: 'Algorithmic playlists from your listening history', page: 'discover' },
{ title: 'Build a Playlist', desc: 'Custom playlist generator from seed artists', page: 'discover' },
{ title: 'Time Machine', desc: 'Browse music by decade from your library', page: 'discover' },
{ title: 'Listening Stats', desc: 'Charts, rankings, and library health metrics from your media server', page: 'stats' },
// Newest features first
{ title: 'Interactive Help System', desc: 'Guided tours, search, shortcuts, setup tracking, troubleshooting — all from the ? button', selector: '#helper-float-btn' },
{ title: 'Rich Artist Profiles', desc: 'Full-bleed hero section with bio, stats, genres, and service links', page: 'artists', selector: '#artists-search-input' },
{ title: 'In Library Badges', desc: 'Search results show "In Library" badges for albums and tracks you already own', page: 'downloads', selector: '.enhanced-search-input-wrapper' },
{ title: 'Enhanced Library Manager', desc: 'Inline tag editing, bulk operations, and write-to-file from the library', page: 'library', selector: '.library-controls' },
{ title: 'Genre Explorer', desc: 'Browse music by genre across all metadata sources (Spotify, iTunes, Deezer)', page: 'discover', selector: '#genre-tabs' },
{ title: 'Multi-Source Search Tabs', desc: 'Compare results from Spotify, iTunes, and Deezer side by side', page: 'downloads', selector: '.search-mode-toggle' },
{ title: 'Automation Signals', desc: 'Chain automations together using fire/receive signals', page: 'automations', selector: '#auto-section-hub' },
{ title: 'FLAC Bit Depth Control', desc: 'Quality profiles now enforce 16-bit vs 24-bit preference with fallback' },
{ title: 'Deezer Download Source', desc: 'Deezer added as 5th download source with quality fallback' },
{ title: 'Personalized Discovery', desc: 'Daily Mixes, Hidden Gems, Forgotten Favorites, Build a Playlist, and more', page: 'discover' },
{ title: 'ListenBrainz Integration', desc: 'Algorithmic playlists from your listening history', page: 'discover' },
{ title: 'Listening Stats', desc: 'Charts, rankings, and library health metrics from your media server', page: 'stats', selector: '#stats-overview' },
],
};