Skip to content
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

feat(YouTube): Support versions 19.25 and 19.34 #3629

Merged
merged 158 commits into from
Oct 19, 2024

Conversation

zainarbani
Copy link
Contributor

@zainarbani zainarbani commented Sep 7, 2024

Adds support for versions 19.25.38 and 19.34.42

The recommended app version is still 19.16.39

Because of the possibility of unidentified issues and the lack of Restore old seekbar thumbnails support, the recommended app version is still 19.16.39
 

Bugs, stability

The recent versions of YouTube have many A/B tests. Both of these new versions may experience more bugs and partially broken patch features. It's also possible you may encounter unidentified ads compared to using 19.16.39.
 

Seekbar thumbnails

Restore old seekbar thumbnails is not supported on any version after 19.16.39. The code for the old style thumbnails is no longer present and there is no way to restore. If you want the old seekbar thumbnails then continue patching 19.16.39.
 

Miniplayer

The modern miniplayers are still under development by YouTube, and as such there can be bugs and issues while using them.

The later targets both add and remove some miniplayer features.

  • 19.25.37 adds miniplayer drag and drop and double tap and pinch to increase the miniplayer size. It's also the last version that can expand/close the miniplayer by swiping (both drag and drop and double tap must be turned off), and it's the last version with 5 second skip forward/back buttons on Modern 1.
  • 19.34.42 The initial miniplayer size can be specified in the settings. Pinch to resize is always on.

 

Integration changes

@LisoUseInAIKyrios
Copy link
Contributor

All patches are version bumped, except for Restore old seekbar thumbnails?

The YT code for old seekbar thumbnails is removed after 19.16, so there's no way a patch can force it on.

Do any versions between 19.16 and 19.31 also work?

@LisoUseInAIKyrios
Copy link
Contributor

LisoUseInAIKyrios commented Sep 7, 2024

Since old seekbar patch will remain at 19.16, that means the recommended version will still show as 19.16, but I think for now that is good.

There is many changes and so many a/b tests in the recent YT versions that it's almost certain some users will experience half broke patch functionality or run into new annoying content that has no removal patch. So it's better to recommending 19.16 unless a user wants to opt in to brave patching the latest.

@zainarbani

This comment was marked as resolved.

@LisoUseInAIKyrios

This comment was marked as resolved.

@zainarbani

This comment was marked as resolved.

@LisoUseInAIKyrios

This comment was marked as resolved.

@LisoUseInAIKyrios

This comment was marked as outdated.

@LisoUseInAIKyrios

This comment was marked as resolved.

@LisoUseInAIKyrios LisoUseInAIKyrios changed the title feat(YouTube): Support version ~19.31 feat(YouTube): Support version ~19.30 Sep 8, 2024
@zainarbani

This comment was marked as resolved.

@oSumAtrIX
Copy link
Member

oSumAtrIX commented Oct 19, 2024

The PR looks ready to me. There are only nitpicks left (and the remaining reviews). I'd probably leave using a more deep review, but they don't block the PR. So far no issues testing it too.

@LisoUseInAIKyrios
Copy link
Contributor

LisoUseInAIKyrios commented Oct 19, 2024

There's an issue with the background playback video id hook no longer working. At least, it's not working with 19.42.

It breaks voting for Shorts since it doesn't know what the current video is.

Edit: it was the background playback change for 19.41. It needs adjustments to work correctly.
Reverting the change and it works correctly again now.

Edit 2: Issue is fixed with 19.41+

@LisoUseInAIKyrios LisoUseInAIKyrios merged commit 049e7f0 into ReVanced:dev Oct 19, 2024
1 check passed
github-actions bot pushed a commit that referenced this pull request Oct 19, 2024
# [4.17.0-dev.11](v4.17.0-dev.10...v4.17.0-dev.11) (2024-10-19)

### Features

