Restructure version modal and What's New for v2.31
SoulSync Standalone Library is now the first section in both the version modal and What's New popup. Auto-Import section updated with all improvements (recursive scan, singles, tag preference, AcoustID). New Downloads & Soulseek section groups download-related improvements. Recent Fixes cleaned up — feature items moved to proper sections.
This commit is contained in:
parent
b78616431a
commit
70005968b6
2 changed files with 36 additions and 16 deletions
|
|
@ -22486,15 +22486,31 @@ def get_version_info():
|
|||
"title": "What's New in SoulSync",
|
||||
"subtitle": f"Version {SOULSYNC_VERSION} — Latest Changes",
|
||||
"sections": [
|
||||
{
|
||||
"title": "SoulSync Standalone Library",
|
||||
"description": "Use SoulSync without Plex, Jellyfin, or Navidrome — manage your library directly",
|
||||
"features": [
|
||||
"• New 'Standalone' server option in Settings → Connections",
|
||||
"• Downloads and imports write artist/album/track to the library database immediately",
|
||||
"• Pre-populated enrichment IDs (Spotify, Deezer, MusicBrainz) — workers skip re-discovery",
|
||||
"• Deep scan finds untracked files in Transfer → moves to Staging for processing",
|
||||
"• Deep scan removes stale DB records when files are deleted from disk",
|
||||
"• Sync page and sync buttons hidden automatically in standalone mode",
|
||||
"• Full library page, artist detail, discography, and enhanced view all work standalone",
|
||||
],
|
||||
"usage_note": "Go to Settings → Connections and click the 'Standalone' button. No media server needed."
|
||||
},
|
||||
{
|
||||
"title": "Auto-Import",
|
||||
"description": "Background staging folder watcher that automatically identifies and imports music into your library",
|
||||
"features": [
|
||||
"• Three identification strategies: audio file tags, folder name parsing, and AcoustID fingerprinting",
|
||||
"• Confidence-gated processing: 90%+ auto-imports, 70-90% queued for review, below 70% left for manual",
|
||||
"• Smart matching with weighted algorithm — title, artist, track number, and album signals",
|
||||
"• Approve or reject pending imports from the Import page Auto tab",
|
||||
"• Content hash-based deduplication prevents reprocessing the same folder",
|
||||
"• Recursive scan — any folder depth (Artist/Album/tracks, Album/tracks, loose files)",
|
||||
"• Single file support — loose audio files identified via tags, filename, or AcoustID",
|
||||
"• Tag-based identification preferred over weak metadata matches (85% confidence for tagged files)",
|
||||
"• AcoustID fingerprinting fallback for untagged or ambiguous files",
|
||||
"• Stats bar, filter pills (All/Review/Imported/Failed), Scan Now, Approve All, Clear History",
|
||||
"• Expandable track match details with per-track confidence scores",
|
||||
"• Race condition fix prevents duplicate processing during multi-track albums",
|
||||
],
|
||||
"usage_note": "Enable on the Import page Auto tab. Set your staging folder in Settings."
|
||||
},
|
||||
|
|
@ -22558,6 +22574,20 @@ def get_version_info():
|
|||
"• Spotify API no longer called when Deezer/iTunes is the configured primary source",
|
||||
],
|
||||
},
|
||||
{
|
||||
"title": "Downloads & Soulseek Improvements",
|
||||
"description": "Better download management, search accuracy, and queue control",
|
||||
"features": [
|
||||
"• Downloads batch panel — color-coded batch cards with progress, cancel, expand, and 7-day history",
|
||||
"• Soulseek search queries now include album name — reduces wrong-artist downloads",
|
||||
"• Reject Soulseek results from Various Artists/VA/Unknown Artist folders",
|
||||
"• Clearing wishlist now cancels the active wishlist download batch",
|
||||
"• Album delete with 'Delete Files Too' option on enhanced library page",
|
||||
"• Fix download modal freezing mid-download — M3U auto-save was exhausting server threads",
|
||||
"• Fix Unknown Artist when adding playlist tracks to wishlist",
|
||||
"• Fix slskd timeout spam when Soulseek is not the active download source",
|
||||
],
|
||||
},
|
||||
{
|
||||
"title": "Recent Fixes",
|
||||
"description": "Bug fixes from recent releases and community reports",
|
||||
|
|
@ -22572,16 +22602,6 @@ def get_version_info():
|
|||
"• Fix replace lower quality setting not persisting",
|
||||
"• Fix Spotify enrichment worker infinite loop on pre-matched artists",
|
||||
"• Reject Qobuz 30-second sample/preview downloads",
|
||||
"• Fix slskd timeout spam — dashboard and download status skip slskd polling when Soulseek is not active or disconnected",
|
||||
"• Fix Soulseek search queries missing album name — reduces wrong-artist downloads",
|
||||
"• Downloads batch panel — color-coded batch cards with progress, cancel, expand, and 7-day history",
|
||||
"• Fix Unknown Artist when adding playlist tracks to wishlist",
|
||||
"• Fix download modal freezing mid-download — M3U auto-save was exhausting server threads",
|
||||
"• SoulSync Standalone Library — manage library without a media server, downloads write to DB immediately",
|
||||
"• Auto-Import: recursive scan, singles, tag preference, AcoustID fallback, race condition fix, stats/filters/batch actions",
|
||||
"• Album delete with file removal option on enhanced library page",
|
||||
"• Reject Soulseek results from Various Artists/VA/Unknown Artist folders",
|
||||
"• Clearing wishlist now cancels the active wishlist download batch",
|
||||
],
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3602,6 +3602,7 @@ const WHATS_NEW = {
|
|||
'2.31': [
|
||||
// --- April 17, 2026 ---
|
||||
{ date: 'April 17, 2026' },
|
||||
{ title: 'SoulSync Standalone Library', desc: 'New "Standalone" server option — manage your library without Plex, Jellyfin, or Navidrome. Downloads and imports write directly to the library database with pre-populated enrichment IDs. Deep scan finds untracked files and cleans stale records. Select in Settings → Connections', page: 'settings' },
|
||||
{ title: 'Auto-Import', desc: 'Background staging folder watcher that automatically identifies and imports music. Three strategies: audio tags, folder name parsing, and AcoustID fingerprinting. Confidence-gated: 90%+ auto-imports, 70-90% queued for review, below 70% left for manual. Enable on the Import page Auto tab', page: 'import' },
|
||||
{ title: 'Wishlist Nebula', desc: 'Wishlist redesigned as an interactive artist orb visualization. Each artist is a glowing orb with their photo — album fans and single moons orbit around them. Click orbs to expand, download albums/singles directly. Processing state shows live progress', page: 'wishlist' },
|
||||
{ title: 'Automation Group Management', desc: 'Rename, delete, and bulk-toggle automation groups. Drag-and-drop automations between groups. Right-click group headers for context menu', page: 'automations' },
|
||||
|
|
@ -3619,7 +3620,6 @@ const WHATS_NEW = {
|
|||
{ title: 'Downloads Batch Panel', desc: 'Downloads page now shows a batch context panel on the right side. Each active batch (wishlist, sync, album download) gets a color-coded card with progress, cancel button, and expandable track list. Color indicators on download rows link them to their batch. Completed batch history shows the last 7 days', page: 'active-downloads' },
|
||||
{ title: 'Fix Unknown Artist on Wishlist Downloads', desc: 'Adding tracks to wishlist from a playlist download modal was storing "Unknown Artist" as the artist context. Now resolves the artist per-track from the track\'s own metadata instead of the playlist-level artist which is only set for album downloads' },
|
||||
{ title: 'Fix Download Modal Freezing Mid-Download', desc: 'Download modals (wishlist, sync, album) would freeze and stop updating after the first track completed. Caused by M3U auto-save firing every 2 seconds during downloads, exhausting Flask server threads. Now saves M3U once on completion only' },
|
||||
{ title: 'SoulSync Standalone Library', desc: 'New "Standalone" server option — manage your library without Plex, Jellyfin, or Navidrome. Downloads and imports write directly to the library database with pre-populated enrichment IDs. Filesystem scanner provides incremental and deep scan via Transfer folder. Select in Settings → Connections', page: 'settings' },
|
||||
{ title: 'Auto-Import Improvements', desc: 'Recursive staging folder scan (any folder depth), single file support, expandable track match details, stats bar with filters, Scan Now button, Approve All / Clear History batch actions. Tag-based identification preferred over weak metadata matches. AcoustID fallback for untagged files. Race condition fix prevents duplicate processing', page: 'import' },
|
||||
{ title: 'Album Delete with File Removal', desc: 'Enhanced library album delete now offers "Delete Files Too" option alongside "Remove from Library" — deletes audio files from disk and cleans up empty album folders', page: 'library' },
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue