Previously, tags.clear() only cleared in memory — if any later step
threw (metadata extraction, API calls, album art download), the file
was moved with its original Soulseek source tags intact. This caused
album fragmentation in media servers when some tracks had MusicBrainz
IDs and others didn't.
Now the cleared tags are saved to disk immediately after wiping. If
enhancement succeeds, the file is saved again with full metadata
(identical to before). If it fails, the file has clean empty tags
instead of inconsistent junk — media servers group by folder structure
which is always correct.
@ -3403,6 +3403,7 @@ function closeHelperSearch() {
constWHATS_NEW={
'2.1':[
// Newest features first
{title:'Fix Junk Tags Surviving',desc:'Soulseek source tags are now wiped to disk immediately — no more album fragmentation from partial metadata'},
{title:'Watch All Preview Modal',desc:'Watch All Unwatched now opens a modal showing which artists will be added before confirming',page:'library',selector:'#library-watchlist-all-btn'},
{title:'Fix Watch All Unwatched',desc:'Watch All Unwatched now works for Deezer users — was silently skipping artists with only Deezer IDs'},
{title:'Fix Path Mismatch Fixes',desc:'Library Maintenance path fixes now use fresh config and show error reasons in the toast'},