github Nezreka/SoulSync 2.6.1
Version 2.6.1

5 hours ago

Summary

Merge the latest dev work into main, including the React import-page migration, album-bundle download fixes, MusicBrainz release variant handling, Downloads tab persistence, and several UI/UX refinements.

What Changed

  • Migrated the Import page to the React route stack with dedicated album, singles, and auto-import tabs.
  • Added richer import-page state management, API helpers, route tests, and shared form/primitives styling.
  • Fixed Vite boot failure by using Zustand’s public zustand/shallow import path.
  • Fixed album-bundle staging so staged Soulseek/torrent/usenet album downloads preserve correct per-track numbers instead of importing every track as 01.
  • Capped hybrid album downloads to one worker when Soulseek is first in the source order, matching Soulseek-primary album behavior.
  • Updated MusicBrainz album import search to show concrete release variants with richer release metadata.
  • Fixed manual YouTube searches that begin with - by escaping dash-leading queries.
  • Made completed downloads persist in the Downloads view and dashboard finished count.
  • Moved and restyled artist-detail actions, including Watchlist, Artist Radio, Discography, and Enhance Quality.
  • Improved Now Playing radio mode UI and made Artist Radio seed radio tracks through the same shared radio-mode path.
  • Refined issue/stats route navigation and native link behavior.

Verification

  • PYTHONPATH="$PWD" .venv/bin/pytest tests/downloads/test_downloads_staging.py tests/downloads/test_downloads_master.py tests/downloads/test_downloads_task_worker.py -q
    • 73 passed
  • npm.cmd run build
    • Vite production build passed
  • Manually verified:
    • App boots successfully
    • Import page loads
    • Hybrid with Soulseek first imports album tracks with correct numbering

Don't miss a new SoulSync release

NewReleases is sending notifications on new releases.