uBlockOrigin / uBOL-home

uBO Lite home (MV3)
GNU General Public License v3.0
1.22k stars 50 forks source link

cbsnews.com: breakage #177

Closed Angelique465 closed 3 months ago

Angelique465 commented 3 months ago

uBOLite version: 925 (latest) Configuration: "Complete" Tested website: https://www.cbsnews.com/

It seems for some reason that no videos are played (black screen in video player). In other videos the "play" button doesn't work (video doesn't start) Maybe some rule/filter is giving this kind of issue.

stephenhawk8054 commented 3 months ago

Can you give exact link that has videos and the issue?

stephenhawk8054 commented 3 months ago

Tested https://www.cbsnews.com/news/israel-gaza-airstrike-mosque-hamas/ with local build. I think it's fixed?

gorhill commented 3 months ago

I get the black video after a long delay with local build and most up to date lists.

Plays fine if I set default to Basic.

Doesn't play if I set default mode to Optimal and site mode to Basic.


This suggests the issue might be caused by a redirect rule.

Angelique465 commented 3 months ago
screenshots of DOM ![000001](https://github.com/user-attachments/assets/3a64af6a-f72a-47f0-88bf-8a993cf8ed58) ![000002](https://github.com/user-attachments/assets/7441243c-8671-49fe-9b17-a6a664b7caf2)
gorhill commented 3 months ago

@Angelique465 We need a URL to reproduce on our side, not a screenshot. It's ok now we found one, but next time please provide an exact URL that we can just paste in the address bar and reproduce immediately, otherwise we spend time guessing trying to reproduce the issue.

Example of URL in address bar where the issue is reproducible:

https://www.cbsnews.com/news/debby-last-act-wet-windy-dangerous-northeast/

Angelique465 commented 3 months ago

https://www.cbsnews.com/news/president-biden-explains-why-he-exited-2024-race-in-cbs-sunday-morning-interview/ UBolite/site config: Complete/Complete

Angelique465 commented 3 months ago

Sorry if I continue to send screenshots but sometimes a pictur is better than hundreds of words (and links are shown on top) If I set site config to Optimal, still the video is blacked. If I set site config to Basic, the video start image is shown, but CBS catches adblocker usage, as shown in this screenshot:

Admiral anti-adb ![000004](https://github.com/user-attachments/assets/dbef4846-a302-4589-b99d-8b30cab0b128)
stephenhawk8054 commented 3 months ago

Hmm... When I test on VPN to US, it shows ERR_UNSAFE_REDIRECT and the video turns black

![image](https://github.com/user-attachments/assets/1eb32adf-1a8e-4919-9858-36c875df24a4)

When I use VPN to Hong Kong, it shows redirect successfully and the video plays

![image](https://github.com/user-attachments/assets/ad3aa70c-be83-40f0-a292-468e784ee916)
stephenhawk8054 commented 3 months ago

links are shown on top

@Angelique465 When you have issues, please always give the exact link to here. Don't say "link is in screenshot", we cannot put our eyes to type each character one-by-one in the URL to investigate, it's a huge waste of time.

Angelique465 commented 3 months ago

@stephenhawk8054 you are right, sorry. Anyway, the latest screenshot comes from https://www.cbsnews.com/news/president-biden-explains-why-he-exited-2024-race-in-cbs-sunday-morning-interview/

gorhill commented 3 months ago

Wait, when I set default mode to Basic it works, but I get the issue after overriding site mode to Optimal, so a scriptlet is the issue?

stephenhawk8054 commented 3 months ago

Hmm... I haven't overrided the scriptlet in uBOL yet, but when I whitelist cbsnews.com##+js(abort-on-property-read, googletag) in EP, there's no delay in uBO.

gorhill commented 3 months ago

when I whitelist cbsnews.com##+js(abort-on-property-read, googletag) in EP, there's no delay in uBO.

Yes, noticed that too. I removed that filter from EasyPrivacy and rebuild locally but problem is still there. I get many more errors in dev console with uBOL than with uBO, especially this one:

image

stephenhawk8054 commented 3 months ago

Ah yeah, mine plays fine when opening it first time in Incognito. After refreshing, it shows error again. There are multiple errors in the console like yours too.

gorhill commented 3 months ago

Here is what works for me:

Remove cbsnews.com from ##+js(abort-on-property-read, googletag) Add ||cbsnews.com^$csp=worker-src 'none' (be sure to unregister cbsnews.com worker)

It still work without removing ##+js(abort-on-property-read, googletag), but then there will be a long delay before the video plays


I can't reproduce in Firefox so the csp= filter is needed only for Chromium.

Angelique465 commented 3 months ago

And similar issues are in https://cbssports.com

https://www.cbssports.com/olympics/news/2024-paris-olympics-carl-lewis-furious-with-usa-track-and-field-after-latest-mens-4x100m-relay-mishap/

Configuration: Complete/Complete

ryanbr commented 3 months ago

Video loaded instantly here on https://cbssports.com/

gorhill commented 3 months ago

I get anti-content blocker at https://cbssports.com/ with uBOL.

Angelique465 commented 3 months ago

Video loaded instantly here on https://cbssports.com/

000005

ryanbr commented 3 months ago

https://github.com/easylist/easylist/commit/a0295bb78becaa3f27f2541caaa217f50efdaae0

gorhill commented 3 months ago

@Angelique465 So not the same issue? "Video not playing" is not the same thing as "anti-blocker".

Angelique465 commented 3 months ago

Both sites (cbsnews and cbssports) have the same issue showing adblocker message. I can't reach the video to play it because of the blocking message box. Sorry for the misunderstood And I bet all the CBS websites series have the same issues (video not playing and/or AdBlocker box).

Angelique465 commented 3 months ago

@gorhill I rebuilt uBOLite again, before I removed the mv3-data folder from ./build to download latest filters. But the issues are still there, so maybe the filters are not yet refreshed. Have I to wait for the new version of uBOLite?

stephenhawk8054 commented 3 months ago

@Angelique465 You need to unregister the service worker from cbsnews.com first

Angelique465 commented 3 months ago

@gorhill sorry for the question which could seem stupid, but I'm a small "advanced" user only... What do you mean with "unregister the service worker from cbsnews.com first"? Actually uBOLite is not installed at all and I removed all the cache... But when I install the new built version, config it and try in cbsnews/cbssports websites the issues are still there. What else is needed?

stephenhawk8054 commented 3 months ago

Go to chrome://serviceworker-internals/, search for cbsnews.com and unregister the service worker there

Angelique465 commented 3 months ago

Darn I forgot to do this simple step... it's because ther's still a Chrome process running right?

stephenhawk8054 commented 3 months ago

Also, remind that the cbssports issue is not the same as the issue you mentioned at the 1st post. Don't mix detection and breakage issue here and say they are the same, it's very confusing for others.

cbssport.com detection issue is just addressed here: https://github.com/uBlockOrigin/uAssets/commit/4ecf171c421c680f36ed6aff0a20d2fa6c66550e

Angelique465 commented 3 months ago

@gorhill Now cbsnews is working fine! Thank you! For cbssport now I'll rebuild uBOLite again. You are right, next time I'll find some issues I'll post them separately. Thank you.

stephenhawk8054 commented 3 months ago

@gorhill Sorry, do you think another scriptlet to unregister the service worker is a good idea to use together with csp? Currently ||cbsnews.com^$csp=worker-src 'none' still requires user to unregister it manually.

When I use rpnt like these, the service worker is automatically blocked and unregistered after I close the website

||cbsnews.com^$csp=worker-src 'none'
cbsnews.com##+js(rpnt, script, var CBSNEWS =, 'navigator.serviceWorker.getRegistrations().then((registrations=>{for(const registration of registrations){if(registration.scope.includes("cbsnews.com")){registration.unregister()}}}));var CBSNEWS =')

(Maybe wrapping around setTimeout could be more reliable?)