From fdf1ad5e6ad69dfbb8361cc753cc1e21bd3a05d0 Mon Sep 17 00:00:00 2001 From: David Bishop Date: Mon, 16 Feb 2026 00:24:19 -0800 Subject: [PATCH] Fix AttributeError when provider is temporarily unavailable (#3157) get_provider() can return None when a provider is temporarily unavailable (e.g., during reload or network issues). Both remove_item_from_library() and add_item_to_library() call .library_edit_supported() on the result without a None check, causing an AttributeError that surfaces as a 500 error. Co-authored-by: David Bishop Co-authored-by: Claude Opus 4.6 --- music_assistant/controllers/music.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/music_assistant/controllers/music.py b/music_assistant/controllers/music.py index 391a559c..54bf9e6d 100644 --- a/music_assistant/controllers/music.py +++ b/music_assistant/controllers/music.py @@ -865,7 +865,7 @@ class MusicController(CoreController): if not prov_mapping.in_library: continue provider = self.mass.get_provider(prov_mapping.provider_instance) - if not provider.library_edit_supported(full_item.media_type): + if not provider or not provider.library_edit_supported(full_item.media_type): continue if not provider.library_sync_back_enabled(full_item.media_type): continue @@ -899,7 +899,7 @@ class MusicController(CoreController): # add to provider(s) library first for prov_mapping in full_item.provider_mappings: provider = self.mass.get_provider(prov_mapping.provider_instance) - if not provider.library_edit_supported(full_item.media_type): + if not provider or not provider.library_edit_supported(full_item.media_type): continue if not provider.library_sync_back_enabled(full_item.media_type): continue -- 2.34.1