avi12 / youtube-auto-hd

A simple browser extension for changing YouTube videos' quality based on FPS.
https://avi12.com/youtube-auto-hd
GNU General Public License v3.0
222 stars 26 forks source link

[Bug] YouTube Ignores Quality Settings #150

Closed PuggyDoggo closed 1 day ago

PuggyDoggo commented 1 day ago

Describe the bug

YouTube keeps setting the quality as "Auto," even without changing any settings on the extension. This started happening today, but I haven't watched YouTube since Sunday (it was working fine back then).

How to reproduce

The screen recording shows it happening.

https://1drv.ms/u/s!Am-SFhJOjxd1hcVZGo9WQA5y5aZ-6w?e=rTxhGj

Expected behavior

The quality should be the highest possible.

What browser(s) can you reproduce the issue on?

Firefox

What OS does it occur on?

Windows

What's the extension version you're running?

1.8.31

Make sure the bug wasn't reported before

Make sure that YouTube Auto HD + FPS is the only extension running on YouTube

Additional context

I've seen other quality issues reported, but this seems different compared to them.

avi12 commented 1 day ago

Very strange, investigating

avi12 commented 1 day ago

P.S. I'd appreciate it if next time you'll directly upload the video to the GitHub message

PuggyDoggo commented 1 day ago

P.S. I'd appreciate it if next time you'll directly upload the video to the GitHub message

Oh, I'm sorry! I didn't know I could. It says the video is too big, but here's a zip with it. 2024-09-17 16-47-02.zip

avi12 commented 1 day ago

Fair enough, no worries :) I opened the video on OneDrive Online's video player, good enough for now

avi12 commented 1 day ago

Please do the following:

  1. Go to `about:debugging#/runtime/this-firefox
  2. Click Inspect
  3. Paste
    copy(JSON.stringify(JSON.parse(await chrome.storage.local.get()), null, 2))
  4. Paste the output in a comment
PuggyDoggo commented 1 day ago

Please do the following:

1. Go to `about:debugging#/runtime/this-firefox

2. Click Inspect

3. Paste
   ```ts
   copy(JSON.stringify(JSON.parse(await chrome.storage.local.get()), null, 2))
   ```

4. Paste the output in a comment

I never did anything like this before, so I'm sorry for not understanding completely.

Should I click "Inspect" on YouTube Auto HD + FPS? If so, where do I put the code in this window?

image

avi12 commented 1 day ago

Oh sorry, click the Console

PuggyDoggo commented 1 day ago

Oh sorry, click the Console

Should something show up, even after I refresh the YouTube page? It just stays this way:

image

avi12 commented 1 day ago

Nope, you just post the output here

PuggyDoggo commented 1 day ago

Nope, you just post the output here

Nothing else shows up. Just what's in the screenshot. Is the output somewhere else? I've never used these tools, so I might just not be seeing it. 😅

avi12 commented 1 day ago

The goal is that you put in the console the copy(...) snippet and paste the output here

PuggyDoggo commented 1 day ago

The goal is that you put in the console the copy(...) snippet and paste the output here

Every time I click "Run", it just adds the line on the right side. In this new screenshot, for example, I clicked "Run" four times. I can't click to expand either. It doesn't seem like the output is showing up?

image

avi12 commented 1 day ago

You know what, just run

JSON.stringify(JSON.parse(await chrome.storage.local.get()), null, 2)
PuggyDoggo commented 1 day ago

You know what, just run

JSON.stringify(JSON.parse(await chrome.storage.local.get()), null, 2)

Sigh, it's doing the same thing. Am I missing something? I imagine the output should be on the right side, but it's just repeating the code.

image

avi12 commented 1 day ago

Man, the Firefox devtools are awful... I can't get the desired output either 🙈

PuggyDoggo commented 1 day ago

Man, the Firefox devtools are awful... I can't get the desired output either 🙈

