BBC Sounds: Unauthenticated might see blank station list (#2689)
authorKieran Hogg <kieran.hogg@gmail.com>
Wed, 26 Nov 2025 20:17:23 +0000 (20:17 +0000)
committerGitHub <noreply@github.com>
Wed, 26 Nov 2025 20:17:23 +0000 (21:17 +0100)
music_assistant/providers/bbc_sounds/__init__.py

index ce572512316388b8e52a2f2af8c7db57dfad506d..dcd2eb27941fe48168a7c9a138227cbe5b8686d2 100644 (file)
@@ -544,22 +544,23 @@ class BBCSoundsProvider(MusicProvider):
     async def _get_subpath_menu(
         self, sub_path: str
     ) -> Sequence[MediaItemType | ItemMapping | BrowseFolder]:
-        if not self.menu:
-            return []
-        sub_menu = self.menu.get(sub_path)
-        item_list = []
-
-        if sub_menu and isinstance(sub_menu, Container):
-            if sub_menu.sub_items:
-                # We have some sub-items, so let's show those
-                for item in sub_menu.sub_items:
-                    new_item = await self._render_browse_item(item)
+        item_list: list[MediaItemType | ItemMapping | BrowseFolder] = []
+        if self.client.auth.is_logged_in:
+            if not self.menu:
+                return item_list
+            sub_menu = self.menu.get(sub_path)
+
+            if sub_menu and isinstance(sub_menu, Container):
+                if sub_menu.sub_items:
+                    # We have some sub-items, so let's show those
+                    for item in sub_menu.sub_items:
+                        new_item = await self._render_browse_item(item)
+                        if new_item:
+                            item_list.append(new_item)
+                else:
+                    new_item = await self._render_browse_item(sub_menu)
                     if new_item:
                         item_list.append(new_item)
-            else:
-                new_item = await self._render_browse_item(sub_menu)
-                if new_item:
-                    item_list.append(new_item)
 
         if sub_path == "listen_live":
             for item in await self.client.stations.get_stations():