-
Notifications
You must be signed in to change notification settings - Fork 762
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🟥 ALL YouTube issues: D-O-N-'T COMMENT without reading the 1st post🟥 #20586
Comments
June 2024 - YouTube SSAP ads issue: PLEASE UPDATE QUICK FIX LIST by clicking this linkWhen reporting, please tell exactly which BROWSER you are using, which METHOD you are testing and DESCRIBE the steps to reproduce the issue in details, including the URLs where you see the issue. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
Disable everything other than uBlock Origin and see if it does away. |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
@FrostedNiips Please follow the instructions in the top post |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
@somebody0278 Can you do these steps (follow strictly the step order, don't mix the steps orders, or skip any steps):
|
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
@MRxShoody Can you do that in chromium? |
you mean chrome ? edge uses chrionium already no ? |
@MRxShoody Yes, I mean Edge |
then all the tests/screens above were on edge |
@MRxShoody Can you remove all custom fitlers and add these: www.youtube.com#@#+js(trusted-rpnt, script, (function serverContract(), "YOUTUBE_PREMIUM_LOGO"!==ytInitialData?.topbar?.desktopTopbarRenderer?.logo?.topbarLogoRenderer?.iconImage?.iconType&&(location.href.startsWith("https://www.youtube.com/tv#/")||location.href.startsWith("https://www.youtube.com/embed/")||document.addEventListener("DOMContentLoaded"\,(function(){const t=()=>{const t=document.getElementById("movie_player");if(!t)return;if(!t.getStatsForNerds?.()?.debug_info?.startsWith?.("SSAP\, AD"))return;const e=t.getProgressState?.();e&&e.duration>0&&(e.loaded<e.duration||e.duration-e.current>1)&&t.seekTo?.(e.duration)};t()\,new MutationObserver((()=>{t()})).observe(document\,{childList:!0\,subtree:!0})})));(function serverContract(), sedCount, 1)
www.youtube.com#@#+js(trusted-replace-fetch-response, /"adPlacements.*?([A-Z]"\}|"\}{2\,4})\}\]\,/, , player?)
www.youtube.com#@#+js(trusted-replace-fetch-response, /"adSlots.*?\}\}\]\,"adBreakHeartbeatParams/, "adBreakHeartbeatParams, player?)
www.youtube.com#@#+js(json-prune-fetch-response, playerAds adPlacements adSlots playerResponse.playerAds playerResponse.adPlacements playerResponse.adSlots, , propsToMatch, /playlist?)
www.youtube.com#@#+js(json-prune-fetch-response, playerAds adPlacements adSlots playerResponse.playerAds playerResponse.adPlacements playerResponse.adSlots [].playerResponse.adPlacements [].playerResponse.playerAds [].playerResponse.adSlots, , propsToMatch, /player?)
www.youtube.com#@#+js(json-prune-fetch-response, reelWatchSequenceResponse.entries.[-].command.reelWatchEndpoint.adClientParams.isAd entries.[-].command.reelWatchEndpoint.adClientParams.isAd, , propsToMatch, url:/reel_watch_sequence?)
www.youtube.com##+js(trusted-rpnt, script, (function serverContract(), 'console.log("uBO - Injected");const applyHandler=function(target,thisArg,args){const fetchPromise=Reflect.apply(target,thisArg,args);return fetchPromise.then((responseBefore=>{const response=responseBefore.clone();const url=response.url;return response.json().then((objBefore=>{console.log(url,JSON.stringify(objBefore));return objBefore})).catch((reason=>responseBefore))})).catch((reason=>fetchPromise))};window.fetch=new Proxy(window.fetch,{apply:applyHandler});(function serverContract()', sedCount, 1) then share the log from the console? |
The log looks strange. @MRxShoody Can you screenshot the whole screen + devtools? |
@MRxShoody Can you replace the last filter with this: www.youtube.com##+js(trusted-rpnt, script, (function serverContract(), 'console.log("uBO - Injected");const applyHandler=function(target,thisArg,args){const fetchPromise=Reflect.apply(target,thisArg,args);return fetchPromise.then((responseBefore=>{const response=responseBefore.clone();const url=response.url;return response.json().then((objBefore=>{if(!url.includes("gstatic.com")){console.log(url,objBefore)}return objBefore})).catch((reason=>responseBefore))})).catch((reason=>fetchPromise))};window.fetch=new Proxy(window.fetch,{apply:applyHandler});(function serverContract()', sedCount, 1) and get all the logs again? |
@MRxShoody Can you remove all other filters and test this: www.youtube.com##+js(set, yt.config_.EXPERIMENT_FLAGS.web_bind_fetch, false) |
well done, that's the culprit |
This comment was marked as resolved.
This comment was marked as resolved.
@lorddoskias Test again in a new browser profile with only uBO and its default settings. However, you are using an old version of chromium so we can't assure uBO can work properly on it. Try testing again in an updated chromium browser. |
I updated my browser to |
Issue facing: YouTube video takes some loading before it actually starts playing. Issue explained in detail: So basically, whenever I am trying to play any video on youtube, first it is showing the loading icon and then after some time the video starts playing. A delay is coming, between clicking on a video and the video actually playing. What I tried so far:
One of the fixes which I tried was, I created a new profile on Firefox. Just installed the uBO extension, no other extension. Then tried playing a YT video without logging in my YT account. It worked fine. There were no ads coming and there wasn't any loading as well. As soon as I logged in, in my YT account, the loading appeared again. Video of the issue: Troubleshooting information: uBlock Origin: 1.60.0
Firefox: 130
filterset (summary):
network: 149817
cosmetic: 48427
scriptlet: 21108
html: 2001
listset (total-discarded, last-updated):
default:
user-filters: 4-0, never
ublock-filters: 40573-131, 4h.36m Δ
ublock-badware: 11262-6, 4h.36m Δ
ublock-privacy: 1270-22, 4h.36m Δ
ublock-unbreak: 2537-1, 4h.36m Δ
ublock-quick-fixes: 144-14, 16m
easylist: 85686-185, 4h.36m Δ
easyprivacy: 53129-62, 4h.36m Δ
urlhaus-1: 24765-0, 21h.20m
plowe-0: 3546-993, 21h.20m
filterset (user): [array of 4 redacted]
userSettings:
userFiltersTrusted: true
hiddenSettings: [none]
supportStats:
allReadyAfter: 440 ms
maxAssetCacheWait: 218 ms
cacheBackend: indexedDB
popupPanel:
blocked: 60
network:
youtube.com: 26
doubleclick.net: 3
google.com: 25
googlevideo.com: 6
extended:
##.ytp-featured-product
###masthead-ad
###player-ads
##.ytd-merch-shelf-renderer
##.ytp-suggested-action > button.ytp-suggested-action-badge
##+js(set-constant, ytInitialPlayerResponse.playerAds, undefined…
##+js(set-constant, ytInitialPlayerResponse.adPlacements, undefi…
##+js(set-constant, ytInitialPlayerResponse.adSlots, undefined)
##+js(set-constant, playerResponse.adPlacements, undefined)
##+js(json-prune-fetch-response, playerAds adPlacements adSlots …
##+js(json-prune-fetch-response, reelWatchSequenceResponse.entri…
##+js(trusted-replace-node-text, script, (function serverContrac…
##+js(adjust-setTimeout, [native code], 17000, 0.001)
##+js(json-prune-xhr-response, playerAds adPlacements adSlots pl…
##+js(set-constant, yt.config_.EXPERIMENT_FLAGS.web_bind_fetch, …
##+js(adjust-setTimeout, resolve(1), *, 0.001)
##+js(set-constant, yt.config_.EXPERIMENT_FLAGS.web_enable_ab_rs…
##+js(set-constant, yt.config_.EXPERIMENT_FLAGS.ab_pl_man, false… |
@Sarthak104 In the new profile, can you test these filters: www.youtube.com#@#+js(trusted-rpnt, script, (function serverContract(), "YOUTUBE_PREMIUM_LOGO"!==ytInitialData?.topbar?.desktopTopbarRenderer?.logo?.topbarLogoRenderer?.iconImage?.iconType&&(location.href.startsWith("https://www.youtube.com/tv#/")||location.href.startsWith("https://www.youtube.com/embed/")||document.addEventListener("DOMContentLoaded"\,(function(){const t=()=>{const t=document.getElementById("movie_player");if(!t)return;if(!t.getStatsForNerds?.()?.debug_info?.startsWith?.("SSAP\, AD"))return;const e=t.getProgressState?.();e&&e.duration>0&&(e.loaded<e.duration||e.duration-e.current>1)&&t.seekTo?.(e.duration)};t()\,new MutationObserver((()=>{t()})).observe(document\,{childList:!0\,subtree:!0})})));(function serverContract(), sedCount, 1)
www.youtube.com##+js(trusted-rpnt, script, (function serverContract(), "YOUTUBE_PREMIUM_LOGO"!==ytInitialData?.topbar?.desktopTopbarRenderer?.logo?.topbarLogoRenderer?.iconImage?.iconType&&(location.href.startsWith("https://www.youtube.com/tv#/")||location.href.startsWith("https://www.youtube.com/embed/")||document.addEventListener("DOMContentLoaded"\,(function(){const t=()=>{const t=document.getElementById("movie_player");if(!t)return;if(!t.getStatsForNerds?.()?.debug_info?.startsWith?.("SSAP\, AD"))return;const e=t.getProgressState?.();e&&e.duration>0&&(e.loaded<e.duration||e.duration-e.current>1)&&t.seekTo?.(e.duration+.01)};t()\,new MutationObserver((()=>{t()})).observe(document\,{childList:!0\,subtree:!0})})));(function serverContract(), sedCount, 1) Click on uBO icon > ⚙ Dashboard button > Add the filter(s) in "My filters" pane > ✓ Apply changes > Open new tab and test again. Remember to turn on |
I tried it, while logged in, in my YT account. This is what I noticed:
That was pretty much I was able to notice at the first glance. Let me know if I can try anything else @stephenhawk8054 . |
@Sarthak104 In this case, is the issue consistent with some videos or it happens randomly? If it can be reproduced in some ways, can you record video of it? |
@stephenhawk8054 From what I can tell and again this is just pure speculation, it is mostly happening on videos on which monetization is enabled, i.e. ads can appear on the video. Because, let's say if I try to play any video from 8 or 10 years ago, in most of the cases it works fine. But on newer videos, like < 5 years old, the loading delay still appears. I could be wrong as well. I think it's consistent and I don't find it to be random. I am sharing a recording of it below: In the above video, in the initial 2-3 videos, the issue appeared, Then I tried playing an old video and in that one, the problem didn't appear and it worked fine. Let me know if anything else I can try. |
I can't access the video btw. I mean if it's consistent with some videos, you can test on those videos only to make sure if the new filters work or not. @Sarthak104 Remove all of the previous filters, can you test these www.youtube.com#@#+js(trusted-rpnt, script, (function serverContract(), "YOUTUBE_PREMIUM_LOGO"!==ytInitialData?.topbar?.desktopTopbarRenderer?.logo?.topbarLogoRenderer?.iconImage?.iconType&&(location.href.startsWith("https://www.youtube.com/tv#/")||location.href.startsWith("https://www.youtube.com/embed/")||document.addEventListener("DOMContentLoaded"\,(function(){const t=()=>{const t=document.getElementById("movie_player");if(!t)return;if(!t.getStatsForNerds?.()?.debug_info?.startsWith?.("SSAP\, AD"))return;const e=t.getProgressState?.();e&&e.duration>0&&(e.loaded<e.duration||e.duration-e.current>1)&&t.seekTo?.(e.duration)};t()\,new MutationObserver((()=>{t()})).observe(document\,{childList:!0\,subtree:!0})})));(function serverContract(), sedCount, 1)
www.youtube.com##+js(trusted-rpnt, script, (function serverContract(), "YOUTUBE_PREMIUM_LOGO"!==ytInitialData?.topbar?.desktopTopbarRenderer?.logo?.topbarLogoRenderer?.iconImage?.iconType&&(location.href.startsWith("https://www.youtube.com/tv#/")||location.href.startsWith("https://www.youtube.com/embed/")||document.addEventListener("DOMContentLoaded"\,(function(){const t=()=>{const t=document.getElementById("movie_player");if(!t)return;if(!t.getStatsForNerds?.()?.debug_info?.startsWith?.("SSAP\, AD"))return;const e=t.getProgressState?.();e&&e.duration>0&&(e.loaded<e.duration||e.duration-e.current>1)&&t.seekTo?.(e.duration+1)};t()\,new MutationObserver((()=>{t()})).observe(document\,{childList:!0\,subtree:!0})})));(function serverContract(), sedCount, 1) |
Have updated the permissions. Please check now... |
@Sarthak104 Have you tested the newest ones: #20586 (comment) |
... Tried these filters. Unfortunately no change whatsoever. Thanks for the help. Let me know if I can try something else. |
Yeah, I adjusted the filter to skip the ads duration + 1s. The previous one is ads duration + 0.01s. @Sarthak104 Can you remove the previous filters and add these ones: www.youtube.com#@#+js(trusted-rpnt, script, (function serverContract(), "YOUTUBE_PREMIUM_LOGO"!==ytInitialData?.topbar?.desktopTopbarRenderer?.logo?.topbarLogoRenderer?.iconImage?.iconType&&(location.href.startsWith("https://www.youtube.com/tv#/")||location.href.startsWith("https://www.youtube.com/embed/")||document.addEventListener("DOMContentLoaded"\,(function(){const t=()=>{const t=document.getElementById("movie_player");if(!t)return;if(!t.getStatsForNerds?.()?.debug_info?.startsWith?.("SSAP\, AD"))return;const e=t.getProgressState?.();e&&e.duration>0&&(e.loaded<e.duration||e.duration-e.current>1)&&t.seekTo?.(e.duration)};t()\,new MutationObserver((()=>{t()})).observe(document\,{childList:!0\,subtree:!0})})));(function serverContract(), sedCount, 1)
www.youtube.com##+js(trusted-rpnt, script, (function serverContract(), '(()=>{if(ytInitialData?.topbar?.desktopTopbarRenderer?.logo?.topbarLogoRenderer?.iconImage?.iconType==="YOUTUBE_PREMIUM_LOGO")return;if(location.href.startsWith("https://www.youtube.com/tv#/")||location.href.startsWith("https://www.youtube.com/embed/")||location.href.startsWith("https://www.youtube.com/subscribe_embed/"))return;document.addEventListener("DOMContentLoaded",(function(){const skipAd=()=>{const videoPlayer=document.getElementById("movie_player");if(!videoPlayer)return;console.log(videoPlayer.getStatsForNerds?.()?.debug_info,"uBO - debug");if(!videoPlayer.getStatsForNerds?.()?.debug_info?.startsWith?.("SSAP, AD"))return;const progress=videoPlayer.getProgressState?.();console.log(JSON.stringify(progress),"uBO - progress");if(progress&&progress.duration>0){if(progress.loaded<progress.duration||progress.duration-progress.current>1){videoPlayer.seekTo?.(progress.duration+1)}}};skipAd();const observer=new MutationObserver((()=>{skipAd()}));observer.observe(document,{childList:true,subtree:true})}))})();(function serverContract()', sedCount, 1) then open new tab and reproduce the issue -> Click |
This comment was marked as resolved.
This comment was marked as resolved.
@Sarthak104 Oh sorry, I copied wrong ones. These ones: www.youtube.com#@#+js(trusted-rpnt, script, (function serverContract(), "YOUTUBE_PREMIUM_LOGO"!==ytInitialData?.topbar?.desktopTopbarRenderer?.logo?.topbarLogoRenderer?.iconImage?.iconType&&(location.href.startsWith("https://www.youtube.com/tv#/")||location.href.startsWith("https://www.youtube.com/embed/")||document.addEventListener("DOMContentLoaded"\,(function(){const t=()=>{const t=document.getElementById("movie_player");if(!t)return;if(!t.getStatsForNerds?.()?.debug_info?.startsWith?.("SSAP\, AD"))return;const e=t.getProgressState?.();e&&e.duration>0&&(e.loaded<e.duration||e.duration-e.current>1)&&t.seekTo?.(e.duration)};t()\,new MutationObserver((()=>{t()})).observe(document\,{childList:!0\,subtree:!0})})));(function serverContract(), sedCount, 1)
www.youtube.com##+js(trusted-rpnt, script, (function serverContract(), '(()=>{if(ytInitialData?.topbar?.desktopTopbarRenderer?.logo?.topbarLogoRenderer?.iconImage?.iconType==="YOUTUBE_PREMIUM_LOGO")return;if(location.href.startsWith("https://www.youtube.com/tv#/")||location.href.startsWith("https://www.youtube.com/embed/")||location.href.startsWith("https://www.youtube.com/subscribe_embed/"))return;document.addEventListener("DOMContentLoaded",(function(){const skipAd=()=>{const videoPlayer=document.getElementById("movie_player");if(!videoPlayer)return;console.log(videoPlayer.getStatsForNerds?.()?.debug_info,"uBO - debug");if(!videoPlayer.getStatsForNerds?.()?.debug_info?.startsWith?.("SSAP, AD"))return;const progress=videoPlayer.getProgressState?.();console.log(JSON.stringify(progress),"uBO - progress");if(progress&&progress.duration>0){if(progress.loaded<progress.duration||progress.duration-progress.current>1){videoPlayer.seekTo?.(progress.duration+1)}}};skipAd();const observer=new MutationObserver((()=>{skipAd()}));observer.observe(document,{childList:true,subtree:true})}))})();(function serverContract()', sedCount, 1) |
No worries @stephenhawk8054 Tried the filters. Ads are gone but the loading delay is still appearing. |
@Sarthak104 Yeah, these are not the solutions, but just to get the logs Can you remove all the filters and get the logs of the problematic videos with these: www.youtube.com#@#+js(trusted-rpnt, script, (function serverContract(), "YOUTUBE_PREMIUM_LOGO"!==ytInitialData?.topbar?.desktopTopbarRenderer?.logo?.topbarLogoRenderer?.iconImage?.iconType&&(location.href.startsWith("https://www.youtube.com/tv#/")||location.href.startsWith("https://www.youtube.com/embed/")||document.addEventListener("DOMContentLoaded"\,(function(){const t=()=>{const t=document.getElementById("movie_player");if(!t)return;if(!t.getStatsForNerds?.()?.debug_info?.startsWith?.("SSAP\, AD"))return;const e=t.getProgressState?.();e&&e.duration>0&&(e.loaded<e.duration||e.duration-e.current>1)&&t.seekTo?.(e.duration)};t()\,new MutationObserver((()=>{t()})).observe(document\,{childList:!0\,subtree:!0})})));(function serverContract(), sedCount, 1)
www.youtube.com##+js(trusted-rpnt, script, (function serverContract(), '(()=>{if(ytInitialData?.topbar?.desktopTopbarRenderer?.logo?.topbarLogoRenderer?.iconImage?.iconType==="YOUTUBE_PREMIUM_LOGO")return;if(location.href.startsWith("https://www.youtube.com/tv#/")||location.href.startsWith("https://www.youtube.com/embed/")||location.href.startsWith("https://www.youtube.com/subscribe_embed/"))return;document.addEventListener("DOMContentLoaded",(function(){const skipAd=()=>{const videoPlayer=document.getElementById("movie_player");if(!videoPlayer)return;console.log("[uBO - debug]",videoPlayer.getStatsForNerds?.()?.debug_info);const progress=videoPlayer.getProgressState?.();if(!progress)return;console.log("[uBO - progress]",JSON.stringify(progress));if(!videoPlayer.getStatsForNerds().debug_info.startsWith?.("SSAP, AD"))return;if(progress.duration>0){if(progress.loaded<progress.duration||progress.duration-progress.current>1){videoPlayer.seekTo?.(progress.duration+1);console.log("[uBO - skipped]",JSON.stringify(progress))}}};skipAd();const observer=new MutationObserver((()=>{skipAd()}));observer.observe(document,{childList:true,subtree:true})}))})();(function serverContract()', sedCount, 1) |
Oh, fine. Another log for another video: https://logpasta.com/paste/fad60667-dc25-4061-b9ba-c2f827494c5b |
@Sarthak104 Can you remove the current filters and test these www.youtube.com#@#+js(trusted-rpnt, script, (function serverContract(), "YOUTUBE_PREMIUM_LOGO"!==ytInitialData?.topbar?.desktopTopbarRenderer?.logo?.topbarLogoRenderer?.iconImage?.iconType&&(location.href.startsWith("https://www.youtube.com/tv#/")||location.href.startsWith("https://www.youtube.com/embed/")||document.addEventListener("DOMContentLoaded"\,(function(){const t=()=>{const t=document.getElementById("movie_player");if(!t)return;if(!t.getStatsForNerds?.()?.debug_info?.startsWith?.("SSAP\, AD"))return;const e=t.getProgressState?.();e&&e.duration>0&&(e.loaded<e.duration||e.duration-e.current>1)&&t.seekTo?.(e.duration)};t()\,new MutationObserver((()=>{t()})).observe(document\,{childList:!0\,subtree:!0})})));(function serverContract(), sedCount, 1)
www.youtube.com##+js(trusted-rpnt, script, (function serverContract(), (()=>{let e="";document.addEventListener("DOMContentLoaded"\,(function(){const t=()=>{const t=document.getElementById("movie_player");if(!t)return;const n=t.querySelector("video");if(!n)return;const o=t.getVideoStats?.()?.ssap;if(n.duration&&o&&o.includes("vid.nvd")){const i=parseInt(o.split("st.").at(-1).split(";")[0])/1e3;let r=[];for(const e of o.matchAll(/\bcpn\.([-\w]+)/g))r.push(e[1]);const s=r.join("\,");(!1===n.loop&&e!==s&&n.currentTime<i||!0===n.loop&&n.currentTime<i||.001===n.currentTime&&n.currentTime<i)&&(t.seekTo(i)\,e=s)}};t();new MutationObserver((()=>{t()})).observe(document\,{childList:!0\,subtree:!0})}))})();(function serverContract(), sedCount, 1) This time no need to get the logs, just check if the issue is still there. |
Note: After each step, close your current tabs and open new tab to test again or it won't work.
If you got
282054944
error on player, DO NOT CLEAR COOKIES.1.60.0
+)video tutorial
1-update-uBO.mp4
My filters)
and disabling ALL additional lists you have enabled MANUALLY, including the ones listed by uBO. DO NOT disable DEFAULT filter lists. It might be quicker to make a backup of your config and restore to defaults instead.video tutorials
2-disabling-custom-filter-config.mp4
2-2-reset-to-defaults.mp4
click this link then load Youtube in a new tab.
Some browsers with built-in blockers
Tracking Prevention
video tutorial
4-disabling-extensions.mp4
Restarting your browser afterwards may help too. On Chromium-based browsers uBO can't reliably block ads after you launched browser or switched profiles including "Open link in incognito" and "Open link as User X". This state of unable-to-block will be kept until you do manual refresh of the page.
🟥 When reporting, A-L-W-A-Y-S provide your
Troubleshooting Information
! ALWAYS!! 🟥video tutorial
5-copying-troubleshooting-info.mp4
It is Youtube's own issue that endcards are shown too early if SSAP ads play. Do not report them as uBO's issue unless you're 100% sure this is caused by filters.
If you suffer slow loading, test
at your own risk.
Old youtube threads
The text was updated successfully, but these errors were encountered: