code-charity / youtube

[top~1 open YouTube & Video browser-extension] - Enrich your experience & choice! 🧰180+ options & clever features 📌set+forget📌Longest-standing(been tough). Please join🧩us👨‍👩‍👧‍👧 ..⋮ {playback|content discovery|player|extra buttons|distractions|related videos|shorts|ads|quality|codec|full tab|full screen}
http://improvedtube.com
Other
3.46k stars 523 forks source link

Blocking display of member only videos #2472

Open andejp12 opened 3 months ago

andejp12 commented 3 months ago

PROBLEM: Being shown thumbnails to videos that are members only and I'm not a channel member

SOLUTION: Would it be possible to see if a user is a member of a channel and if not, block the member only videos from being displayed?

ALTERNATIVES: A way to block all member only videos if it's not possible to check the current status of membership to a channel

RELEVANCE / SCOPE: I think a small percentage of youtube users are channel members so blocking these videos seems like it would help most people.

"SIDE EFFECTS": You wouldn't see member only videos so they wouldn't be able to entice people to get a channel membership.

⚬ _CONTEXT_:

// Thank you!

SHORT Table (Summary)
Problem Want member only videos to be blocked from display
Solution prevent videos with members only tag from being displayed
Alternatives Unsure
Scope Most users
Side effects Member only videos are no longer able to entice people to get channel membership
Context
ImprovedTube commented 3 months ago

hi! & thanks @andejp12
Please provide a sample with right click on it "inspect element". copying the element and also the "full xpath"

Are these videos any related / interesting (from creators you subscribed?) (this can come with two options: hide or make them smaller and more obvious, so less annoying, leaving a bit of chance that any of them will be worth paying)

andejp12 commented 3 months ago

Hi, sorry for the delay but of course right after your reply I hadn't seen one in a while.

These are from channels that I'm subscribed to but not a member of the channel.

Here is the element

<ytd-rich-item-renderer class="style-scope ytd-rich-grid-row" items-per-row="1" is-link-card-full-width="" lockup="true"><div id="content" class="style-scope ytd-rich-item-renderer"><ytd-rich-grid-media class="style-scope ytd-rich-item-renderer" lockup="true"><div id="dismissible" class="style-scope ytd-rich-grid-media"><div id="thumbnail" class="style-scope ytd-rich-grid-media"><ytd-thumbnail rich-grid-thumbnail="" use-hovered-property="" width="9999" class="style-scope ytd-rich-grid-media" size="large" hidden=""><a id="thumbnail" class="yt-simple-endpoint inline-block style-scope ytd-thumbnail" aria-hidden="true" tabindex="-1" rel="null" href="/watch?v=LZ2kSbSrDLs&list=RDLZ2kSbSrDLs&start_radio=1"> <yt-image alt="" ftl-eligible="" notify-on-loaded="" notify-on-unloaded="" class="style-scope ytd-thumbnail"><img alt="" style="background-color: transparent;" class="yt-core-image yt-core-image--fill-parent-height yt-core-image--fill-parent-width yt-core-image--content-mode-scale-aspect-fill">

<ytd-thumbnail-overlay-bottom-panel-renderer class="style-scope ytd-thumbnail" use-modern-collections-v2="" overlay-style="" style="background-color: rgba(40, 33, 25, 0.8);"><yt-icon class="style-scope ytd-thumbnail-overlay-bottom-panel-renderer"><yt-icon-shape class="style-scope yt-icon"><div style="width: 100%; height: 100%; display: block; fill: currentcolor;"><svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" focusable="false" style="pointer-events: none; display: inherit; width: 100%; height: 100%;">
Mix <ytd-thumbnail-overlay-now-playing-renderer class="style-scope ytd-thumbnail" now-playing-badge=""><span id="overlay-text" class="style-scope ytd-thumbnail-overlay-now-playing-renderer">Now playing <svg xmlns="http://www.w3.org/2000/svg" id="equalizer" viewBox="0 0 55 95" class="style-scope ytd-thumbnail-overlay-equalizer">

<ytd-playlist-thumbnail is-double-stack="" use-hovered-property="" width="9999" class="style-scope ytd-rich-grid-media" thumbnail-size="large" enable-web-modern-collections-v2="" size="large"><yt-collections-stack class="collections-stack-wiz">

<div class="collections-stack-wizcollection-stack2" style="background-color: rgb(147, 133, 118);">
<div class="collections-stack-wizcollection-stack1 collections-stack-wiz__collection-stack1--large" style="background-color: rgb(147, 133, 118);">
<a id="thumbnail" class="yt-simple-endpoint style-scope ytd-playlist-thumbnail" tabindex="-1" aria-hidden="true" href="/watch?v=LZ2kSbSrDLs&list=RDLZ2kSbSrDLs&start_radio=1">
<ytd-playlist-video-thumbnail-renderer class="style-scope ytd-playlist-thumbnail"><yt-image alt="" ftl-eligible="" class="style-scope ytd-playlist-video-thumbnail-renderer">
<ytd-thumbnail-overlay-bottom-panel-renderer class="style-scope ytd-playlist-thumbnail" use-modern-collections-v2="" overlay-style="" style="background-color: rgba(40, 33, 25, 0.8);"><yt-icon class="style-scope ytd-thumbnail-overlay-bottom-panel-renderer"><yt-icon-shape class="style-scope yt-icon"><div style="width: 100%; height: 100%; display: block; fill: currentcolor;"><svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" focusable="false" style="pointer-events: none; display: inherit; width: 100%; height: 100%;">
Mix <ytd-thumbnail-overlay-now-playing-renderer class="style-scope ytd-playlist-thumbnail" now-playing-badge=""><span id="overlay-text" class="style-scope ytd-thumbnail-overlay-now-playing-renderer">Now playing <svg xmlns="http://www.w3.org/2000/svg" id="equalizer" viewBox="0 0 55 95" class="style-scope ytd-thumbnail-overlay-equalizer">

