diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java index 6cd179391..0ff1b6d4b 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/AdsFilter.java @@ -34,10 +34,6 @@ public final class AdsFilter extends Filter { private final StringFilterGroup playerShoppingShelf; private final ByteArrayFilterGroup playerShoppingShelfBuffer; - private final StringFilterGroup channelProfile; - private final ByteArrayFilterGroup visitStoreButton; - - private final StringFilterGroup shoppingLinks; public AdsFilter() { exceptions.addPatterns( @@ -113,18 +109,13 @@ public final class AdsFilter extends Filter { "shopping_overlay.eml" // Video player overlay shopping links. ); - shoppingLinks = new StringFilterGroup( - Settings.HIDE_TAGGED_PRODUCTS, - "expandable_list" - ); - - final var storeProductsShelf = new StringFilterGroup( - Settings.HIDE_CREATOR_STORE_SHELVES, + final var shoppingLinks = new StringFilterGroup( + Settings.HIDE_SHOPPING_LINKS, "shopping_description_shelf.eml" ); playerShoppingShelf = new StringFilterGroup( - Settings.HIDE_CREATOR_STORE_SHELVES, + Settings.HIDE_CREATOR_STORE_SHELF, "horizontal_shelf.eml" ); @@ -133,17 +124,6 @@ public final class AdsFilter extends Filter { "shopping_item_card_list" ); - channelProfile = new StringFilterGroup( - Settings.HIDE_VISIT_STORE_BUTTON, - "channel_profile.eml", - "page_header.eml" - ); - - visitStoreButton = new ByteArrayFilterGroup( - null, - "header_store_button" - ); - final var webLinkPanel = new StringFilterGroup( Settings.HIDE_WEB_SEARCH_RESULTS, "web_link_panel" @@ -161,7 +141,6 @@ public final class AdsFilter extends Filter { ); addPathCallbacks( - channelProfile, fullscreenAd, generalAds, merchandise, @@ -169,7 +148,6 @@ public final class AdsFilter extends Filter { playerShoppingShelf, selfSponsor, shoppingLinks, - storeProductsShelf, viewProducts, webLinkPanel ); @@ -182,11 +160,6 @@ public final class AdsFilter extends Filter { return contentIndex == 0 && playerShoppingShelfBuffer.check(protobufBufferArray).isFiltered(); } - // Check for the index because of likelihood of false positives. - if (contentIndex != 0 && matchedGroup == shoppingLinks) { - return false; - } - if (exceptions.matches(path)) { return false; } @@ -198,10 +171,6 @@ public final class AdsFilter extends Filter { return false; } - if (matchedGroup == channelProfile) { - return visitStoreButton.check(protobufBufferArray).isFiltered(); - } - return true; } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java index ec8b9cabe..8c4d81ffd 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/CommentsFilter.java @@ -7,7 +7,7 @@ import app.revanced.extension.youtube.settings.Settings; @SuppressWarnings("unused") final class CommentsFilter extends Filter { - private final StringFilterGroup filterChipBar; + private final StringFilterGroup chipBar; private final ByteArrayFilterGroup aiCommentsSummary; public CommentsFilter() { @@ -16,6 +16,21 @@ final class CommentsFilter extends Filter { "live_chat_summary_banner.eml" ); + chipBar = new StringFilterGroup( + Settings.HIDE_COMMENTS_AI_SUMMARY, + "chip_bar.eml" + ); + + aiCommentsSummary = new ByteArrayFilterGroup( + null, + "yt_fill_spark_" + ); + + var channelGuidelines = new StringFilterGroup( + Settings.HIDE_COMMENTS_CHANNEL_GUIDELINES, + "channel_guidelines_entry_banner" + ); + var commentsByMembers = new StringFilterGroup( Settings.HIDE_COMMENTS_BY_MEMBERS_HEADER, "sponsorships_comments_header.eml", @@ -28,6 +43,11 @@ final class CommentsFilter extends Filter { "_comments" ); + var communityGuidelines = new StringFilterGroup( + Settings.HIDE_COMMENTS_COMMUNITY_GUIDELINES, + "community_guidelines" + ); + var createAShort = new StringFilterGroup( Settings.HIDE_COMMENTS_CREATE_A_SHORT_BUTTON, "composer_short_creation_button.eml" @@ -50,32 +70,25 @@ final class CommentsFilter extends Filter { "composer_timestamp_button.eml" ); - filterChipBar = new StringFilterGroup( - Settings.HIDE_COMMENTS_AI_SUMMARY, - "chip_bar.eml" - ); - - aiCommentsSummary = new ByteArrayFilterGroup( - null, - "yt_fill_spark_" - ); - addPathCallbacks( + channelGuidelines, chatSummary, + chipBar, commentsByMembers, comments, + communityGuidelines, createAShort, previewComment, thanksButton, - timestampButton, - filterChipBar + timestampButton + ); } @Override boolean isFiltered(@Nullable String identifier, String path, byte[] protobufBufferArray, StringFilterGroup matchedGroup, FilterContentType contentType, int contentIndex) { - if (matchedGroup == filterChipBar) { + if (matchedGroup == chipBar) { return aiCommentsSummary.check(protobufBufferArray).isFiltered(); } diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java index a39decc43..7bf8e0ecc 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LayoutComponentsFilter.java @@ -40,6 +40,8 @@ public final class LayoutComponentsFilter extends Filter { private final StringFilterGroup horizontalShelves; private final ByteArrayFilterGroup ticketShelf; private final StringFilterGroup chipBar; + private final StringFilterGroup channelProfile; + private final ByteArrayFilterGroupList channelProfileBuffer; public LayoutComponentsFilter() { exceptions.addPatterns( @@ -81,18 +83,13 @@ public final class LayoutComponentsFilter extends Filter { "poll_post_responsive_root.eml" ); - final var communityGuidelines = new StringFilterGroup( - Settings.HIDE_COMMUNITY_GUIDELINES, - "community_guidelines" - ); - final var subscribersCommunityGuidelines = new StringFilterGroup( Settings.HIDE_SUBSCRIBERS_COMMUNITY_GUIDELINES, "sponsorships_comments_upsell" ); - final var channelMemberShelf = new StringFilterGroup( - Settings.HIDE_CHANNEL_MEMBER_SHELF, + final var channelMembersShelf = new StringFilterGroup( + Settings.HIDE_MEMBERS_SHELF, "member_recognition_shelf" ); @@ -139,13 +136,13 @@ public final class LayoutComponentsFilter extends Filter { ); final var latestPosts = new StringFilterGroup( - Settings.HIDE_HIDE_LATEST_POSTS, + Settings.HIDE_LATEST_POSTS, "post_shelf" ); - final var channelGuidelines = new StringFilterGroup( - Settings.HIDE_HIDE_CHANNEL_GUIDELINES, - "channel_guidelines_entry_banner" + final var channelLinksPreview = new StringFilterGroup( + Settings.HIDE_LINKS_PREVIEW, + "attribution.eml" ); final var emergencyBox = new StringFilterGroup( @@ -200,7 +197,6 @@ public final class LayoutComponentsFilter extends Filter { "image_shelf" ); - final var timedReactions = new StringFilterGroup( Settings.HIDE_TIMED_REACTIONS, "emoji_control_panel", @@ -227,7 +223,6 @@ public final class LayoutComponentsFilter extends Filter { "sponsorships" ); - final var channelWatermark = new StringFilterGroup( Settings.HIDE_VIDEO_CHANNEL_WATERMARK, "featured_channel_watermark_overlay" @@ -243,6 +238,22 @@ public final class LayoutComponentsFilter extends Filter { "endorsement_header_footer.eml" ); + channelProfile = new StringFilterGroup( + null, + "channel_profile.eml", + "page_header.eml" + ); + channelProfileBuffer = new ByteArrayFilterGroupList(); + channelProfileBuffer.addAll(new ByteArrayFilterGroup( + Settings.HIDE_VISIT_STORE_BUTTON, + "header_store_button" + ), + new ByteArrayFilterGroup( + Settings.HIDE_VISIT_COMMUNITY_BUTTON, + "community_button" + ) + ); + horizontalShelves = new StringFilterGroup( Settings.HIDE_HORIZONTAL_SHELVES, "horizontal_video_shelf.eml", @@ -266,7 +277,6 @@ public final class LayoutComponentsFilter extends Filter { searchResultRecommendationLabels, latestPosts, channelWatermark, - communityGuidelines, playables, quickActions, relatedVideos, @@ -279,12 +289,13 @@ public final class LayoutComponentsFilter extends Filter { subscribersCommunityGuidelines, subscriptionsChipBar, chipBar, - channelGuidelines, + channelLinksPreview, + channelProfile, audioTrackButton, artistCard, timedReactions, imageShelf, - channelMemberShelf, + channelMembersShelf, forYouShelf, horizontalShelves ); @@ -308,6 +319,10 @@ public final class LayoutComponentsFilter extends Filter { return true; } + if (matchedGroup == channelProfile) { + return channelProfileBuffer.check(protobufBufferArray).isFiltered(); + } + if (exceptions.matches(path)) return false; // Exceptions are not filtered. if (matchedGroup == compactChannelBarInner) { @@ -332,7 +347,7 @@ public final class LayoutComponentsFilter extends Filter { * Injection point. * Called from a different place then the other filters. */ - public static boolean filterMixPlaylists(final Object conversionContext, @Nullable final byte[] bytes) { + public static boolean filterMixPlaylists(Object conversionContext, @Nullable final byte[] bytes) { try { if (!Settings.HIDE_MIX_PLAYLISTS.get()) { return false; diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java index 99b56accf..4feb5d6bf 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java @@ -74,19 +74,18 @@ public class Settings extends BaseSettings { public static final BooleanSetting FORCE_ORIGINAL_AUDIO = new BooleanSetting("revanced_force_original_audio", FALSE, new ForceOriginalAudioAvailability()); // Ads - public static final BooleanSetting HIDE_CREATOR_STORE_SHELVES = new BooleanSetting("revanced_hide_creator_store_shelves", TRUE); + public static final BooleanSetting HIDE_CREATOR_STORE_SHELF = new BooleanSetting("revanced_hide_creator_store_shelf", TRUE); public static final BooleanSetting HIDE_END_SCREEN_STORE_BANNER = new BooleanSetting("revanced_hide_end_screen_store_banner", TRUE, true); public static final BooleanSetting HIDE_FULLSCREEN_ADS = new BooleanSetting("revanced_hide_fullscreen_ads", TRUE); public static final BooleanSetting HIDE_GENERAL_ADS = new BooleanSetting("revanced_hide_general_ads", TRUE); public static final BooleanSetting HIDE_GET_PREMIUM = new BooleanSetting("revanced_hide_get_premium", TRUE); - public static final BooleanSetting HIDE_HIDE_LATEST_POSTS = new BooleanSetting("revanced_hide_latest_posts_ads", TRUE); + public static final BooleanSetting HIDE_LATEST_POSTS = new BooleanSetting("revanced_hide_latest_posts", TRUE); public static final BooleanSetting HIDE_MERCHANDISE_BANNERS = new BooleanSetting("revanced_hide_merchandise_banners", TRUE); public static final BooleanSetting HIDE_PAID_PROMOTION_LABEL = new BooleanSetting("revanced_hide_paid_promotion_label", TRUE); public static final BooleanSetting HIDE_SELF_SPONSOR = new BooleanSetting("revanced_hide_self_sponsor_ads", TRUE); - public static final BooleanSetting HIDE_TAGGED_PRODUCTS = new BooleanSetting("revanced_hide_tagged_products", TRUE); + public static final BooleanSetting HIDE_SHOPPING_LINKS = new BooleanSetting("revanced_hide_shopping_links", TRUE); public static final BooleanSetting HIDE_VIDEO_ADS = new BooleanSetting("revanced_hide_video_ads", TRUE, true); public static final BooleanSetting HIDE_VIEW_PRODUCTS_BANNER = new BooleanSetting("revanced_hide_view_products_banner", TRUE); - public static final BooleanSetting HIDE_VISIT_STORE_BUTTON = new BooleanSetting("revanced_hide_visit_store_button", TRUE); public static final BooleanSetting HIDE_WEB_SEARCH_RESULTS = new BooleanSetting("revanced_hide_web_search_results", TRUE); // Feed @@ -104,7 +103,6 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_FILTER_BAR_FEED_IN_RELATED_VIDEOS = new BooleanSetting("revanced_hide_filter_bar_feed_in_related_videos", FALSE, true); public static final BooleanSetting HIDE_FILTER_BAR_FEED_IN_SEARCH = new BooleanSetting("revanced_hide_filter_bar_feed_in_search", FALSE, true); public static final BooleanSetting HIDE_FLOATING_MICROPHONE_BUTTON = new BooleanSetting("revanced_hide_floating_microphone_button", TRUE, true); - public static final BooleanSetting HIDE_FOR_YOU_SHELF = new BooleanSetting("revanced_hide_for_you_shelf", TRUE); public static final BooleanSetting HIDE_HORIZONTAL_SHELVES = new BooleanSetting("revanced_hide_horizontal_shelves", TRUE); public static final BooleanSetting HIDE_IMAGE_SHELF = new BooleanSetting("revanced_hide_image_shelf", TRUE); public static final BooleanSetting HIDE_MIX_PLAYLISTS = new BooleanSetting("revanced_hide_mix_playlists", TRUE); @@ -131,6 +129,12 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_KEYWORD_CONTENT_SEARCH = new BooleanSetting("revanced_hide_keyword_content_search", FALSE); public static final StringSetting HIDE_KEYWORD_CONTENT_PHRASES = new StringSetting("revanced_hide_keyword_content_phrases", "", parentsAny(HIDE_KEYWORD_CONTENT_HOME, HIDE_KEYWORD_CONTENT_SUBSCRIPTIONS, HIDE_KEYWORD_CONTENT_SEARCH)); + // Channel page + public static final BooleanSetting HIDE_FOR_YOU_SHELF = new BooleanSetting("revanced_hide_for_you_shelf", FALSE); + public static final BooleanSetting HIDE_LINKS_PREVIEW = new BooleanSetting("revanced_hide_links_preview", TRUE); + public static final BooleanSetting HIDE_MEMBERS_SHELF = new BooleanSetting("revanced_hide_members_shelf", TRUE); + public static final BooleanSetting HIDE_VISIT_COMMUNITY_BUTTON = new BooleanSetting("revanced_hide_visit_community_button", TRUE); + public static final BooleanSetting HIDE_VISIT_STORE_BUTTON = new BooleanSetting("revanced_hide_visit_store_button", TRUE); // Player public static final BooleanSetting COPY_VIDEO_URL = new BooleanSetting("revanced_copy_video_url", FALSE); @@ -144,13 +148,10 @@ public class Settings extends BaseSettings { public static final BooleanSetting HIDE_CAST_BUTTON = new BooleanSetting("revanced_hide_cast_button", TRUE, true); public static final BooleanSetting HIDE_PLAYER_CONTROL_BUTTONS_BACKGROUND = new BooleanSetting("revanced_hide_player_control_buttons_background", FALSE, true); public static final BooleanSetting HIDE_CHANNEL_BAR = new BooleanSetting("revanced_hide_channel_bar", FALSE); - public static final BooleanSetting HIDE_CHANNEL_MEMBER_SHELF = new BooleanSetting("revanced_hide_channel_member_shelf", TRUE); - public static final BooleanSetting HIDE_COMMUNITY_GUIDELINES = new BooleanSetting("revanced_hide_community_guidelines", TRUE); public static final BooleanSetting HIDE_EMERGENCY_BOX = new BooleanSetting("revanced_hide_emergency_box", TRUE); public static final BooleanSetting HIDE_ENDSCREEN_CARDS = new BooleanSetting("revanced_hide_endscreen_cards", FALSE); public static final BooleanSetting HIDE_END_SCREEN_SUGGESTED_VIDEO = new BooleanSetting("revanced_end_screen_suggested_video", FALSE, true); public static final BooleanSetting HIDE_RELATED_VIDEO_OVERLAY = new BooleanSetting("revanced_hide_related_video_overlay", FALSE, true); - public static final BooleanSetting HIDE_HIDE_CHANNEL_GUIDELINES = new BooleanSetting("revanced_hide_channel_guidelines", TRUE); public static final BooleanSetting HIDE_INFO_PANELS = new BooleanSetting("revanced_hide_info_panels", TRUE); public static final BooleanSetting HIDE_INFO_CARDS = new BooleanSetting("revanced_hide_info_cards", FALSE); public static final BooleanSetting HIDE_JOIN_MEMBERSHIP_BUTTON = new BooleanSetting("revanced_hide_join_membership_button", TRUE); @@ -185,7 +186,9 @@ public class Settings extends BaseSettings { // Comments public static final BooleanSetting HIDE_COMMENTS_AI_CHAT_SUMMARY = new BooleanSetting("revanced_hide_comments_ai_chat_summary", FALSE); public static final BooleanSetting HIDE_COMMENTS_AI_SUMMARY = new BooleanSetting("revanced_hide_comments_ai_summary", FALSE); + public static final BooleanSetting HIDE_COMMENTS_CHANNEL_GUIDELINES = new BooleanSetting("revanced_hide_comments_channel_guidelines", TRUE); public static final BooleanSetting HIDE_COMMENTS_BY_MEMBERS_HEADER = new BooleanSetting("revanced_hide_comments_by_members_header", FALSE); + public static final BooleanSetting HIDE_COMMENTS_COMMUNITY_GUIDELINES = new BooleanSetting("revanced_hide_comments_community_guidelines", TRUE); public static final BooleanSetting HIDE_COMMENTS_CREATE_A_SHORT_BUTTON = new BooleanSetting("revanced_hide_comments_create_a_short_button", TRUE); public static final BooleanSetting HIDE_COMMENTS_PREVIEW_COMMENT = new BooleanSetting("revanced_hide_comments_preview_comment", FALSE); public static final BooleanSetting HIDE_COMMENTS_SECTION = new BooleanSetting("revanced_hide_comments_section", FALSE); diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/ad/general/HideAdsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/ad/general/HideAdsPatch.kt index 4e1b8b38e..e1d326610 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/ad/general/HideAdsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/ad/general/HideAdsPatch.kt @@ -43,16 +43,15 @@ private val hideAdsResourcePatch = resourcePatch { addResources("youtube", "ad.general.hideAdsResourcePatch") PreferenceScreen.ADS.addPreferences( - SwitchPreference("revanced_hide_creator_store_shelves"), + SwitchPreference("revanced_hide_creator_store_shelf"), SwitchPreference("revanced_hide_end_screen_store_banner"), SwitchPreference("revanced_hide_fullscreen_ads"), SwitchPreference("revanced_hide_general_ads"), SwitchPreference("revanced_hide_merchandise_banners"), SwitchPreference("revanced_hide_paid_promotion_label"), SwitchPreference("revanced_hide_self_sponsor_ads"), - SwitchPreference("revanced_hide_tagged_products"), + SwitchPreference("revanced_hide_shopping_links"), SwitchPreference("revanced_hide_view_products_banner"), - SwitchPreference("revanced_hide_visit_store_button"), SwitchPreference("revanced_hide_web_search_results"), ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt index 189619214..a5fbf4643 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/general/HideLayoutComponentsPatch.kt @@ -157,8 +157,10 @@ val hideLayoutComponentsPatch = bytecodePatch( preferences = setOf( SwitchPreference("revanced_hide_comments_ai_chat_summary"), SwitchPreference("revanced_hide_comments_ai_summary"), + SwitchPreference("revanced_hide_comments_channel_guidelines"), SwitchPreference("revanced_hide_comments_by_members_header"), SwitchPreference("revanced_hide_comments_section"), + SwitchPreference("revanced_hide_comments_community_guidelines"), SwitchPreference("revanced_hide_comments_create_a_short_button"), SwitchPreference("revanced_hide_comments_preview_comment"), SwitchPreference("revanced_hide_comments_thanks_button"), @@ -167,10 +169,7 @@ val hideLayoutComponentsPatch = bytecodePatch( sorting = PreferenceScreenPreference.Sorting.UNSORTED, ), SwitchPreference("revanced_hide_channel_bar"), - SwitchPreference("revanced_hide_channel_guidelines"), - SwitchPreference("revanced_hide_channel_member_shelf"), SwitchPreference("revanced_hide_channel_watermark"), - SwitchPreference("revanced_hide_community_guidelines"), SwitchPreference("revanced_hide_emergency_box"), SwitchPreference("revanced_hide_info_panels"), SwitchPreference("revanced_hide_join_membership_button"), @@ -206,6 +205,16 @@ val hideLayoutComponentsPatch = bytecodePatch( SwitchPreference("revanced_hide_filter_bar_feed_in_related_videos"), ), ), + PreferenceScreenPreference( + key = "revanced_channel_screen", + preferences = setOf( + SwitchPreference("revanced_hide_for_you_shelf"), + SwitchPreference("revanced_hide_links_preview"), + SwitchPreference("revanced_hide_members_shelf"), + SwitchPreference("revanced_hide_visit_community_button"), + SwitchPreference("revanced_hide_visit_store_button"), + ), + ), SwitchPreference("revanced_hide_album_cards"), SwitchPreference("revanced_hide_artist_cards"), SwitchPreference("revanced_hide_community_posts"), @@ -215,10 +224,9 @@ val hideLayoutComponentsPatch = bytecodePatch( SwitchPreference("revanced_hide_expandable_chip"), SwitchPreference("revanced_hide_feed_survey"), SwitchPreference("revanced_hide_floating_microphone_button"), - SwitchPreference("revanced_hide_for_you_shelf"), SwitchPreference("revanced_hide_horizontal_shelves"), SwitchPreference("revanced_hide_image_shelf"), - SwitchPreference("revanced_hide_latest_posts_ads"), + SwitchPreference("revanced_hide_latest_posts"), SwitchPreference("revanced_hide_mix_playlists"), SwitchPreference("revanced_hide_movies_section"), SwitchPreference("revanced_hide_notify_me_button"), diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 722bb5192..585837e77 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -218,6 +218,7 @@ You will not be notified of any unexpected events." • Breaking news • Continue watching • Explore more channels +• Most relevant • Shopping • Watch it again" Shelves are shown @@ -226,10 +227,6 @@ You will not be notified of any unexpected events." Hide Join button Button is hidden Button is shown - - Hide \'For you\' shelf - Shelf in channel page is hidden - Shelf in channel page is shown Hide \'Notify me\' button @@ -250,15 +247,12 @@ You will not be notified of any unexpected events." Hide timed reactions Timed reactions are hidden Timed reactions are shown - Hide channel guidelines - Channel guidelines are hidden - Channel guidelines are shown Hide chips shelf Chips shelf is hidden Chips shelf is shown - Hide expandable card under videos - Expandable card is hidden - Expandable card is shown + Hide expandable card + Expandable card under videos is hidden + Expandable card under videos is shown Hide community posts Community posts are hidden Community posts are shown @@ -271,15 +265,9 @@ You will not be notified of any unexpected events." Hide feed surveys Feed surveys are hidden Feed surveys are shown - Hide community guidelines - Community guidelines are hidden - Community guidelines are shown Hide subscribers guidelines Subscribers community guidelines are hidden Subscribers community guidelines are shown - Hide channel member shelf - Channel member shelf is hidden - Channel member shelf is shown Hide emergency boxes Emergency boxes are hidden Emergency boxes are shown @@ -295,18 +283,18 @@ You will not be notified of any unexpected events." Hide Playables Playables are hidden Playables are shown - Hide quick actions in fullscreen - Quick actions are hidden - Quick actions are shown - Hide related videos in quick actions - Related videos are hidden - Related videos are shown - Hide image shelf in search results - Image shelf is hidden - Image shelf is shown - Hide latest posts - Latest posts are hidden - Latest posts are shown + Hide quick actions + Quick actions in fullscreen are hidden + Quick actions in fullscreen are shown + Hide related videos + Related videos in quick actions are hidden + Related videos in quick actions are shown + Hide image shelf + Image shelf in search results is hidden + Image shelf in search results is shown + Hide latest posts + Latest posts are hidden + Latest posts are shown Hide mix playlists Mix playlists are hidden Mix playlists are shown @@ -358,6 +346,27 @@ You will not be notified of any unexpected events." Hidden in related videos Shown in related videos + Channel page + Hide or show channel page components + + Hide \'For You\' shelf + For You shelf is hidden + For You shelf is shown + Hide links preview + Links preview is hidden + Links preview is shown + Hide members shelf + Members shelf is hidden + Members shelf is shown + + Hide \'Visit Community\' button + Visit Community button is hidden + Visit Community button is shown + + Hide \'Visit store\' button + Visit store button is hidden + Visit store button is shown + Comments Hide or show comments section components Hide AI Chat summary @@ -366,12 +375,18 @@ You will not be notified of any unexpected events." Hide AI comments summary Comments summary is hidden Comments summary is shown + Hide channel guidelines + Channel guidelines are hidden + Channel guidelines are shown Hide \'Comments by members\' header Comments by members header is hidden Comments by members header is shown Hide comments section Comments section is hidden Comments section is shown + Hide community guidelines + Community guidelines are hidden + Community guidelines are shown Hide \'Create a Short\' button Create a Short button is hidden Create a Short button is shown @@ -381,7 +396,7 @@ You will not be notified of any unexpected events." Hide Thanks button Thanks button is hidden Thanks button is shown - Hide timestamp button + Hide Timestamp button Timestamp button is hidden Timestamp button is shown @@ -439,9 +454,9 @@ Limitations Keyword will hide all videos: %s - Hide creator store shelves - Store shelves below the player and in video description are hidden - Store shelves below the player and in video description are shown + Hide creator store shelf + Store shelf under video player is hidden + Store shelf under video player is shown Hide end screen store banner Store banner is hidden Store banner is shown @@ -461,20 +476,16 @@ This feature is only available for older devices" Hide paid promotion label Paid promotion label is hidden Paid promotion label is shown + Hide self sponsored cards + Self sponsored cards are hidden + Self sponsored cards are shown + Hide shopping links + Links in the video description are hidden + Links in the video description are shown Hide \'View products\' banner Banner in video overlay is hidden Banner in video overlay is shown - Hide self sponsored cards - Self sponsored cards are hidden - Self sponsored cards are shown - Hide tagged products - Tagged products in video description are hidden - Tagged products in video description are shown - - Hide \'Visit store\' button - Button in channel page is hidden - Button in channel page is shown Hide web search results Web search results are hidden Web search results are shown @@ -848,7 +859,7 @@ To show the Audio track menu, change \'Spoof video streams\' to iOS TV" Hide New posts button New posts button is shown New posts button is hidden - Hide hashtag button + Hide Hashtag button Hashtag button is hidden Hashtag button is shown Hide search suggestions