update version modal

This commit is contained in:
Broque Thomas 2026-03-04 11:11:31 -08:00
parent 2d6c55e294
commit 1bec9320b4

View file

@ -11934,129 +11934,83 @@ def get_version_info():
version_data = { version_data = {
"version": "1.7", "version": "1.7",
"title": "What's New in SoulSync", "title": "What's New in SoulSync",
"subtitle": "Version 1.7 - Tidal Downloads, Hydrabase & Library Tools", "subtitle": "Version 1.7 — Latest Changes",
"sections": [ "sections": [
{ {
"title": "🎵 Tidal Download Source", "title": "👥 Multi-Profile Support",
"description": "Download music directly from Tidal as an alternative to Soulseek and YouTube", "description": "Netflix-style profile picker for shared households",
"features": [ "features": [
"• Full Tidal integration with device-flow authentication via tidalapi", "• Multiple profiles sharing one SoulSync instance with isolated personal data",
"• Configurable quality: Low (AAC 96k), High (AAC 320k), Lossless (FLAC 16-bit), HiRes (FLAC 24-bit)", "• Each profile gets its own watchlist, wishlist, discovery pool, and similar artists",
"• Automatic quality fallback chain when higher tiers are unavailable", "• Optional PIN protection per profile with admin-only management",
"• Works in all download modes: Tidal Only, Hybrid with fallback to other sources", "• Profile avatar images via URL with colored-initial fallback",
"• HiRes FLAC extraction from MP4 containers via FFmpeg", "• Shared music library and service credentials across all profiles",
"• Dynamic sidebar and dashboard labels reflect the active download source" "• Zero-downtime migration — existing data maps to auto-created admin profile",
"• Single-user installs see no changes until a second profile is created"
] ]
}, },
{ {
"title": "🌐 Hydrabase P2P Metadata", "title": "⚡ WebSocket Real-Time Updates",
"description": "Peer-to-peer metadata network for enhanced search results", "description": "Live push updates replace polling for a faster, more responsive UI",
"features": [ "features": [
"• Hydrabase P2P metadata client with WebSocket connection", "• Service status, watchlist count, and download progress pushed via WebSocket",
"• Background comparison engine between local and P2P search results", "• Dashboard stats, activity feed, and database stats update in real-time",
"• Hydrabase admin page with comparison UI", "• Enrichment worker statuses stream live to the sidebar",
"• P2P mirror worker for background metadata sharing", "• Tool progress (quality scanner, duplicate cleaner, retag, DB update) pushed instantly",
"• Dev mode activation with Hydrabase credentials" "• Automatic HTTP polling fallback when WebSocket is unavailable",
"• Profile-scoped WebSocket rooms for per-profile count updates"
] ]
}, },
{ {
"title": "🔧 Library Repair & Retag Tools", "title": "🔑 REST API (v1)",
"description": "New tools for maintaining and fixing your music library", "description": "Full programmatic access to SoulSync with API key authentication",
"features": [ "features": [
"• Library repair worker with scanning UI and progress tracking", "• API key authentication with generation and management UI",
"• Retag tool to re-process audio file metadata from the database", "• Endpoints for library, watchlist, wishlist, downloads, and system status",
"• Quarantine system for AcoustID mismatches with folder sweeper and clear API", "• Reverse proxy support for external access"
"• Candidates review modal for manual download selection",
"• Blasphemy Mode: optionally delete FLAC originals after MP3 conversion"
] ]
}, },
{ {
"title": "💿 Multi-Disc & Album Improvements", "title": "👁️ Watchlist Redesign",
"description": "Better handling of complex album structures", "description": "Enriched artist detail view and improved watchlist management",
"features": [ "features": [
"Multi-disc album support with automatic Disc N/ subfolder organization", "Redesigned watchlist modal with enriched artist detail view",
"$artistletter and $quality template variables for file paths", "Add to watchlist button on each artist in library",
"Improved edition detection and album completion logic", "'Watch All' button on hero slider to quickly add all displayed artists",
"Lossy MP3 copy option for downloaded FLACs", "Add all recommended artists to watchlist in one click",
"FLAC bit depth filter in post-download quality gate" "View recommended/similar artists panel"
] ]
}, },
{ {
"title": "🎯 Matching & Search Engine", "title": "📦 Import Rebuild",
"description": "Smarter search and matching for more accurate downloads", "description": "Import feature moved to its own dedicated page",
"features": [ "features": [
"• Refactored matching engine with improved discovery scoring", "• Rebuilt import feature on a standalone page with improved workflow",
"• Quality filter uses bitrate density instead of file size", "• Import staging guide documentation"
"• Whole-word matching for Soulseek search results",
"• Boost exact artist name matches to top of search results",
"• Short artist name handling with Spotify field filter",
"• AcoustID fix for tracks with featured artists in square brackets",
"• Title similarity floor and raised confidence thresholds"
] ]
}, },
{ {
"title": "🎨 Metadata Enrichment", "title": "🎨 UI & Customization",
"description": "Richer metadata from more sources", "description": "Visual improvements and personalization options",
"features": [ "features": [
"• Deezer enrichment for artists, albums, and tracks (BPM, mood, style, ISRC)", "• Custom accent colors with persistent user preference",
"• AudioDB enrichment for artists, albums, and tracks", "• Retag tool layout redesign",
"• MusicBrainz release MBID embedded in audio tags", "• Watchlist page visual redesign"
"• Fallback MusicBrainz IDs from AudioDB",
"• Format summary tags on library release cards, wishlist modal, and artist hero",
"• Track ownership indicators and file metadata in wishlist modal"
] ]
}, },
{ {
"title": "📋 Watchlist & Wishlist", "title": "🐛 Bug Fixes & Stability",
"description": "Improved monitoring and queue management", "description": "Reliability improvements",
"features": [ "features": [
"• Global watchlist override and UI", "• Fix chromaprint crash (SIGABRT) on 5.1 surround audio files",
"• Wishlist batch remove API and UI", "• Fix Spotify enrichment worker showing 'Not Authenticated' after re-auth",
"• Album artists used for wishlist track grouping", "• Fix Spotify worker status priority — paused state shown correctly over auth status",
"• Watchlist filter on library page with artist indicators", "• Fix infinite monitor loop on post-processing completed tasks",
"• Discography filters on artist detail page", "• Fix cancelled downloads not sending album context to wishlist",
"• Batch remove from watchlist modal" "• Fix various artist compilations causing AcoustID check failures",
] "• Fix ListenBrainz database path not respecting DATABASE_PATH env var",
}, "• Fix deleted content not removed during incremental database updates",
{ "• Wishlist always uses 'force download all' mode"
"title": "🖥️ Dashboard & UI",
"description": "New dashboard features and interface improvements",
"features": [
"• Active Downloads section on dashboard",
"• Hero image cycling for similar artists",
"• Progressive track list rendering for large playlists",
"• Debounced auto-save on all settings page controls",
"• Server-side M3U playlist export with UI toggle",
"• Track selection UI with backend mapping",
"• Error reason tooltips on failed downloads in missing tracks modal"
]
},
{
"title": "🔌 Server & Connectivity",
"description": "Media server and API improvements",
"features": [
"• Navidrome music library selection support",
"• Configurable Jellyfin API timeout and retries",
"• Jellyfin connection fix and chained loads",
"• Spotify API compatibility updates for February 2026 changes",
"• Spotify disconnect button with cached auth checks",
"• Lock toggle for container path fields in Docker mode",
"• Fix false positive Soulseek connection test by checking network state"
]
},
{
"title": "🐛 Stability & Bug Fixes",
"description": "Reliability improvements across the board",
"features": [
"• Fix downloads stalling/halting when browser is closed",
"• Fix intermittent deadlock in download monitor",
"• Fix metadata cross-contamination when downloading concurrent albums",
"• Fix database migrations to check each column individually",
"• Fix quality profile priorities being reset on save",
"• Fix Unicode diacritics breaking album/track matching",
"• Fix file descriptor leak from per-call event loop creation",
"• Sync status stored in database instead of JSON file",
"• Verify bytes before marking downloads complete"
] ]
} }
] ]