feat: propagate download cancellation through entire pipeline, add MusicBrainz album artist fallback, and allow disabling home feed

- Add reference-counted cancel entries to prevent premature cleanup when multiple operations share the same itemID
- Propagate cancellation to DownloadTrack, DownloadWithFallback, DownloadWithExtensionsJSON, extension providers, and ISRC search
- Fetch album artist from MusicBrainz when missing during download and re-enrich
- Make ALBUMARTIST tag nullable to avoid writing artistName as album artist
- Add home feed 'Off' option in extension settings
- Skip deezer in download provider priority sanitization
This commit is contained in:
zarzet
2026-04-16 02:55:40 +07:00
parent 57051bd649
commit bcd8a05352
31 changed files with 683 additions and 59 deletions
+2 -1
View File
@@ -507,7 +507,8 @@ import Gobackend // Import Go framework
case "searchDeezerByISRC":
let args = call.arguments as! [String: Any]
let isrc = args["isrc"] as! String
let response = GobackendSearchDeezerByISRC(isrc, &error)
let itemId = args["item_id"] as? String ?? ""
let response = GobackendSearchDeezerByISRCForItemID(isrc, itemId, &error)
if let error = error { throw error }
return response