-
-
Notifications
You must be signed in to change notification settings - Fork 604
feat: Update to patcher v22 #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: Update to patcher v22 #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
|
No crashes for me too on 20.43.35 Maybe it's an A/B test? |
|
Yes it's probably a glitch in a/b flags. The exception is a null pointer exception in YT's own code. |
Probably another trap to prevent app execution. |
…tion_filters # Conflicts: # extensions/youtube/src/main/java/app/revanced/extension/youtube/patches/ChangeHeaderPatch.java # extensions/youtube/src/main/java/app/revanced/extension/youtube/settings/Settings.java
From this screenshot, I can see dislikes is not shown, same like me, seems RYD broken in newest target. |
|
@MarcaDian previously mentioned he has RYD turned off. If you're referring to @0xrxL , udrop doesn't do RYD |
…tion_filters # Conflicts: # patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt
|
@LisoUseInAIKyrios Google had changed something in RYD, I see many in the logs: They add |
|
That doesn't mater. I added some temporary logging. Clear the logs, open a regular video, then check the logs for Line 138 in 1502bf7
|
|
I am not compiling yet for new commits, but This log might the culprit
|
|
Pull the latest and check the logs for |
There is no log for |
|
I only got these
|
|
Modify this method: Line 27 in 1502bf7
Change the first line to: |
|
Like this?: public static boolean isBooleanFeatureFlagEnabled(boolean value, Long flag) {
if (true) return false;
if (LOG_FEATURE_FLAGS && value) {
if (featureFlags.putIfAbsent(flag, true) == null) {
Logger.printDebug(() -> "boolean feature is enabled: " + flag);
}
}
return value;
} |
|
Or if you have enough knowledge, you can make these changes, or cherry pick this commit, and manually check the block flags you get, and find the one that is causing this problem. To get a sorted list of flags, enable debugging in the ReVanced settings, clear the logs, restart the app, export the logs to txt file. Then, open any AI chat, and give it the task of sorting boolean flags from your logs. |
Yes. Also try version spoofing. |
Done, cherry-picked and built patches. So many flags inside
Done built, and also version spoofed, all did not work. |
|
Custom speed is not set above 2.0 on 20.43 |
Did you import hundreds flags in "flags manager" manually? 300+ flags is heavy, the interface should wider then. |
|
They are added to the list automatically through the debugging patch. |
If possible, the dialog can be larger (or use a full view that's fullscreen, I think that's even better). Maybe have a way to select multiple flags at once? Like tap one flag, then tap and hold another flag and it'll select all flags between the last flag and the currently tapped. Whatever flag enables the settings menu should be hard coded as always on, otherwise the user can turn off all flags and then it's impossible to change the settings again until they clear the app data. An automatic binary search feature could be useful, I previously described how it could work. But if the flags are selectable in large numbers then that may not be needed since the user can manually do their own binary search with a little more work. Optionally we could add a map of flags to descriptions for all known flags, and accept PR's to add more descriptions. Then show the description in the flags settings. But maybe that's not needed because any useful flags are already exposed as patches and any unknown flags can be added as patches. |
You turned off all boolean flags and it wasn't fixed. It's either a flag not hooked, or it's a layout change not controlled client side. It's most likely a server side layout change. |
|
I don't know how to inform the user about a short description of the flag (if available), I wanted to add a small pop-up window, but long pressing is used to select checkboxes between flags. Maybe add some kind of field at the bottom. Also, probably at the bottom of each column need to add button to copy flags to the clipboard. Added a whitelist for flags that will not be displayed in the list. |
|
Feel free to make a pull request if you want. It's an advanced feature but it's still useful, especially if users want to fiddle and find a/b flags. I don't think text descriptions are needed in the app. Any flags found that are useful can be added as a patch. |




Initial usage of Patcher v22 method instruction filters.
ReVanced/revanced-patcher#329