Remove corrupt player configurations (#3051)
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 29 Jan 2026 11:57:04 +0000 (12:57 +0100)
committerGitHub <noreply@github.com>
Thu, 29 Jan 2026 11:57:04 +0000 (12:57 +0100)
Remove corrupt player configurations that are missing the required 'provider' key

music_assistant/controllers/config.py

index 4607da61b86fde6fdcd393628871fcb6aeb68b10..9c4d3a8816f5ebdd52219530fcfc33c0633b4b1b 100644 (file)
@@ -1403,6 +1403,17 @@ class ConfigController:
             LOGGER.warning("Removed obsolete builtin_player configuration: %s", player_id)
             changed = True
 
+        # Remove corrupt player configurations that are missing the required 'provider' key
+        for player_id, player_config in list(self._data.get(CONF_PLAYERS, {}).items()):
+            if "provider" in player_config:
+                continue
+            self._data[CONF_PLAYERS].pop(player_id, None)
+            # Also remove any DSP config for this player
+            if CONF_PLAYER_DSP in self._data:
+                self._data[CONF_PLAYER_DSP].pop(player_id, None)
+            LOGGER.warning("Removed corrupt player configuration (missing provider): %s", player_id)
+            changed = True
+
         # 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: