From 4977092cc9681c96cba669df3887aef5fd536588 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Sun, 7 Dec 2025 04:04:35 +0100 Subject: [PATCH] Fix for (group)player configs --- music_assistant/controllers/config.py | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/music_assistant/controllers/config.py b/music_assistant/controllers/config.py index 8df22399..51298d5d 100644 --- a/music_assistant/controllers/config.py +++ b/music_assistant/controllers/config.py @@ -1311,25 +1311,21 @@ class ConfigController: values[CONF_SMART_FADES_MODE] = "smart_crossfade" changed = True - # migrate player configs: always use lookup key for provider - prov_configs = self._data.get(CONF_PROVIDERS, {}) + # migrate player configs: always use instance_id for provider for player_config in self._data.get(CONF_PLAYERS, {}).values(): if "provider" not in player_config: continue player_provider = player_config["provider"] - if prov_conf := prov_configs.get(player_provider): - try: - if not (prov_manifest := self.mass.get_provider_manifest(prov_conf["domain"])): - continue - except KeyError: - # removed provider - continue - if prov_manifest.multi_instance: - # multi instance providers use instance_id as lookup key + try: + if not (prov := self.mass.get_provider(player_provider)): continue - # single instance providers use domain as lookup key - player_config["provider"] = prov_conf["domain"] - changed = True + except KeyError: + # removed provider + continue + if player_config["provider"] == prov.instance_id: + continue + player_config["provider"] = prov.instance_id + changed = True if changed: await self._async_save() -- 2.34.1