ion1 / userscripts

YouTube Mute and Skip Ads
https://greasyfork.org/en/users/1037761-ion1
MIT License
2 stars 0 forks source link

Youtube Mute and Skip Ads, doesnt mute ads #1

Open dadanda opened 10 months ago

dadanda commented 10 months ago

Title.

ion1 commented 10 months ago

Does it happen occasionally or every time an ad plays? When it happens, can you please paste any lines in the developer console that might be relevant, including each one which mentions "youtube-mute-skip-ads" or the browser extension you use to load userscripts?

Can you please also pause during an ad which doesn't get muted, run the following command in the developer console, and paste the output in here?

(() => {
  for (const className of ["video-ads", "ytp-ad-module", "ytp-ad-player-overlay"]) {
    const elem = document.getElementsByClassName(className)?.[0];
    console.info(`${className}:`, elem?.outerHTML.slice(0, 1000));
  }

  const videoElement = document.querySelector("#movie_player video");
  console.info("video element:", videoElement?.outerHTML.slice(0, 1000));
  console.info("muted:", videoElement?.muted);
})();
dadanda commented 10 months ago

I was on the previous version on GreasyFork, v0.0.19, and it was happening every time. Now the issue is with the second ad, as it may not be skipped even though the first one had a skip button it seems. Although it doesn't happen every time. As well as it failing to mute. There seems to be an interaction happening with my Youtube extension which adjusts video playback past the 2x speed and with smaller increments in that the ads playback at increased speed. I will be commenting/editing this comment with the console output when I can.

dadanda commented 10 months ago

This is what the console spat out when it failed to mute an ad.

connect @ userscript.html?name=YouTube-Mute-and-Skip-Ads.user.js&id=2a8f5b48-3d2d-47a9-8051-fc8fe82836dc:80
userscript.html?name=YouTube-Mute-and-Skip-Ads.user.js&id=2a8f5b48-3d2d-47a9-8051-fc8fe82836dc:80 youtube-mute-skip-ads: Watcher already connected to <div class=​"ytp-button ytp-suggested-action-badge ytp-featured-product ytp-suggested-action-badge-with-controls" style=​"display:​ none;​">​…​</div>​ while trying to connect to <div class=​"ytp-button ytp-suggested-action-badge ytp-featured-product ytp-suggested-action-badge-with-controls" style=​"display:​ none;​">​…​</div>​
connect @ userscript.html?name=YouTube-Mute-and-Skip-Ads.user.js&id=2a8f5b48-3d2d-47a9-8051-fc8fe82836dc:80
/watch?v=z124P7qHCuw:1 Access to XMLHttpRequest at 'https://googleads.g.doubleclick.net/pagead/viewthroughconversion/962985656/?backend=innertube&cname=1&cver=2_20231110&foc_id=Gie8GMlUo3kBKIopdvumVQ&label=followon_view&ptype=no_rmkt&random=765347683&cv_attributed=0' (redirected from 'https://www.youtube.com/pagead/viewthroughconversion/962985656/?backend=innertube&cname=1&cver=2_20231110&foc_id=Gie8GMlUo3kBKIopdvumVQ&label=followon_view&ptype=no_rmkt&random=765347683') from origin 'https://www.youtube.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
googleads.g.doubleclick.net/pagead/viewthroughconversion/962985656/?backend=innertube&cname=1&cver=2_20231110&foc_id=Gie8GMlUo3kBKIopdvumVQ&label=followon_view&ptype=no_rmkt&random=765347683&cv_attributed=0:1     Failed to load resource: net::ERR_FAILED
ryd.content-script.js:119 [return youtube dislike]: response from api:
ryd.content-script.js:119 [return youtube dislike]: {"id":"z124P7qHCuw","dateCreated":"2022-04-03T15:52:59.788848Z","likes":3058,"dislikes":65,"rating":4.916746717899455,"viewCount":162619,"deleted":false}
ryd.content-script.js:119 [return youtube dislike]: SET dislikes 65
userscript.html?name=YouTube-Mute-and-Skip-Ads.user.js&id=2a8f5b48-3d2d-47a9-8051-fc8fe82836dc:400 youtube-mute-skip-ads: An ad is playing, muting
ryd.content-script.js:119 [return youtube dislike]: response from api:
ryd.content-script.js:119 [return youtube dislike]: {"id":"7HcBQyC59yc","dateCreated":"2022-04-09T19:50:44.778867Z","likes":15443,"dislikes":263,"rating":4.933019228320387,"viewCount":1191301,"deleted":false}
ryd.content-script.js:119 [return youtube dislike]: SET dislikes 263