* **YouTube:** Support versions `19.25` and `19.34` ([#3629](#3629)) ([049e7f0](049e7f0))
@oSumAtrIX
Copy link
Member

Thanks for everyone involved in this PR!

github-actions bot pushed a commit that referenced this pull request Oct 20, 2024
# [4.17.0](v4.16.0...v4.17.0) (2024-10-20)

### Bug Fixes

* **Twitter - Unlock downloads:** Make it work with latest versions ([#3782](#3782)) ([5189122](5189122))
* **YouTube - GmsCore support:** Add more replacements ([4d39770](4d39770))
* **YouTube - GmsCore support:** Remove unclear patch changes ([021d858](021d858))
* **YouTube - Hide layout components:** Adjust settings text ([#3745](#3745)) ([13998bb](13998bb))
* **YouTube - Spoof video streams:** Fix playback for Android VR by removing invalid body as well ([#3769](#3769)) ([5150a15](5150a15))

### Features

* **Backdrops - Pro unlock:** Support latest versions by removing version constraint ([a62b506](a62b506))
* **Facebook:** Add `Hide sponsored stories` patch ([#3627](#3627)) ([214c72b](214c72b))
* **Sync for Reddit:** Add `Fix video downloads` patch ([#3739](#3739)) ([a47ee38](a47ee38))
* **Twitter:** Add `Change link sharing domain` patch ([#3753](#3753)) ([9269a07](9269a07))
* **Willhaben:** Add `Hide ads` patch ([#3740](#3740)) ([1fe3a52](1fe3a52))
* **YouTube - Hide layout components:** Add option to hide Yoodles (YouTube Doodles) ([#3743](#3743)) ([b8c8916](b8c8916))
* **YouTube - Hide Shorts components:** Add option to hide `Use template`, `Upcoming`, `Green screen` buttons ([#3752](#3752)) ([f71c406](f71c406))
* **YouTube - Hide Shorts components:** Add option to hide like fountain ([#3731](#3731)) ([00a99dd](00a99dd))
* **YouTube - Hide Shorts components:** Hide `Hashtag` button ([#3787](#3787)) ([828a634](828a634))
* **YouTube:** Support versions `19.25` and `19.34` ([#3629](#3629)) ([049e7f0](049e7f0))

### Performance Improvements

* **YouTube - GmsCore support:** Improve performance by using hashsets ([2c5d390](2c5d390))
github-actions bot pushed a commit to E85Addict/revanced-patches that referenced this pull request Oct 20, 2024
# [4.17.0](v4.16.0...v4.17.0) (2024-10-20)

### Bug Fixes

* **Twitter - Unlock downloads:** Make it work with latest versions ([ReVanced#3782](https://github.com/E85Addict/revanced-patches/issues/3782)) ([5189122](5189122))
* **YouTube - GmsCore support:** Add more replacements ([4d39770](4d39770))
* **YouTube - GmsCore support:** Remove unclear patch changes ([021d858](021d858))
* **YouTube - Hide layout components:** Adjust settings text ([ReVanced#3745](https://github.com/E85Addict/revanced-patches/issues/3745)) ([13998bb](13998bb))
* **YouTube - Spoof video streams:** Fix playback for Android VR by removing invalid body as well ([ReVanced#3769](https://github.com/E85Addict/revanced-patches/issues/3769)) ([5150a15](5150a15))

### Features

* **Backdrops - Pro unlock:** Support latest versions by removing version constraint ([a62b506](a62b506))
* **Facebook:** Add `Hide sponsored stories` patch ([ReVanced#3627](https://github.com/E85Addict/revanced-patches/issues/3627)) ([214c72b](214c72b))
* **Sync for Reddit:** Add `Fix video downloads` patch ([ReVanced#3739](https://github.com/E85Addict/revanced-patches/issues/3739)) ([a47ee38](a47ee38))
* **Twitter:** Add `Change link sharing domain` patch ([ReVanced#3753](https://github.com/E85Addict/revanced-patches/issues/3753)) ([9269a07](9269a07))
* **Willhaben:** Add `Hide ads` patch ([ReVanced#3740](https://github.com/E85Addict/revanced-patches/issues/3740)) ([1fe3a52](1fe3a52))
* **YouTube - Hide layout components:** Add option to hide Yoodles (YouTube Doodles) ([ReVanced#3743](https://github.com/E85Addict/revanced-patches/issues/3743)) ([b8c8916](b8c8916))
* **YouTube - Hide Shorts components:** Add option to hide `Use template`, `Upcoming`, `Green screen` buttons ([ReVanced#3752](https://github.com/E85Addict/revanced-patches/issues/3752)) ([f71c406](f71c406))
* **YouTube - Hide Shorts components:** Add option to hide like fountain ([ReVanced#3731](https://github.com/E85Addict/revanced-patches/issues/3731)) ([00a99dd](00a99dd))
* **YouTube - Hide Shorts components:** Hide `Hashtag` button ([ReVanced#3787](https://github.com/E85Addict/revanced-patches/issues/3787)) ([828a634](828a634))
* **YouTube:** Support versions `19.25` and `19.34` ([ReVanced#3629](https://github.com/E85Addict/revanced-patches/issues/3629)) ([049e7f0](049e7f0))

### Performance Improvements

* Personal Logo && Add upstream sync ([2ee2b2e](2ee2b2e))
* **YouTube - GmsCore support:** Improve performance by using hashsets ([2c5d390](2c5d390))
github-actions bot pushed a commit to E85Addicts/revanced-patches that referenced this pull request Oct 20, 2024
# [4.17.0](v4.16.0...v4.17.0) (2024-10-20)

### Bug Fixes

* **Twitter - Unlock downloads:** Make it work with latest versions ([ReVanced#3782](https://github.com/E85Addicts/revanced-patches/issues/3782)) ([5189122](5189122))
* **YouTube - GmsCore support:** Add more replacements ([4d39770](4d39770))
* **YouTube - GmsCore support:** Remove unclear patch changes ([021d858](021d858))
* **YouTube - Hide layout components:** Adjust settings text ([ReVanced#3745](https://github.com/E85Addicts/revanced-patches/issues/3745)) ([13998bb](13998bb))
* **YouTube - Spoof video streams:** Fix playback for Android VR by removing invalid body as well ([ReVanced#3769](https://github.com/E85Addicts/revanced-patches/issues/3769)) ([5150a15](5150a15))

### Features

* **Backdrops - Pro unlock:** Support latest versions by removing version constraint ([a62b506](a62b506))
* **Facebook:** Add `Hide sponsored stories` patch ([ReVanced#3627](https://github.com/E85Addicts/revanced-patches/issues/3627)) ([214c72b](214c72b))
* **Instagram:** Added few patches ([f0b0451](f0b0451))
* **Sync for Reddit:** Add `Fix video downloads` patch ([ReVanced#3739](https://github.com/E85Addicts/revanced-patches/issues/3739)) ([a47ee38](a47ee38))
* **Twitter:** Add `Change link sharing domain` patch ([ReVanced#3753](https://github.com/E85Addicts/revanced-patches/issues/3753)) ([9269a07](9269a07))
* **Willhaben:** Add `Hide ads` patch ([ReVanced#3740](https://github.com/E85Addicts/revanced-patches/issues/3740)) ([1fe3a52](1fe3a52))
* **YouTube - Hide layout components:** Add option to hide Yoodles (YouTube Doodles) ([ReVanced#3743](https://github.com/E85Addicts/revanced-patches/issues/3743)) ([b8c8916](b8c8916))
* **YouTube - Hide Shorts components:** Add option to hide `Use template`, `Upcoming`, `Green screen` buttons ([ReVanced#3752](https://github.com/E85Addicts/revanced-patches/issues/3752)) ([f71c406](f71c406))
* **YouTube - Hide Shorts components:** Add option to hide like fountain ([ReVanced#3731](https://github.com/E85Addicts/revanced-patches/issues/3731)) ([00a99dd](00a99dd))
* **YouTube - Hide Shorts components:** Hide `Hashtag` button ([ReVanced#3787](https://github.com/E85Addicts/revanced-patches/issues/3787)) ([828a634](828a634))
* **YouTube:** Support versions `19.25` and `19.34` ([ReVanced#3629](https://github.com/E85Addicts/revanced-patches/issues/3629)) ([049e7f0](049e7f0))

### Performance Improvements

* **YouTube - GmsCore support:** Improve performance by using hashsets ([2c5d390](2c5d390))
@LisoUseInAIKyrios
Copy link
Contributor

@0xrxL Can you still reproduce the null litho path issue on your account?

I found some feature flags that toggle some new native code for litho and the protobuf. If I force one flag on then the litho path is missing, and if I force another flag then the protobuffer is always empty (since it's then handled by native non java code).

But I'm unsure if forcing these flags off will always work, because if there is other flags that control related code and forcing only some off may crash the app.

@0xrxL
Copy link

0xrxL commented Nov 2, 2024

@0xrxL Can you still reproduce the null litho path issue on your account?

I found some feature flags that toggle some new native code for litho and the protobuf. If I force one flag on then the litho path is missing, and if I force another flag then the protobuffer is always empty (since it's then handled by native non java code).

But I'm unsure if forcing these flags off will always work, because if there is other flags that control related code and forcing only some off may crash the app.

Nope, I don't have this A/B test enabled anymore from 19.42 version. In fact I'm switched back to my main account.

In any case you can ask to @MarcaDian, the last time he said that was still able to reproduce this on 19.41.

@0xrxL
Copy link

0xrxL commented Nov 2, 2024

@LisoUseInAIKyrios

P.S: About litho: did you do a filters cleanup? I do it yesterday on my side, and I removed at least 20 of them inherited from 2 years old YouTube versions (included some patches related to no more visible ads and info cards, fully migrated to litho format).

@LisoUseInAIKyrios
Copy link
Contributor

Nobody has bothered to cleanup any old stale litho filters.

It's difficult to figure out which ones are still in use and which are obsolete.

@MarcaDian
Copy link
Contributor

I found some feature flags that toggle some new native code for litho and the protobuf. If I force one flag on then the litho path is missing, and if I force another flag then the protobuffer is always empty (since it's then handled by native non java code).

Can you make these changes in your repo? I want to try as I am interested in versions higher than 19.40

@LisoUseInAIKyrios
Copy link
Contributor

I'm making a pull request now.

I think this should allow adding 19.43, since everything was already working and it was these nasty litho issues that preventing going higher than 19.34.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment