github Nezreka/SoulSync 2.8.6
Version 2.8.6

4 hours ago

soulsync 2.8.6 — devmain

a focused fix batch on top of 2.8.5/2.8.51 — search, import, library, and playlists.


spotify search works without a connected account

picking "Spotify" as your search source returned only library results if you weren't authenticated to a real spotify account — even with the no-auth spotify free source installed. the search gate said "spotify unavailable" and bailed before searching anything.

fix: an explicit "Spotify" search pick now uses the no-creds spotify free source when you're not connected (the explicit pick is your consent — no silent background scraping changes). threaded as a per-request prefer_free flag, default off everywhere, so fan-out/background paths and every other source are untouched. separately, a connected account whose official search comes back empty now falls back to free instead of a blank page.

#986 — import & stats black screen on docker

a follow-up to the 2.8.5 fix. some docker setups still loaded import & stats blank because the JS module bundle was served with a non-JS content type and the browser refused to run it. we now force the correct text/javascript content-type at the HTTP layer (an after-request hook), so module scripts always run.

#990 — mirrored playlists could be silently wiped to empty rows

a wrong-shaped refresh payload (the GET endpoints return the spotify track shape, the POST expected the mirror shape) could overwrite a mirror with thousands of empty rows and still return success. it now coalesces the spotify shape into the mirror keys, and validates before touching the db — if every track maps to empty it rejects with a 400 before the delete, so your existing mirror is never wiped.

#988 — browsing an artist could show a different artist's tracks

a deezer name-search was accepting the first result even on a poor name match, so e.g. The Outfield could show Beatles tracks. it now requires a real name match (0.85 similarity) before using a result, and falls back cleanly otherwise. also hardened the worker path that could smear a stored deezer id onto the wrong artist.

#989 — itunes singles landing in "unknown artist"

when a single's album-artist came back empty, the track could file and tag under "Unknown Artist". it now falls back to the real track artist when the album-artist is empty/unknown, while a genuine album-artist still wins.

#985 — library reorganize left empty folders behind

after moving files, reorganize left the old, now-empty disc/album folders behind. it prunes them now — bounded and disc-aware, so it only removes the emptied file/album (and a disc subfolder), and never climbs up to the artist directory or library root.


all fixes have root-cause + regression tests; full suite green.

Don't miss a new SoulSync release

NewReleases is sending notifications on new releases.