Skip to content
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

Open
5 tasks done
stephenhawk8054 opened this issue Nov 10, 2023 · 2,191 comments
Open
5 tasks done
Labels
ongoing ongoing issue

Comments

@stephenhawk8054
Copy link
Member

stephenhawk8054 commented Nov 10, 2023

⚠️ P-L-E-A-S-E, PLEASE, PLEASE, PLEASE read and follow all of the instructions first ⚠️

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.

  • I updated uBO to the latest versions (1.59.0+)
video tutorial
1-update-uBO.mp4
video tutorials
2-disabling-custom-filter-config.mp4
2-2-reset-to-defaults.mp4
  • My filter lists are up to date.

click this link then load Youtube in a new tab.

Some browsers with built-in blockers

  • Opera, Vivaldi, Brave
  • Edge: Click on "lock" icon at the left of URL bar -> Turn off Tracking Prevention
video tutorial
4-disabling-extensions.mp4
  • I did not remove any of the default filter lists, or I have verified that the issue was not caused by removing any of the default lists.

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!! 🟥

  • On YouTube page that has issue: click 🛡️ uBO's icon > 💬 Report > Click "Troubleshooting information" > Select all > Copy > Share it.
video tutorial
5-copying-troubleshooting-info.mp4
  • Then share the EXACT links / URLs that you see the issue.
  • Describe the steps to reproduce in the most details as possible.
  • Provide video recordings of how to reproduce the issue.

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

www.youtube.com##+js(nano-stb, resolve(1), *, 0.001)
www.youtube.com##+js(set, yt.config_.EXPERIMENT_FLAGS.web_enable_ab_rsp_cl, false)
www.youtube.com##+js(set, yt.config_.EXPERIMENT_FLAGS.ab_pl_man, false)
||googlevideo.com/videoplayback$xhr,3p,method=get,domain=www.youtube.com

at your own risk.


Old youtube threads

@stephenhawk8054 stephenhawk8054 added the ongoing ongoing issue label Nov 10, 2023
@stephenhawk8054
Copy link
Member Author

stephenhawk8054 commented Nov 10, 2023

June 2024 - YouTube SSAP ads issue: PLEASE UPDATE QUICK FIX LIST by clicking this link

When 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.

@stephenhawk8054 stephenhawk8054 pinned this issue Nov 10, 2023
@mapx- mapx- mentioned this issue Nov 10, 2023
10 tasks
@TheAGames10

This comment was marked as off-topic.

@iam-py-test

This comment was marked as off-topic.

@TheAGames10

This comment was marked as off-topic.

@iam-py-test
Copy link
Contributor

iam-py-test commented Nov 10, 2023

Disable everything other than uBlock Origin and see if it does away.
Then, enable them one-by-one and see which one caused it.
Thanks

@TheAGames10

This comment was marked as resolved.

@u-RraaLL

This comment was marked as resolved.

@FrostedNiips

This comment was marked as outdated.

@stephenhawk8054
Copy link
Member Author

@FrostedNiips Please follow the instructions in the top post

stephenhawk8054 added a commit that referenced this issue Nov 12, 2023
stephenhawk8054 added a commit that referenced this issue Nov 12, 2023
@somebody0278

This comment was marked as outdated.

@stephenhawk8054

This comment was marked as outdated.

@somebody0278

This comment was marked as outdated.

@stephenhawk8054

This comment was marked as off-topic.

@somebody0278

This comment was marked as outdated.

@stephenhawk8054

This comment was marked as outdated.

@mapx- mapx- mentioned this issue Nov 12, 2023
10 tasks
@stephenhawk8054
Copy link
Member Author

@somebody0278 Can you do these steps (follow strictly the step order, don't mix the steps orders, or skip any steps):

  1. Click on uBO icon > ▤ "The logger" icon, it will open a logger window
  2. Open new tab and reproduce the issue
  3. Switch to the logger window that was opened in step 1, click on search bar, choose blocked
  4. Copy the logger via 📋 export/copy button at the top right
  5. Paste the logs here

@MandiYang

This comment was marked as outdated.

@stephenhawk8054

This comment was marked as outdated.

@MandiYang

This comment was marked as outdated.

@MandiYang

This comment was marked as outdated.

@stephenhawk8054

This comment was marked as outdated.

@MandiYang

This comment was marked as outdated.

@stephenhawk8054

This comment was marked as outdated.

@MRxShoody
Copy link

nothing changes, same behavior

@Yuki2718
Copy link
Contributor

@MRxShoody Can you install Firefox if not done already, log in to the same account, and see if the original issue of partial-slip happens with default settings?

@Yuki2718
Copy link
Contributor

Whoops, of course you first have to insatll uBO to Firefox.

@MRxShoody
Copy link

aight, will report back

@MRxShoody
Copy link

@Yuki2718 oh well, it doesn't happen on firefox. time to switch on it i guess @_@

@stephenhawk8054
Copy link
Member Author

Firefox has replace filters so it doesn't need json-prune ones.

@MRxShoody Can you reproduce the issue after adding these filters?

||www.youtube.com/playlist?list=$xhr,1p,replace=/"adPlacements.*?([A-Z]"\}|"\}{2\,4})\}\]\,//,badfilter
||www.youtube.com/playlist?list=$xhr,1p,replace=/"adSlots.*?\}\}\]\,"adBreakHeartbeatParams/"adBreakHeartbeatParams/,badfilter
||www.youtube.com/watch?$xhr,1p,replace=/"adPlacements.*?([A-Z]"\}|"\}{2\,4})\}\]\,//,badfilter
||www.youtube.com/watch?$xhr,1p,replace=/"adSlots.*?\}\}\]\,"adBreakHeartbeatParams/"adBreakHeartbeatParams/,badfilter
||www.youtube.com/youtubei/v1/player?$xhr,1p,replace=/"adPlacements.*?([A-Z]"\}|"\}{2\,4})\}\]\,//,badfilter
||www.youtube.com/youtubei/v1/player?$xhr,1p,replace=/"adSlots.*?\}\}\]\,"adBreakHeartbeatParams/"adBreakHeartbeatParams/,badfilter

@MRxShoody
Copy link

yup, after placing these filters i can reproduce the issue, you got it i believe

@stephenhawk8054
Copy link
Member Author

stephenhawk8054 commented Sep 28, 2024

@MRxShoody If you sign out in Firefox + using these filters above, does the issue still occur?

@MRxShoody
Copy link

@stephenhawk8054 nope when signed out + these filters, it doesn't occur

@Yuki2718
Copy link
Contributor

So the problem seems to be that neither json-prune-fetch-response or trusted-replace-fetch-response works on your account and it seems the issue is independent on browsers.
@MRxShoody Can you login on Edge, open browser console, type in yt.config_.EXPERIMENT_FLAGS, copy the object and share this?

@Yuki2718

This comment was marked as outdated.

@Oqarshi
Copy link

Oqarshi commented Sep 28, 2024

Screenshot 2024-09-28 084205
Screenshot 2024-09-28 084217
Screenshot 2024-09-28 084225
Screenshot 2024-09-28 084229
Its happenring again i get a blank screen for 10 seconds then a still ad pops up. For this video i got 2 ads in a row. btw i got more examples cause its happening to every video i click for some reason for now

uBlock Origin: 1.60.0
Chromium: 129
filterset (summary):
network: 150106
cosmetic: 48474
scriptlet: 22610
html: 0
listset (total-discarded, last-updated):
default:
user-filters: 0-0, never
ublock-filters: 40275-134, 43m Δ
ublock-badware: 11171-6, 43m Δ
ublock-privacy: 1287-23, 43m Δ
ublock-unbreak: 2480-1, 43m Δ
ublock-quick-fixes: 141-10, 43m Δ
easylist: 85601-186, 43m Δ
easyprivacy: 53101-166, 43m Δ
urlhaus-1: 25255-0, 11h.29m
plowe-0: 3546-993, 11h.29m
filterset (user): [empty]
userSettings: [none]
hiddenSettings: [none]
supportStats:
allReadyAfter: 987 ms (selfie)
maxAssetCacheWait: 620 ms
cacheBackend: indexedDB

@stephenhawk8054
Copy link
Member Author

@MRxShoody @Oqarshi Can you test this filter:

www.youtube.com##+js(json-prune-fetch-response, playerAds adPlacements adSlots playerResponse.playerAds playerResponse.adPlacements playerResponse.adSlots [].playerResponse.adPlacements [].playerResponse.playerAds [].playerResponse.adSlots, , propsToMatch, !googlevideo.com)

@MRxShoody
Copy link

@stephenhawk8054
image

triggers youtube anti adblock

@stephenhawk8054
Copy link
Member Author

@MRxShoody How about this:

www.youtube.com##+js(json-prune-fetch-response, playerAds adPlacements adSlots playerResponse.playerAds playerResponse.adPlacements playerResponse.adSlots [].playerResponse.adPlacements [].playerResponse.playerAds [].playerResponse.adSlots, , propsToMatch, ?)

@MRxShoody
Copy link

@MRxShoody How about this:

www.youtube.com##+js(json-prune-fetch-response, playerAds adPlacements adSlots playerResponse.playerAds playerResponse.adPlacements playerResponse.adSlots [].playerResponse.adPlacements [].playerResponse.playerAds [].playerResponse.adSlots, , propsToMatch, ?)

doesnt trigger the anti adblock but doesnt work

@stephenhawk8054
Copy link
Member Author

@MRxShoody How about this:

www.youtube.com##+js(json-prune-fetch-response, playerAds adPlacements adSlots playerResponse.playerAds playerResponse.adPlacements playerResponse.adSlots [].playerResponse.adPlacements [].playerResponse.playerAds [].playerResponse.adSlots, , propsToMatch, /^(?!.*data).*/s)

@MRxShoody
Copy link

@MRxShoody How about this:

www.youtube.com##+js(json-prune-fetch-response, playerAds adPlacements adSlots playerResponse.playerAds playerResponse.adPlacements playerResponse.adSlots [].playerResponse.adPlacements [].playerResponse.playerAds [].playerResponse.adSlots, , propsToMatch, /^(?!.*data).*/s)

nope

@stephenhawk8054
Copy link
Member Author

@MRxShoody Can you 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-rpnt, script, (function serverContract(), 'console.log("uBO - Injected");const constructHandler=function(target,thisArg,args){console.log(JSON.stringify(thisArg));return Reflect.construct(target,thisArg,args)};window.Request=new Proxy(window.Request,{construct:constructHandler});(function serverContract()', sedCount, 1)

and share the log from the console?

@stephenhawk8054
Copy link
Member Author

@MRxShoody Can you check in the Network tab of devtools, when you click on the video, which other XHR connections appear besides /player?prettyPrint=

@stephenhawk8054
Copy link
Member Author

@MRxShoody Can you do that in chromium?

@MRxShoody
Copy link

@MRxShoody Can you do that in chromium?

you mean chrome ? edge uses chrionium already no ?

@stephenhawk8054
Copy link
Member Author

@MRxShoody Yes, I mean Edge

@MRxShoody
Copy link

@MRxShoody Yes, I mean Edge

then all the tests/screens above were on edge

@stephenhawk8054
Copy link
Member Author

@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?

@stephenhawk8054
Copy link
Member Author

The log looks strange. @MRxShoody Can you screenshot the whole screen + devtools?

@stephenhawk8054
Copy link
Member Author

@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?

@stephenhawk8054
Copy link
Member Author

@MRxShoody Can you remove all other filters and test this:

www.youtube.com##+js(set, yt.config_.EXPERIMENT_FLAGS.web_bind_fetch, false)

@MRxShoody
Copy link

@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

stephenhawk8054 added a commit that referenced this issue Sep 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ongoing ongoing issue
Projects
None yet
Development

No branches or pull requests