Dreamlinerm / Netflix-Prime-Auto-Skip

Automatically skip Ads, Intros, Recaps, Credits, etc. on Netflix, Prime video, Disney+ (Hotstar, STAR+), Crunchyroll and HBO max
GNU General Public License v3.0
253 stars 24 forks source link

[BUG] Fails to prevent Freevee ads on Amazon UK #85

Closed LumosX closed 9 months ago

LumosX commented 9 months ago

Describe the bug

The extension does not appear to function on freevee content on Amazon Prime UK.

To Reproduce

  1. Open Amazon Prime UK.
  2. Pick any Freevee content: for example, "Falling Skies" season 1 (linked in the background info section)
  3. Observe ad "blips" in the seek bar. When an ad triggers, skipping it is impossible and there is no way to fast-forward through it (except for increasing playback speed to 2.0x if the "improve UI" option in the extension is enabled. This, of course, doesn't help).

I can reproduce this with any freevee content I try watching, such as season 3 of "Renegade".

Expected behaviour

Either the ad is skipped, terminating immediately after starting, or there's a one-click manual solution, such as a "skip" button available during the ad. I dunno, I've never used this extension before so I imagine the expected behaviour is one of these two options.

Background information:

Extra details

The repo README specifies that freevee ads are matched by looking for an atvwebplayersdk-adtimeindicator-text class. I took the following screenshot of the DOM during an ad segment: the closest thing we have is atvwebplayersdk-ad-timer-text. "Adtimeindicator" is not present anywhere in the model. I'd wager class names might have been changed after this functionality was initially implemented, leading to the extension's apparent inability to capture freevee ads; or perhaps the class name is different for Amazon UK only.

Perhaps matching by aria-label would be a better idea? An Amazon dev reading this post right now (or the repo readme later) could easily push a change to refactor class names and break a strict name match, but matching against accessibility features could make the extension more resilient to future changes. Not sure if worth exploring though.

NB: extra bug spotted

Additionally, there also seems to be a problem with whatever API the extension uses for TMDB ratings:

In conclusion

Thanks for your hard work on this extension, and consider this a low priority bug report. Just wanted to report this on behalf of any brits that might find themselves in a similar position to me one day.

Dreamlinerm commented 9 months ago

Thank you for this very detailed bug report, I think you are right the problem is the ad indicator class, probably. I will use VPN to check myself.

Dreamlinerm commented 9 months ago

Amazon is implementing ads accords the board starting the 5. of February I think many things might change at that date. I am pretty sure these are the UI changes early

Dreamlinerm commented 9 months ago

They changed the id from atvwebplayersdk-adtimeindicator-text to atvwebplayersdk-ad-timer-text

Dreamlinerm commented 9 months ago

I checked my browser, they did the UI change in my country too

Dreamlinerm commented 9 months ago

fixed in version 82

Dreamlinerm commented 9 months ago

The TMDB stuff I will look into later, but I just use the API, maybe I can filter out which results are correct.

LumosX commented 9 months ago

Incredible, cheers mate.

Dreamlinerm commented 9 months ago

The adTimeindicator does have a aria-label but it is localized, so pretty useless for finding the right spot

Dreamlinerm commented 9 months ago

The no Score found logs I cannot fix, except the movie title was not caught correctly e.g. there is season 1 included in the title or sth. like that. The score is incorrect I will look into

Dreamlinerm commented 9 months ago

The TMDB website search is way better than the API search. That's what I already found out.

Dreamlinerm commented 9 months ago

I looked at the TMDB APIs, and I was using movie before, but I think the multi API fits better and I excluded adult ratings. These are all the APIs. The wrong Ratings will refresh every month since there is a Cache built into my add-on. https://developer.themoviedb.org/reference/search-multi

Thank you for writing about the adult shows I excluded that now, and I did not realize that tv shows were not included in this api.

Did that in version 82

Dreamlinerm commented 9 months ago

I still have to program if its the correct movie tho, but thats very difficult since every movie from the api basically has the title included