feat: Update to patcher v22
Initial usage of Patcher v22 method instruction filters.
https://github.com/ReVanced/revanced-patcher/pull/329
@MarcaDian @LisoUseInAIKyrios
20.39 -> New end video suggestions (litho based)
@0xrxL I don't think so it is from 20.39+. I had used 20.38 and I got that new end screen. This could be started from 20.21 because litho filtering is currently does not work.
@0xrxL I don't think so it is from 20.39+. I had used 20.38 and I got that new end screen. This could be started from 20.21 because litho filtering is currently does not work.
I got it in 20.39, but I don't know starting which version was implemented.
Yes, this screen is present on 20.21.
@LisoUseInAIKyrios if you want to hide the new endscreen, just put a return-void at the beginning of method b() in version 20.14.43.
@MarcaDian Do you have the link to Google Feedback website, about the litho battery drain issue? I want to track its development, to understand if they will fix it sooner or later (and to understand if I can disable the workaround).
The only feedback I know of is Google ignoring user reports and telling them copy pasted generic troubleshooting like clearing app data. Otherwise they haven't said anything.
https://github.com/ReVanced/revanced-patches/issues/5223#issuecomment-3007631098
Do you have the link to Google Feedback website, about the litho battery drain issue?
I don't know about the feedback, but about 10 people wrote to me with this problem (Samsung SG 22-25), and it seems like it was fixed by changing the number of Litho threads.
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="?android:attr/textColorPrimary"
android:pathData="M12,2 C10.9805,2,10.1133,2.59766,10.0117,4.41406 C8.23438,4.85156,7.36328,5.87109,6.84766,6.80078 C6.16797,8.02734,6.12109,8.55859,6.03906,11.9102 L5.95313,15.4414 L4.97656,16.3984 C4.23047,17.125,4,17.5469,4,18.1758 L4,19 L20,19 L20,18.1758 C20,17.5469,19.7695,17.125,19.0234,16.3984 L18.0469,15.4414 L17.9609,11.9102 C17.8789,8.55859,17.832,8.02734,17.1523,6.80078 C16.6367,5.87109,15.7656,4.86328,13.9883,4.42578 C13.8867,2.60156,13.0195,2,12,2 Z M10,20 C10,21.0078,10.7461,22,12,22 C13.2539,22,14,21.0078,14,20 Z M10,20" />
</vector>
Another variant (cairo?)
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="?android:attr/textColorPrimary"
android:pathData="M12,2 C10.2422,1.96094,9.25,3.66016,9.09766,4.90234 C6.95703,6.16016,6.00781,7.20313,6,11.5 C5.99609,14.375,5.92969,14.2383,4.89844,16 C4.60156,16.5117,4.03906,17.2617,3.89844,17.8828 C3.76172,18.5039,4.34766,19,5,19 L9,19 C9,20.0078,9.80859,22,12,22 C14.1914,22,15,20.0078,15,19 L19,19 C19.6523,19,20.2383,18.5039,20.0977,17.8828 C19.9609,17.2617,19.3984,16.5117,19.0977,16 C18.0703,14.2383,18.0039,14.375,18,11.5 C17.9922,7.20313,17.043,6.16016,14.8984,4.90234 C14.75,3.66016,13.7578,1.96094,12,2 Z M12,2" />
</vector>
I still don't understand what this icon is, since I'm not using version 20.39 yet) it would be great if you added a screenshot
It's the selected notification tab icon. Change ReVanced nav bar settings so the notification tab is visible. This icon is the selected state (unpatched YT is missing this icon. Issue affects all versions of YT)
Previously the missing icon was solved by using the non Cairo notification icon (if you look carefully at the selected vs unselected state, the icon is slightly different shape but you don't notice because your finger covers the icon when it changes). But in 20.39 YT removed the old icons so we need to provide our own.
I think the first icon you posted looks good. It also closely matches the "no notifications" background image in the notification tab.
Now I understand what this icon is, I always switch the creation button with the notification button, so I didn't understand what you were talking about)))
Is it fixing an issue where some components are not hiding, where the lithofilter broke and you fixed it?
All litho filtering is fixed, except filtering sub components such as the player action buttons is still not fixed.
For 20.22+ the hide player/shorts action button settings are removed because they don't work. It's possible other hide settings also don't work and nobody has noticed yet.
The issue is the subcomponents get the same buffer as the parent component, so it's not possible to tell which subcomponent (which button) is currently being filtered because the buffer contains all the action buttons.
I have a few ideas how to maybe fix it, but I haven't tried them and I'm not confident they will work.
Finally you fixed litho filtering issue. At least half of issues for 20.22+ is solved. For wide searchbar issue, why don't you remove it instead if it's does not work on latest YouTube?
Litho filtering was fixed like a month ago or more. The same limitations that existed then still exist now (cannot hide player/shorts action buttons).
Wide searchbar patch doesn't work with latest YouTube because the old legacy UI code was removed by YouTube.
It might be possible to add back a search bar but it looks like a lot of work for a small return. The feature isn't terrible useful anyway since it doesn't actually save any time and only makes a large area to tap for search instead of taping the small button.
... but it looks like a lot of work for a small return. The feature isn't terrible useful anyway since it doesn't actually save any time ...
Better remove it instead of full pain in the a$$ 😆
The same limitations that existed then still exist now (cannot hide player/shorts action buttons).
The solution exists, and it's modular, but unfortunately this is not appreciated by the leaders on the upper floors.
Please do not vague post like that from now on, I've caught you doing this a couple of times already
Please do not vague post like that from now on, I've caught you doing this a couple of times already
I'm not vague. Mine is a clear but synthetic reference of the fact that you don't want this fix to be implemented, because you prefer a specific type of patch with precise characteristics. Therefore, you discarding any possible solution that does not belong to the aforementioned type.
And I accept that, but talking like a solution doesn't exist is lying.
It is vague because you say "solution" and nothing more, therefore someone coming across your comment won't know what your "solution" is. This is not a single occure but the last one I'll tolerate. I'm open for constructive comments, but passive aggressive and vague ones like this won't be tolerated anymore
It is vague because you say "solution" and nothing more, therefore someone coming across your comment won't know what your "solution" is. This is not a single occure but the last one I'll tolerate. I'm open for constructive comments, but passive aggressive and vague ones like this won't be tolerated anymore
The solution is the same already discussed in the old Patch v22 PR:
Obtain the list of action buttons via API and locate the litho object array for the buttons, then remove these objects from the array based on the index of the buttons obtained via API.
With the comment above I am not asking for the solution, I am saying that I won't tolerate vague posts in general taking an example of your initial post.
I have already told you why the solution is bad and gave you a good reason why (API spam). However you leave out the reason in your vague post and frame it like it is being dismissed without good reason which is why I will not permit you vague posting anymore. If you have constructive comments, feel free to post them, however if I see another framing attempt (e.g. like here leaving out the good reason and displaying like there's no reason for dismisal, at all), I will take action.
Specifically to your solution, I explained that you spam the API multiple times, leading to future rate limits or even worse bans. I'm marking this topic as off topic
I'm confident there is somehow a way to infer what player buttons are present without making fake calls to the YT api.
The same litho issue exists in the Shorts player, and also the ability to hide individual Shorts in a shelf with keyword filters (instead the entire shelf is hidden if any one of the Shorts matches a keyword).
I'm confident there is somehow a way to infer what player buttons are present without making fake calls to the YT api.
The same litho issue exists in the Shorts player, and also the ability to hide individual Shorts in a shelf with keyword filters (instead the entire shelf is hidden if any one of the Shorts matches a keyword).
The API call is the same used to get the video stream, except that instead of fetching the video stream, you fetch the buttons or whatever else you need. Thinking that Google can ban this is equal to think that Google can ban whoever watch a video two times (because the first time was stucked on loading).
I would agree if the API differed between video stream fetching and buttons, but that's not the case.
Just updated and patched with latest commits, cli stuck at compiling resources, it tooks much time compared previous version. Maybe additional resources affect it. Because recent changes revanced modified many resources aspect. Can it be speed up while compiling resources? I am aware if revanced modified resources very much in the future will slower the patching process.
@cyberboh I'm not seeing any slow issues. I'm using 20.40 now and no issues when compiling or patching.
Try cleaning each project.
@cyberboh I'm not seeing any slow issues. I'm using 20.40 now and no issues when compiling or patching.
Try cleaning each project.
I always do ./gradlew clean everytime I compiling. It compiled successfully.
My issue is while patching YouTube app with ReVanced CLI, it tooks more time while compiling resources. Idk if this issue is from my environment. I am using old laptop running core i3 6th Generation, with 4 GiB RAM.