<div id="thumbnail-underlay" class="style-scope ytd-rich-grid-media" hidden=""><div id="details" class="style-scope ytd-rich-grid-media"><div id="avatar-container" class="yt-simple-endpoint style-scope ytd-rich-grid-media" hidden=""><a id="avatar-link" class="yt-simple-endpoint style-scope ytd-rich-grid-media" tabindex="-1" title="undefined"><yt-img-shadow id="avatar" width="48" class="style-scope ytd-rich-grid-media no-transition empty" style="background-color: transparent;"><img id="img" draggable="false" class="style-scope yt-img-shadow" alt="" width="48"><div id="decorated-avatar" class="style-scope ytd-rich-grid-media" hidden=""><div id="meta" class="style-scope ytd-rich-grid-media">

<ytd-badge-supported-renderer class="top-badge style-scope ytd-rich-grid-media" collection-truncate="" disable-upgrade="" hidden=""><a id="video-title-link" class="yt-simple-endpoint focus-on-expand style-scope ytd-rich-grid-media" title="Mix - Cannons - Hurricane (Official Video)" href="/watch?v=LZ2kSbSrDLs&list=RDLZ2kSbSrDLs&start_radio=1"><yt-formatted-string id="video-title" class="style-scope ytd-rich-grid-media">Mix - Cannons - Hurricane (Official Video)

<ytd-video-meta-block class="grid style-scope ytd-rich-grid-media" rich-meta="" amsterdam-post-mvp="" radio-meta="">

<dom-repeat strip-whitespace="" class="style-scope

ytd-video-meta-block">

<ytd-badge-supported-renderer class="video-badge style-scope ytd-rich-grid-media" disable-upgrade="" hidden=""><ytd-badge-supported-renderer class="title-badge style-scope ytd-rich-grid-media" disable-upgrade="" hidden=""><yt-formatted-string id="view-more" link-inherit-color="" class="style-scope ytd-rich-grid-media" is-empty="function(){var e=Fa.apply(0,arguments);a.loggingStatus.currentExternalCall=b;a.loggingStatus.bypassProxyController=!0;var h,l=((h=a.is)!=null?h:a.tagName).toLowerCase();bz(l,b,"PROPERTY_ACCESS_CALL_EXTERNAL");var m;h=(m=c!=null?c:d[b])==null?void 0:m.call.apply(m,[d].concat(qa(e)));a.loggingStatus.currentExternalCall=void 0;a.loggingStatus.bypassProxyController=!1;return h}" hidden=""><yt-attributed-string class="style-scope yt-formatted-string"><div id="buttons" class="style-scope ytd-rich-grid-media"><div id="menu" class="style-scope ytd-rich-grid-media"><ytd-menu-renderer class="style-scope ytd-rich-grid-media" safe-area="" menu-active=""><div id="top-level-buttons-computed" class="top-level-buttons style-scope ytd-menu-renderer">

<yt-icon-button id="button" class="dropdown-trigger style-scope ytd-menu-renderer" style-target="button" role="button"><button id="button" class="style-scope yt-icon-button" aria-label="Action menu"><yt-icon-shape class="style-scope yt-icon"><div style="width: 100%; height: 100%; display: block; fill: currentcolor;"><svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24" viewBox="0 0 24 24" width="24" focusable="false" style="pointer-events: none; display: inherit; width: 100%; height: 100%;"><yt-interaction id="interaction" class="circular style-scope yt-icon-button"><div class="stroke style-scope yt-interaction">
<yt-button-shape id="button-shape" version="modern" class="style-scope ytd-menu-renderer" disable-upgrade="" hidden=""><div id="attached-survey" class="style-scope ytd-rich-grid-media">
<yt-interaction id="interaction" class="extended style-scope ytd-rich-grid-media"><div class="stroke style-scope yt-interaction">
<yt-interaction id="interaction" class="extended rounded-large style-scope ytd-rich-item-renderer" hidden="">

AND, the full Xpath

/html/body/ytd-app/div[1]/ytd-page-manager/ytd-browse/ytd-two-column-browse-results-renderer/div[1]/ytd-rich-grid-renderer/div[6]/ytd-rich-grid-row[3]/div/ytd-rich-item-renderer

On Fri, Jul 12, 2024 at 2:30 AM ImprovedTube @.***> wrote:

hi! & thanks @andejp12 https://github.com/andejp12 Please provide a sample with right click on it "inspect element". copying the element and also the "full xpath"

Are these videos any related / interesting (from creators you subscribed?) (this can come with two options: hide or make them smaller and more obvious, so less annoying, leaving a bit of chance that any of them will be worth paying)

— Reply to this email directly, view it on GitHub https://github.com/code-charity/youtube/issues/2472#issuecomment-2224993658, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQFX6RT2CJTGC3K2WSP4TULZL6A2FAVCNFSM6AAAAABKXGCTTCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRUHE4TGNRVHA . You are receiving this because you were mentioned.Message ID: @.***>