From 21d972dcfc9b22efb507095c7a552346f4d09fcd Mon Sep 17 00:00:00 2001 From: Fijxu Date: Tue, 10 Nov 2026 15:29:03 -0300 Subject: [PATCH] fix: detect members only videos and skip them Closes https://github.com/iv-org/invidious/issues/6127 Closes https://github.com/iv-org/invidious/issues/6133 --- src/invidious/yt_backend/extractors.cr | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/invidious/yt_backend/extractors.cr b/src/invidious/yt_backend/extractors.cr index 9318f2dcc..c2055c041 100644 --- a/src/invidious/yt_backend/extractors.cr +++ b/src/invidious/yt_backend/extractors.cr @@ -715,6 +715,13 @@ private module Parsers # Contains the views of the video and the published time of the video. if (metadata_rows = metadata.dig("metadata", "contentMetadataViewModel", "metadataRows").try &.as_a) metadata_rows.each do |row| + # To filter members only videos, they do not have metadataParts available. + # This videos are not hidden from the channel videos list. + badges = row.dig?("badges").try &.as_a + if badges.try &.any? { |item| item.dig?("badgeViewModel", "badgeStyle").try &.as_s == "BADGE_MEMBERS_ONLY" } + next + end + metadata_parts = row.dig("metadataParts").try &.as_a if view_count_text.nil?