From 347f84c2764b58172a3890bb9bbdc346ec68944d Mon Sep 17 00:00:00 2001 From: Richard Lora Date: Sun, 24 May 2026 01:17:27 +0000 Subject: [PATCH] fix(extractors): restore collectionThumbnailViewModel path with dig? fallback Try collectionThumbnailViewModel path first, fall back to direct thumbnailViewModel for lockupViewModel items that use different structures. Items with neither path are skipped cleanly. --- src/invidious/yt_backend/extractors.cr | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/invidious/yt_backend/extractors.cr b/src/invidious/yt_backend/extractors.cr index 9dea2746..db252a29 100644 --- a/src/invidious/yt_backend/extractors.cr +++ b/src/invidious/yt_backend/extractors.cr @@ -650,7 +650,10 @@ private module Parsers private def parse_internal(item_contents, author_fallback) playlist_id = item_contents["contentId"].as_s - thumbnail_view_model = item_contents.dig( + thumbnail_view_model = item_contents.dig?( + "contentImage", "collectionThumbnailViewModel", + "primaryThumbnail", "thumbnailViewModel" + ) || item_contents.dig?( "contentImage", "thumbnailViewModel" )