-
-
Notifications
You must be signed in to change notification settings - Fork 617
feat(YouTube): Support versions 20.21.37, 20.31.40
#6000
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
feat(YouTube): Support versions 20.21.37, 20.31.40
#6000
Conversation
…tion_filters # Conflicts: # patches/api/patches.api # patches/src/main/kotlin/app/revanced/patches/music/interaction/permanentshuffle/PermanentShufflePatch.kt # patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/Fingerprints.kt # patches/src/main/kotlin/app/revanced/patches/music/misc/spoof/SpoofClientPatch.kt # patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt # patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt
…tion_filters # Conflicts: # patches/api/patches.api # patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt
…tion_filters # Conflicts: # extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/requests/StreamingDataRequest.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/LicenseActivityHook.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java # patches/src/main/kotlin/app/revanced/patches/music/interaction/permanentrepeat/PermanentRepeatPatch.kt # patches/src/main/kotlin/app/revanced/patches/youtube/interaction/downloads/DownloadsPatch.kt # patches/src/main/kotlin/app/revanced/patches/youtube/layout/seekbar/Fingerprints.kt # patches/src/main/kotlin/app/revanced/patches/youtube/layout/theme/Fingerprints.kt # patches/src/main/kotlin/app/revanced/patches/youtube/misc/extension/hooks/ApplicationInitHook.kt # patches/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsPatch.kt # patches/src/main/kotlin/app/revanced/patches/youtube/shared/Fingerprints.kt
…tion_filters # Conflicts: # extensions/shared/library/src/main/java/app/revanced/extension/shared/spoof/requests/StreamingDataRequest.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/LithoFilterPatch.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ReturnYouTubeDislikeFilter.java # patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt # patches/src/main/kotlin/app/revanced/patches/viber/ads/Fingerprints.kt # patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt
…tion_filters # Conflicts: # patches/api/patches.api # patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt # patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt
…tion_filters # Conflicts: # extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/components/ButtonsFilter.java # patches/src/main/kotlin/app/revanced/patches/music/layout/navigationbar/Fingerprints.kt # patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/Fingerprints.kt # patches/src/main/kotlin/app/revanced/patches/youtube/layout/buttons/action/HideButtonsPatch.kt # patches/src/main/kotlin/app/revanced/patches/youtube/layout/player/fullscreen/OpenVideosFullscreenPatch.kt # patches/src/main/kotlin/app/revanced/patches/youtube/layout/spoofappversion/SpoofAppVersionPatch.kt # patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/Fingerprints.kt # patches/src/main/kotlin/app/revanced/patches/youtube/misc/fix/backtoexitgesture/FixBackToExitGesturePatch.kt
…tion_filters # Conflicts: # extensions/music/src/main/java/app/revanced/extension/music/settings/GoogleApiActivityHook.java # extensions/shared/library/src/main/java/app/revanced/extension/shared/Utils.java # extensions/shared/library/src/main/java/app/revanced/extension/shared/checks/Check.java # extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseActivityHook.java # extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ColorPickerPreference.java # extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/CustomDialogListPreference.java # extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ToolbarPreferenceFragment.java # extensions/twitch/src/main/java/app/revanced/extension/twitch/settings/TwitchActivityHook.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/AlternativeThumbnailsPatch.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/HidePlayerOverlayButtonsPatch.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/theme/SeekbarColorPatch.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/SearchViewController.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/YouTubeActivityHook.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ExternalDownloaderPreference.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/preference/ReVancedPreferenceFragment.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/objects/SegmentCategoryListPreference.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/NewSegmentLayout.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SkipSponsorButton.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/sponsorblock/ui/SponsorBlockViewController.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/VideoQualityDialogButton.java # patches/src/main/kotlin/app/revanced/patches/music/interaction/permanentshuffle/PermanentShufflePatch.kt # patches/src/main/kotlin/app/revanced/patches/music/layout/upgradebutton/Fingerprints.kt # patches/src/main/kotlin/app/revanced/patches/music/layout/upgradebutton/HideUpgradeButtonPatch.kt # patches/src/main/kotlin/app/revanced/patches/music/misc/settings/SettingsPatch.kt # patches/src/main/kotlin/app/revanced/patches/youtube/misc/settings/SettingsPatch.kt
…tion_filters # Conflicts: # extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/RemoveTrackingQueryParameterPatch.java # patches/src/main/kotlin/app/revanced/patches/shared/misc/privacy/Fingerprints.kt # patches/src/main/kotlin/app/revanced/patches/youtube/misc/privacy/RemoveTrackingQueryParameterPatch.kt
…tion_filters # Conflicts: # patches/src/main/kotlin/app/revanced/patches/youtube/shared/Fingerprints.kt
…tion_filters # Conflicts: # patches/src/main/kotlin/app/revanced/patches/shared/misc/settings/SettingsPatch.kt
…tion_filters # Conflicts: # patches/src/main/kotlin/app/revanced/patches/instagram/hide/navigation/Fingerprints.kt # patches/src/main/kotlin/app/revanced/patches/music/misc/extension/hooks/ApplicationInitHook.kt # patches/src/main/kotlin/app/revanced/patches/youtube/video/quality/Fingerprints.kt
This comment was marked as resolved.
This comment was marked as resolved.
|
Even 20.14 is now infected with a\b flags (or some kind of javascript) to change the channel action bar below the player. For me it turns on and off from time to time (there are even several closed issues about this at the moment) PS: this bar #6000 (comment) |
|
Do dislikes show? Does turning off the hooked client flags fix it? |
|
I've already written somewhere here before, this panel is not controlled by flags, or they haven't been hooked yet. You then suggested that it's possible that it's controlled server-side (via a java script) At the same time, dislikes work in both versions of the panel for me. Although I have already seen 4 versions of this panel: the full one, which is currently untouched in 20.14, the short hybrid, and the short hybrid without inscriptions, and full with the panel expand button |
|
If dislikes still work then it's still litho based. |
…ode (issue was caused by bad merge of main branch)
|
"Another" fork has a commit for remove ads from shorts if you are interested (I don't watch them). |
|
I saw but it doesn't fix Shorts still showing ads for some users. Instead it separates the ad-blocking part of swap create with notification tab to be more selective, so shorts ads are blocked for (most) users independently from the nav bar settings. |
|
Hi guys. When will this PR be merged? |
|
Some notes. Sometimes exiting the application when pressing back does not work, often happens when I just opened the application. Screenrecorder-2025-11-19-18-00-35-803.mp4Also at 20.46.35 I got an animation of hiding the navigation bar when scrolling. Screenrecorder-2025-11-19-18-02-38-739.mp4 |
Probably never) |
Why bro? |
In January it will be the 1 year anniversary of this PR. Can we throw a birthday party (or a funeral?). You can patch using CLI tools now as explained in the first post. Maybe someone will setup a one off Flutter manager with the instruction filtering patcher changes, and then it can be patched using https://github.com/LisoUseInAIKyrios/revanced-patches/ as an alternative source in ReVanced Manager. Or someone makes a one off Manager compose build with instruction filter patcher, and then it can be patched using a rvp file. |
Is there any empty space left between hidden buttons? |
No the empty space is hidden. It uses code from a fork that infers what action buttons exist and what order they appear in (without using litho hooks). The buttons are then hidden (including the padding) based on the button/padding index and it doesn't use the litho buffer. If no other way is found, it would be a solution for the 20.22+ litho buffer limitation that prevent using the buffer to hide action buttons. Because right now the only major unresolved issue with going past 20.21 is no way to hide the player action buttons. |
But we know who is against such a solution. Well, it seems like this fork is preparing to support versions above 20.21, but is waiting for some actions from ReVanced. |
|
@LisoUseInAIKyrios Something good for Android_VR client (properties without SABR and a more fast loading) |
|
As long as it makes an additional API call, it can't be implemented. Users are hit with anti bot warnings because there's more than one request already preventing playback and adding one more API call will make this even worse. This is not hard to grasp. An additional call is not permitted. The only way to hide action buttons is allowed is locally. The stringified ViewComponent objects should expose enough information to filter |
|
how about adding suport for 20.26.46 |
|
And why |
|
And how does it make any difference to use 20.21 as the latest |
@yonggamer That's why |
I think you can safely patch this version, after disabling the recommended version check in the CLI or ReVanced manager (in the future). |
20.21.37, 20.31.4020.21.37, 20.31.40

Adds support for newer versions of YouTube using unreleased patcher instruction filters API.
How to use these patches now
Before these changes are merged, you can patch now using a computer with command prompt and CLI tools.
Download an unreleased CLI tools from here:
https://github.com/LisoUseInAIKyrios/revanced-cli/releases/tag/v6.0.0-dev.2
Download this branch as a release here:
https://github.com/LisoUseInAIKyrios/revanced-patches/releases/tag/liso-v6.0.0-dev.2
Then patch as usual with CLI. See CLI documentation if you've never patched with CLI before.
Regarding patching
20.22.36and higher.20.22+ Litho buffer filtering is now dramatically different from previous versions of YouTube. New litho filtering limitations currently exist due to internal changes made by YouTube and the Meta Litho framework.
Current ReVanced litho limitations when patching
20.22.36+Supported YouTube app targets:
YouTube
20.14.43YouTube
20.21.37The recommended target for most users
YouTube
20.31.40Only recommended if you don't care about hiding player action buttons or hiding Shorts player components. Not the overall recommended app target.
Wide search barpatch is no longer available.Hide buttonspatch cannot hide player action buttons (patch is not included by default)Hide Shorts componentspatch cannot hide Shorts buttons (patch is not included by default).YouTube
20.47.32Recommended only if you want to use the latest version with lots of A/B tests. Must turn off version constrains when patching. Only recommended for those who like to tinker with software and they accept that some patch functionality may not work.