Fix global cache key and playlist edge case.
ctrl = self.get_controller(media_type)
is_library_item = media_item.provider == "library"
- available_providers = get_global_cache_value("unique_providers")
+ available_providers = get_global_cache_value("provider_instance_ids")
if TYPE_CHECKING:
available_providers = cast(set[str], available_providers)
ytm = ytmusicapi.YTMusic(auth=headers, language=language)
playlist = ytm.get_playlist(playlistId=prov_playlist_id, limit=None)
playlist["checksum"] = get_playlist_checksum(playlist)
+ # Fix missing playlist id in some edge cases
+ playlist["id"] = prov_playlist_id if not playlist.get("id") else playlist["id"]
return playlist
return await asyncio.to_thread(_get_playlist)