From 34b65415f2aa12c01c884885c693a2c48c5fc44c Mon Sep 17 00:00:00 2001 From: Charles Bel Date: Sun, 11 Jan 2026 12:49:43 +0100 Subject: [PATCH] fix(slideshow): filter out items missing logo images Modified fetchItemIdsFromServer to include 'ImageTags' in the API request fields. Added a filter to strictly exclude items that do not possess a Logo image. This prevents the slideshow from displaying unstyled placeholders for media content lacking proper branding. --- slideshowpure.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/slideshowpure.js b/slideshowpure.js index b4daa2e..61b42da 100644 --- a/slideshowpure.js +++ b/slideshowpure.js @@ -776,7 +776,7 @@ const ApiUtils = { console.log("Fetching random items from server..."); const response = await fetch( - `${STATE.jellyfinData.serverAddress}/Items?IncludeItemTypes=Movie,Series&Recursive=true&hasOverview=true&imageTypes=Logo,Backdrop&sortBy=Random&isPlayed=False&enableUserData=true&Limit=${CONFIG.maxItems}&fields=Id`, + `${STATE.jellyfinData.serverAddress}/Items?IncludeItemTypes=Movie,Series&Recursive=true&hasOverview=true&imageTypes=Logo,Backdrop&sortBy=Random&isPlayed=False&enableUserData=true&Limit=${CONFIG.maxItems}&fields=Id,ImageTags`, { headers: this.getAuthHeaders(), } @@ -796,7 +796,10 @@ const ApiUtils = { `Successfully fetched ${items.length} random items from server` ); - return items.map((item) => item.Id); + return items + .filter(item => item.ImageTags && item.ImageTags.Logo) + .map((item) => item.Id); + } catch (error) { console.error("Error fetching item IDs:", error); return [];