(Photo for clarity) image There was only 1 ad and it didn't mute. Primarily its just the one at the An ad is playng muting, but I included something that might be something. I will also add that I do have 2 extensions also on Youtube, which are Return YouTube Dislike and Youtube Enhancer.

This one had 2 ads, the first one played with audio but had a skip image

Vn @ content.js:19
Show 1 more frame
Show less
content.js:19 [Deprecation] Listener added for a synchronous 'DOMNodeInserted' DOM Mutation Event. This event type is deprecated (https://w3c.github.io/uievents/#legacy-event-types) and work is underway to remove it from this browser. Usage of this event listener will cause performance issues today, and represents a risk of future incompatibility. Consider using MutationObserver instead.
Vn @ content.js:19
Show 1 more frame
Show less
content.js:19 [Deprecation] Listener added for a synchronous 'DOMNodeInserted' DOM Mutation Event. This event type is deprecated (https://w3c.github.io/uievents/#legacy-event-types) and work is underway to remove it from this browser. Usage of this event listener will cause performance issues today, and represents a risk of future incompatibility. Consider using MutationObserver instead.
Vn @ content.js:19
Show 1 more frame
Show less
desktop_polymer_css_polymer_serving_disabled.js:5003 LegacyDataMixin will be applied to all legacy elements.
Set `_legacyUndefinedCheck: true` on element class to enable.
2userscript.html?name=YouTube-Mute-and-Skip-Ads.user.js&id=2a8f5b48-3d2d-47a9-8051-fc8fe82836dc:400 youtube-mute-skip-ads: An ad is playing, muting
ryd.content-script.js:119 [return youtube dislike]: response from api:
ryd.content-script.js:119 [return youtube dislike]: {"id":"QAgzJQ5l2eY","dateCreated":"2023-11-14T19:11:25.198252Z","likes":49656,"dislikes":112,"rating":4.9909982317955315,"viewCount":713540,"deleted":false}
ryd.content-script.js:119 [return youtube dislike]: SET dislikes 112
userscript.html?name=YouTube-Mute-and-Skip-Ads.user.js&id=2a8f5b48-3d2d-47a9-8051-fc8fe82836dc:400 youtube-mute-skip-ads: An ad is playing, muting
Error with Permissions-Policy header: Unrecognized feature: 'ch-ua-form-factor'.
userscript.html?name=YouTube-Mute-and-Skip-Ads.user.js&id=2a8f5b48-3d2d-47a9-8051-fc8fe82836dc:422 youtube-mute-skip-ads: Clicking: skip (new)
watch:1 Access to XMLHttpRequest at 'https://googleads.g.doubleclick.net/pagead/viewthroughconversion/962985656/?backend=innertube&cname=1&cver=2_20231114&foc_id=hFur_NwVSbUozOcF_F2kMg&label=followon_view&ptype=no_rmkt&random=780603112&cv_attributed=0' (redirected from 'https://www.youtube.com/pagead/viewthroughconversion/962985656/?backend=innertube&cname=1&cver=2_20231114&foc_id=hFur_NwVSbUozOcF_F2kMg&label=followon_view&ptype=no_rmkt&random=780603112') from origin 'https://www.youtube.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
googleads.g.doubleclick.net/pagead/viewthroughconversion/962985656/?backend=innertube&cname=1&cver=2_20231114&foc_id=hFur_NwVSbUozOcF_F2kMg&label=followon_view&ptype=no_rmkt&random=780603112&cv_attributed=0:1     Failed to load resource: net::ERR_FAILED
DevTools failed to load source map: Could not load content for https://www.youtube.com/s/desktop/432433e9/jsbin/custom-elements-es5-adapter.vflset/blaze-out/k8-opt/bin/third_party/javascript/custom_elements/fast-shim.js.sourcemap: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
DevTools failed to load source map: Could not load content for https://www.youtube.com/s/desktop/432433e9/jsbin/webcomponents-sd.vflset/blaze-out/k8-opt/bin/third_party/javascript/polymer/v2/webcomponentsjs/webcomponents-sd.js.sourcemap: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
DevTools failed to load source map: Could not load content for https://www.youtube.com/s/desktop/432433e9/jsbin/web-animations-next-lite.min.vflset/web-animations-next-lite.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
18The resource <URL> was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.

Newest, Only 1 ad but it played with normal speed, had audio and blurred.

Vn @ content.js:19
Show 1 more frame
Show less
content.js:19 [Deprecation] Listener added for a synchronous 'DOMNodeInserted' DOM Mutation Event. This event type is deprecated (https://w3c.github.io/uievents/#legacy-event-types) and work is underway to remove it from this browser. Usage of this event listener will cause performance issues today, and represents a risk of future incompatibility. Consider using MutationObserver instead.
Vn @ content.js:19
Show 1 more frame
Show less
content.js:19 [Deprecation] Listener added for a synchronous 'DOMNodeInserted' DOM Mutation Event. This event type is deprecated (https://w3c.github.io/uievents/#legacy-event-types) and work is underway to remove it from this browser. Usage of this event listener will cause performance issues today, and represents a risk of future incompatibility. Consider using MutationObserver instead.
Vn @ content.js:19
Show 1 more frame
Show less
desktop_polymer_css_polymer_serving_disabled.js:5003 LegacyDataMixin will be applied to all legacy elements.
Set `_legacyUndefinedCheck: true` on element class to enable.
userscript.html?name=YouTube-Mute-and-Skip-Ads.user.js&id=2a8f5b48-3d2d-47a9-8051-fc8fe82836dc:80 youtube-mute-skip-ads: Watcher already connected to <div class=​"ytp-button ytp-suggested-action-badge ytp-suggested-action-badge-with-controls ytp-featured-product" style=​"display:​ none;​">​…​</div>​ while trying to connect to <div class=​"ytp-button ytp-suggested-action-badge ytp-suggested-action-badge-with-controls ytp-featured-product" style=​"display:​ none;​">​…​</div>​
connect @ userscript.html?name=YouTube-Mute-and-Skip-Ads.user.js&id=2a8f5b48-3d2d-47a9-8051-fc8fe82836dc:80
userscript.html?name=YouTube-Mute-and-Skip-Ads.user.js&id=2a8f5b48-3d2d-47a9-8051-fc8fe82836dc:80 youtube-mute-skip-ads: Watcher already connected to <div class=​"ytp-button ytp-suggested-action-badge ytp-suggested-action-badge-with-controls ytp-featured-product" style=​"display:​ none;​">​…​</div>​ while trying to connect to <div class=​"ytp-button ytp-suggested-action-badge ytp-suggested-action-badge-with-controls ytp-featured-product" style=​"display:​ none;​">​…​</div>​
connect @ userscript.html?name=YouTube-Mute-and-Skip-Ads.user.js&id=2a8f5b48-3d2d-47a9-8051-fc8fe82836dc:80
Error with Permissions-Policy header: Unrecognized feature: 'ch-ua-form-factor'.
userscript.html?name=YouTube-Mute-and-Skip-Ads.user.js&id=2a8f5b48-3d2d-47a9-8051-fc8fe82836dc:400 youtube-mute-skip-ads: An ad is playing, muting

image

ion1 commented 10 months ago

I see I will need to update Watcher to support multiple child elements matching the same selector. I'll try to get that done. However, the part of the code related to the "Watcher already connected to..." warning only has to do with dismissing the featured product overlay. It should have no effect on whether the ads are muted or not.

I'm afraid I don't see anything that might hint at what might be going wrong with the muting in the logged messages.

While an ad is playing and the muting failed to happen, would you mind pausing the ad, running the command I provided in the earlier message, and pasting the output in here?

Also, which browser extension are you using to load the userscript? Do you still experience the problem if you disable all other userscripts?

dadanda commented 10 months ago

While an ad is playing and the muting failed to happen, would you mind pausing the ad, running the command I provided in the earlier message, and pasting the output in here?

I will do so with this comment when I do get the issue.

Also, which browser extension are you using to load the userscript? Do you still experience the problem if you disable all other userscripts?

I am using OperaGX and Tampermonkey from the Opera add-ons. I don't have other user scripts that are active on Youtube enabled, just 2 extensions also modifying Youtube as I've said which are the Return Youtube Dislikes and Enhancer for YouTube™ from Chrome Webstore.

Update: Had the issue and inputted the code in the console.

  for (const className of ["video-ads", "ytp-ad-module", "ytp-ad-player-overlay"]) {
    const elem = document.getElementsByClassName(className)?.[0];
    console.info(`${className}:`, elem?.outerHTML.slice(0, 1000));
  }

  const videoElement = document.querySelector("#movie_player video");
  console.info("video element:", videoElement?.outerHTML.slice(0, 1000));
  console.info("muted:", videoElement?.muted);
})();
VM856:4 video-ads: <div class="video-ads ytp-ad-module" data-layer="4"><div class="ytp-ad-player-overlay" id="player-overlay:1" style=""><div class="ytp-ad-player-overlay-flyout-cta ytp-ad-player-overlay-flyout-cta-rounded"><div class="ytp-flyout-cta" id="flyout-cta:4" style=""><div class="ytp-flyout-cta-icon-container"><img class="ytp-ad-image ytp-flyout-cta-icon-rounded ytp-flyout-cta-icon" id="ad-image:5" src="https://yt3.ggpht.com/ytc/APkrFKaSUqQik1uVqDFAZOIduZPzAR1IlNbL0Ui_DQ5S=s176-c-k-c0x00ffffff-no-rj" alt="" style=""></div><div class="ytp-flyout-cta-body"><div class="ytp-flyout-cta-text-container"><div class="ytp-flyout-cta-headline-container"><div class="ytp-ad-text ytp-flyout-cta-headline" id="ad-text:6" style="">Techron cleans!</div></div><div class="ytp-flyout-cta-description-container"><div class="ytp-ad-text ytp-flyout-cta-description" id="ad-text:7" style="">www.caltex.com/ph/motorists/products-and-services/techron-fuels/borescope-test.html</div></div></div><div class="ytp-flyout-cta-acti
VM856:4 ytp-ad-module: <div class="video-ads ytp-ad-module" data-layer="4"><div class="ytp-ad-player-overlay" id="player-overlay:1" style=""><div class="ytp-ad-player-overlay-flyout-cta ytp-ad-player-overlay-flyout-cta-rounded"><div class="ytp-flyout-cta" id="flyout-cta:4" style=""><div class="ytp-flyout-cta-icon-container"><img class="ytp-ad-image ytp-flyout-cta-icon-rounded ytp-flyout-cta-icon" id="ad-image:5" src="https://yt3.ggpht.com/ytc/APkrFKaSUqQik1uVqDFAZOIduZPzAR1IlNbL0Ui_DQ5S=s176-c-k-c0x00ffffff-no-rj" alt="" style=""></div><div class="ytp-flyout-cta-body"><div class="ytp-flyout-cta-text-container"><div class="ytp-flyout-cta-headline-container"><div class="ytp-ad-text ytp-flyout-cta-headline" id="ad-text:6" style="">Techron cleans!</div></div><div class="ytp-flyout-cta-description-container"><div class="ytp-ad-text ytp-flyout-cta-description" id="ad-text:7" style="">www.caltex.com/ph/motorists/products-and-services/techron-fuels/borescope-test.html</div></div></div><div class="ytp-flyout-cta-acti
VM856:4 ytp-ad-player-overlay: <div class="ytp-ad-player-overlay" id="player-overlay:1" style=""><div class="ytp-ad-player-overlay-flyout-cta ytp-ad-player-overlay-flyout-cta-rounded"><div class="ytp-flyout-cta" id="flyout-cta:4" style=""><div class="ytp-flyout-cta-icon-container"><img class="ytp-ad-image ytp-flyout-cta-icon-rounded ytp-flyout-cta-icon" id="ad-image:5" src="https://yt3.ggpht.com/ytc/APkrFKaSUqQik1uVqDFAZOIduZPzAR1IlNbL0Ui_DQ5S=s176-c-k-c0x00ffffff-no-rj" alt="" style=""></div><div class="ytp-flyout-cta-body"><div class="ytp-flyout-cta-text-container"><div class="ytp-flyout-cta-headline-container"><div class="ytp-ad-text ytp-flyout-cta-headline" id="ad-text:6" style="">Techron cleans!</div></div><div class="ytp-flyout-cta-description-container"><div class="ytp-ad-text ytp-flyout-cta-description" id="ad-text:7" style="">www.caltex.com/ph/motorists/products-and-services/techron-fuels/borescope-test.html</div></div></div><div class="ytp-flyout-cta-action-button-container"><button class="ytp-ad-button yt
VM856:8 video element: <video tabindex="-1" class="video-stream html5-main-video" controlslist="nodownload" style="width: 1029px; height: 579px; left: 0px; top: 0px;" src="blob:https://www.youtube.com/9e3af134-6e30-4b7e-a616-127329fdac0e"></video>
VM856:9 muted: false
undefined

image

Newer instance:

  for (const className of ["video-ads", "ytp-ad-module", "ytp-ad-player-overlay"]) {
    const elem = document.getElementsByClassName(className)?.[0];
    console.info(`${className}:`, elem?.outerHTML.slice(0, 1000));
  }

  const videoElement = document.querySelector("#movie_player video");
  console.info("video element:", videoElement?.outerHTML.slice(0, 1000));
  console.info("muted:", videoElement?.muted);
})();
VM712:4 video-ads: <div class="video-ads ytp-ad-module" data-layer="4"><div class="ytp-ad-player-overlay" id="player-overlay:1" style=""><div class="ytp-ad-player-overlay-flyout-cta ytp-ad-player-overlay-flyout-cta-rounded"><div class="ytp-flyout-cta" id="flyout-cta:8" style=""><div class="ytp-flyout-cta-icon-container"><img class="ytp-ad-image ytp-flyout-cta-icon-rounded ytp-flyout-cta-icon" id="ad-image:9" src="https://yt3.ggpht.com/r2eATZnsazdXDR-KTko34lZZYz5nXJXOe9S_fLx5xev3HhnftW_FAiqXf5PV7q24omsd2wQ7=s176-c-k-c0x00ffffff-no-rj" alt="" style=""></div><div class="ytp-flyout-cta-body"><div class="ytp-flyout-cta-text-container"><div class="ytp-flyout-cta-headline-container"><div class="ytp-ad-text ytp-flyout-cta-headline" id="ad-text:a" style="">VALORANT</div></div><div class="ytp-flyout-cta-description-container"><div class="ytp-ad-text ytp-flyout-cta-description" id="ad-text:b" style="">playvalorant.com</div></div></div><div class="ytp-flyout-cta-action-button-container"><button class="ytp-ad-button 
VM712:4 ytp-ad-module: <div class="video-ads ytp-ad-module" data-layer="4"><div class="ytp-ad-player-overlay" id="player-overlay:1" style=""><div class="ytp-ad-player-overlay-flyout-cta ytp-ad-player-overlay-flyout-cta-rounded"><div class="ytp-flyout-cta" id="flyout-cta:8" style=""><div class="ytp-flyout-cta-icon-container"><img class="ytp-ad-image ytp-flyout-cta-icon-rounded ytp-flyout-cta-icon" id="ad-image:9" src="https://yt3.ggpht.com/r2eATZnsazdXDR-KTko34lZZYz5nXJXOe9S_fLx5xev3HhnftW_FAiqXf5PV7q24omsd2wQ7=s176-c-k-c0x00ffffff-no-rj" alt="" style=""></div><div class="ytp-flyout-cta-body"><div class="ytp-flyout-cta-text-container"><div class="ytp-flyout-cta-headline-container"><div class="ytp-ad-text ytp-flyout-cta-headline" id="ad-text:a" style="">VALORANT</div></div><div class="ytp-flyout-cta-description-container"><div class="ytp-ad-text ytp-flyout-cta-description" id="ad-text:b" style="">playvalorant.com</div></div></div><div class="ytp-flyout-cta-action-button-container"><button class="ytp-ad-button 
VM712:4 ytp-ad-player-overlay: <div class="ytp-ad-player-overlay" id="player-overlay:1" style=""><div class="ytp-ad-player-overlay-flyout-cta ytp-ad-player-overlay-flyout-cta-rounded"><div class="ytp-flyout-cta" id="flyout-cta:8" style=""><div class="ytp-flyout-cta-icon-container"><img class="ytp-ad-image ytp-flyout-cta-icon-rounded ytp-flyout-cta-icon" id="ad-image:9" src="https://yt3.ggpht.com/r2eATZnsazdXDR-KTko34lZZYz5nXJXOe9S_fLx5xev3HhnftW_FAiqXf5PV7q24omsd2wQ7=s176-c-k-c0x00ffffff-no-rj" alt="" style=""></div><div class="ytp-flyout-cta-body"><div class="ytp-flyout-cta-text-container"><div class="ytp-flyout-cta-headline-container"><div class="ytp-ad-text ytp-flyout-cta-headline" id="ad-text:a" style="">VALORANT</div></div><div class="ytp-flyout-cta-description-container"><div class="ytp-ad-text ytp-flyout-cta-description" id="ad-text:b" style="">playvalorant.com</div></div></div><div class="ytp-flyout-cta-action-button-container"><button class="ytp-ad-button ytp-flyout-cta-action-button ytp-flyout-cta-action-b
VM712:8 video element: <video tabindex="-1" class="video-stream html5-main-video" controlslist="nodownload" style="width: 1029px; height: 579px; left: 0px; top: 0px;" src="blob:https://www.youtube.com/74b76082-b04a-4787-b681-fc19886ae8c1"></video>
VM712:9 muted: false

