Automcatically switches to your pre-selected resolution. Enables premium when possible.
These are all versions of this script. Show only the versions where the code changed.
[minor] Changed the emoji use in the custom UI menu that was used to indicate the expansion state for clarity purposes.
Added basic localization for the script's UI menu.
Updated supported YouTube domains. Apparently www.youtube-nocookie.com is used for some embedded videos so that was added to the list of matched URLs.
Updated script information and added localized descriptions for Japanese, Traditional Chinese, and Simplified Chinese. (version bump)
Updated script to handle mobile web Youtube. YouTube load events don't seems to fire on the mobile version of the website.
Removed the ability to set video quality to 'auto' through the script as that is redundant. Also removed any associated logic.
[minor] Very minor refactoring. No functional changes.
Cleaned up old code. Simplified redundant code that was added older GM compatibility reasons.
Updated script to use the newer Grease Monkey API (4+). Added a compatilibty mode to fallback to in the case some script loaders are incompatible with newer Grease Monkey versions.
Updated video load handling to give better compatibility for iframe videos. minor bug fixes
[Critical Bug Fix] Script would fail to find the correct element to attach to under certain conditions and thus would fail to trigger.
Fixed an absolutely absurd number of very minor bugs. Cleaned up code a bit.
[Bug Fix] Script should not run if user settings fail to load.
debug options changed from a in-code flag to a persistent setting. Better verification logic. Changed verification logic to account for edge case where the script fails to set quality but YouTube auto quality happens to set the playback quality to one that matches what the script would have set if it was successful. This used to cause the verification to pass even though it should have failed. A consequence of this is that youtube's auto quality would be overridden. No other quality levels will be overriden, keeping the same behaviour as before. [m] bug fixes.
[CRITICAL BUG FIX] Last update broke the script and loading a youtube page with no videos (e.g. homepage) would cause the script to crash.
Changed the verification mechanism to only run after the video has started playing. Changed the verification mechanism to run everytime the video switches from pause to play. This should hopefully cover the edge case that occurs when video resumes after browser/tab sleep. Changed the UI menu expansion state to be persistent.
[minor] Changed url matching to be more flexible in case anyone is loading non-http verions of youtube.
[minor] Changed logging behaviour to include line number. Defined homepage.
Remove call to deleted function.
Removed function to write quality preference to browser storage. I must have IQ below 0. YouTube already writes to localStorage so we don't need to do that ourselves with the script.
maybe?
HAIYA
Accidentally removed something in version 2024.09.01. Shouldn't be noticable on most setups regardless.
oooooooooooops.
Changed the script to write quality change action to browser storage. This should'nt change how the script change settings, but should hopefully allow YouTube to periodically re-check quality preference when playing a very long video, or if the video tab has been left open for extended periods of time.
Changed the check for Shorts to run before other checks. Disabled the verification step if quality is not being actively set.
Updated verification logic to be less agressive and more consistent.
Updated verification to run after yt-navigate-finish.
Increased retry delay from 200ms to 250ms.
Added a check to make sure that the selected quality is actually applied. Previously the settings would apply after a long delay if the video content somehow loads earlier than the video player itself. Definitely a weird case, but I think the bug could consistently be triggered if a setup is configured such that the machine itself is underpowered but is paired with some exceedingly fast internet.
Fixed compatibility with TamperMonkey caused b TamperMonkey not yet fully supporting GreaseMonkey 4 functions.
Show all script versions