I got the same bug on Edge. Just installed the extension (from Chrome's web store), and it's doing the same there. Do you want me to try Edge's devtools? Not sure if that's better or not.

avi12 commented 1 day ago

Huh, intriguing Let me test the video

avi12 commented 1 day ago

🤔

https://github.com/user-attachments/assets/ddec2d63-39b5-47ae-a1c0-d73e55c920cf

avi12 commented 1 day ago

Let's try the following: When on Edge (or even Firefox) on YouTube, press F12 and make sure the Console is selected Then reload YouTube I want to see whether there's an error related to the ext

PuggyDoggo commented 1 day ago

Let's try the following: When on Edge (or even Firefox) on YouTube, press F12 and make sure the Console is selected Then reload YouTube I want to see whether there's an error related to the ext

On Firefox, these errors show up. Not sure if they're related to the extension or not.

image

On Edge, these show up:

image

avi12 commented 1 day ago

Seems like there are no errors related to the extension Now I remember something: On Edge you have this setting selected, right? image

PuggyDoggo commented 1 day ago

Seems like there are no errors related to the extension Now I remember something: On Edge you have this setting selected, right? image

I do, yes.

But I just found out something interesting. I pinned the extension to the toolbar on Firefox. As soon as I click on the icon, YouTube refreshes and it works. But if I refresh the page, it goes back to Auto.

Now, on Edge, that only happens if I change the quality setting. Then, it refreshes and it works.

But, again, before this bug, I didn't need to click on the extension. The setting was applied automatically.

avi12 commented 1 day ago

Very strange, we'll need to do further debugging Please sideload the following zip on Edge by drag-dropping it: chrome-mv3-prod.zip Don't forget to disable the Chrome Web Store/Edge Addons version temporarily Then capture a screenshot of the devtools after the video's quality is supposed to be changed

avi12 commented 1 day ago

I noticed in your screen capture that there is a custom logo that replaces YouTube's it seems like this committee is the problematic one: https://github.com/avi12/youtube-auto-hd/commit/a770fa549afa929bb7864dcba6a354e280097684 Please try out this version: chrome-mv3-prod.zip

PuggyDoggo commented 1 day ago

I noticed in your screen capture that there is a custom logo that replaces YouTube's it seems like this committee is the problematic one: a770fa5 Please try out this version: chrome-mv3-prod.zip

This seems to have fixed it on Edge. Is it possible to fix it on Firefox as well?

Also, the previous version you've sent had these errors:

image

The custom logo was by YouTube for my country. Maybe that's related?

avi12 commented 1 day ago

The side loading for Firefox is under the same section in the README You can try out this zip: firefox-mv2-prod.zip

avi12 commented 1 day ago

Remember, these versions are only test versions, soon enough I will push an update to all of the extension stores and you should have the extension store versions enabled and used daily, not the sideloaded one

PuggyDoggo commented 1 day ago

The side loading for Firefox is under the same section in the README You can try out this zip: firefox-mv2-prod.zip

This also worked! Thanks! Could you please comment here when the new update is available?

Also, out of curiosity, what was the issue? Is it related to the custom logo?

avi12 commented 1 day ago

This also worked! Thanks! Could you please comment here when the new update is available?

Sure

Also, out of curiosity, what was the issue? Is it related to the custom logo?

Exactly Basically, in this code snippet: https://github.com/avi12/youtube-auto-hd/blob/8459ee2fa8451a520c0fb206e402413aaf694424/src/contents/content-script-init-desktop.ts#L136-L147 The ext runs a check to see whether the video is embedded or not, and if it is, it only runs the algorithm that changes the quality but without opting in for web page changes In line 136, it checks against the URL, and in line 144, it checks against the logo element, which expects a tag of: https://github.com/avi12/youtube-auto-hd/blob/8459ee2fa8451a520c0fb206e402413aaf694424/src/shared-scripts/ythd-utils.ts#L75 and apparently, the custom logo doesn't use this element tag

Honestly, I don't remember why I decided to put these two checks to begin with, so I removed it (https://github.com/avi12/youtube-auto-hd/commit/58c1f4f7d2659045405ab2c32915b0f743e82168) in the first snippet lines 144-147

avi12 commented 1 day ago

I'm closing this issue because the issue is fixed for the time being, but I'll make sure to ping you when the update comes through on CWS (Chrome Web Store) and Firefox

PuggyDoggo commented 1 day ago

I'm closing this issue because the issue is fixed for the time being, but I'll make sure to ping you when the update comes through on CWS (Chrome Web Store) and Firefox

Sounds good. Thank you!

avi12 commented 1 hour ago

@PuggyDoggo Pushed version 1.8.32, available on CWS, AMO (Firefox store), Opera and Edge stores