image

dadanda commented 10 months ago

Ok another thing, I might open up another issue report but I'll state it here as well but the ad thing doesn't mesh well with OperaGX pop-up player on Youtube. The video just paused after a few seconds of the ad playing still muted and the mute carries over to the video.

  for (const className of ["video-ads", "ytp-ad-module", "ytp-ad-player-overlay"]) {
    const elem = document.getElementsByClassName(className)?.[0];
    console.info(`${className}:`, elem?.outerHTML.slice(0, 1000));
  }

  const videoElement = document.querySelector("#movie_player video");
  console.info("video element:", videoElement?.outerHTML.slice(0, 1000));
  console.info("muted:", videoElement?.muted);
})();
VM2180:4 video-ads: <div class="video-ads ytp-ad-module" data-layer="4"><div class="ytp-ad-player-overlay" id="player-overlay:i" style=""><div class="ytp-ad-player-overlay-flyout-cta ytp-ad-player-overlay-flyout-cta-rounded"><div class="ytp-flyout-cta" id="flyout-cta:p" style=""><div class="ytp-flyout-cta-icon-container"><img class="ytp-ad-image ytp-flyout-cta-icon-rounded ytp-flyout-cta-icon" id="ad-image:q" src="https://yt3.ggpht.com/ytc/APkrFKbQeucJWh-UX0pcnL5JzwJr3OTwR36MXL2k7ulKVg=s176-c-k-c0x00ffffff-no-rj" alt="" style=""></div><div class="ytp-flyout-cta-body"><div class="ytp-flyout-cta-text-container"><div class="ytp-flyout-cta-headline-container"><div class="ytp-ad-text ytp-flyout-cta-headline" id="ad-text:r" style="">Jollibee Joy</div></div><div class="ytp-flyout-cta-description-container"><div class="ytp-ad-text ytp-flyout-cta-description" id="ad-text:s" style="">www.jollibeedelivery.com/</div></div></div><div class="ytp-flyout-cta-action-button-container"><button class="ytp-ad-button ytp-flyou
VM2180:4 ytp-ad-module: <div class="video-ads ytp-ad-module" data-layer="4"><div class="ytp-ad-player-overlay" id="player-overlay:i" style=""><div class="ytp-ad-player-overlay-flyout-cta ytp-ad-player-overlay-flyout-cta-rounded"><div class="ytp-flyout-cta" id="flyout-cta:p" style=""><div class="ytp-flyout-cta-icon-container"><img class="ytp-ad-image ytp-flyout-cta-icon-rounded ytp-flyout-cta-icon" id="ad-image:q" src="https://yt3.ggpht.com/ytc/APkrFKbQeucJWh-UX0pcnL5JzwJr3OTwR36MXL2k7ulKVg=s176-c-k-c0x00ffffff-no-rj" alt="" style=""></div><div class="ytp-flyout-cta-body"><div class="ytp-flyout-cta-text-container"><div class="ytp-flyout-cta-headline-container"><div class="ytp-ad-text ytp-flyout-cta-headline" id="ad-text:r" style="">Jollibee Joy</div></div><div class="ytp-flyout-cta-description-container"><div class="ytp-ad-text ytp-flyout-cta-description" id="ad-text:s" style="">www.jollibeedelivery.com/</div></div></div><div class="ytp-flyout-cta-action-button-container"><button class="ytp-ad-button ytp-flyou
VM2180:4 ytp-ad-player-overlay: <div class="ytp-ad-player-overlay" id="player-overlay:i" style=""><div class="ytp-ad-player-overlay-flyout-cta ytp-ad-player-overlay-flyout-cta-rounded"><div class="ytp-flyout-cta" id="flyout-cta:p" style=""><div class="ytp-flyout-cta-icon-container"><img class="ytp-ad-image ytp-flyout-cta-icon-rounded ytp-flyout-cta-icon" id="ad-image:q" src="https://yt3.ggpht.com/ytc/APkrFKbQeucJWh-UX0pcnL5JzwJr3OTwR36MXL2k7ulKVg=s176-c-k-c0x00ffffff-no-rj" alt="" style=""></div><div class="ytp-flyout-cta-body"><div class="ytp-flyout-cta-text-container"><div class="ytp-flyout-cta-headline-container"><div class="ytp-ad-text ytp-flyout-cta-headline" id="ad-text:r" style="">Jollibee Joy</div></div><div class="ytp-flyout-cta-description-container"><div class="ytp-ad-text ytp-flyout-cta-description" id="ad-text:s" style="">www.jollibeedelivery.com/</div></div></div><div class="ytp-flyout-cta-action-button-container"><button class="ytp-ad-button ytp-flyout-cta-action-button ytp-flyout-cta-action-button-rou
VM2180:8 video element: <video tabindex="-1" class="video-stream html5-main-video" controlslist="nodownload" style="width: 1029px; height: 579px; left: 0px; top: 0px;" src="blob:https://www.youtube.com/67aab721-ba17-43eb-b40b-825901667374"></video>
VM2180:9 muted: true

image

ion1 commented 9 months ago

Thanks for the logs!

I'm working on refactoring Watcher and getting it to support multiple matching child elements. Once I'm done with that, I'll install OperaGX and try to replicate the issues you are experiencing.