ReVanced / revanced-patches

šŸ§© Patches for ReVanced
https://revanced.app
GNU General Public License v3.0
2.41k stars 278 forks source link

bug(YouTube - Return YouTube Dislike): Dislikes in Shorts in incognito mode does not work #229

Open Domiiniik opened 1 year ago

Domiiniik commented 1 year ago

Bug description

Dislikes in shorts don't show up when viewing shorts in Incognito Mode. Normal viewing mode: Screenshot_20231009_195520_YouTube Incognito Mode: Screenshot_20231009_195624_YouTube

Error logs

-

Solution

Fix the issue.

Additional context

Tested on latest ReVanced Patches and latest Youtube ver suggested by ReVanced Manager as of 09.10.2023 This is clearly a bug as dislikes do display in normal videos even in Incognito Mode so they should do too in shorts.

Acknowledgements

LisoUseInAIKyrios commented 1 year ago

Dislikes works in shorts incognito mode for me.

But oddly it uses the old non litho shorts player, and non incognito it uses new new litho player. So any litho player issues won't occur.

Turn on debug logging (and also turn on log protocol buffer), and post the adb logs.

KobeW50 commented 1 year ago

Turn on debug logging (and also turn on log protocol buffer), and post the adb logs.

I was able to reproduce the issue on my device. I hope these logs are what you are looking for.

logcat_10-09-2023_14-13-15.txt

https://github.com/ReVanced/revanced-patches/assets/84587632/aff7a435-6501-48d4-903b-15e7705e7181

LisoUseInAIKyrios commented 1 year ago

Normally the video id is immediately after ic_right_dislike_off_shadowed, but in incognito mode the video id is missing:

revanced: LithoFilterPatch] Searching ID: null Path: shorts_action_bar.eml|a3bfdfaea3a282e0|CellType|ContainerType|ContainerType|shorts_dislike_button.eml|ddb384a0602e344a|shorts_video_action_toggle_button.eml|48b08927029bd935|shorts_video_action_button.eml|5483c6dada57d4ab|ContainerType|ContainerType|ContainerType|ImageType| BufferStrings: Dislikeā™sans-serif-mediumā™ic_right_dislike_off_shadowedā™id.reel_dislike_buttonā™Dislike this videoā™

The problem is because the user cannot like/dislike in incognito mode, the litho component does not have the video id for the like/dislike buttons. This causes RYD to never load for that short.

I will search more later, and maybe a different litho components (share button?) has the video id in incognito mode. Otherwise this might be a limitation until a solution is found to update litho components asynchronously.

LisoUseInAIKyrios commented 1 year ago

While in incognito mode the video id does not appear anywhere in the litho proto buffer.

For now this will have to be a known limitation. Can give a disclaimer in the RYD settings menu, and add a spoof target of 18.29.38 - "restore RYD Shorts incognito mode" which uses a non litho shorts player.

Domiiniik commented 1 year ago

Meh, poor approach

LisoUseInAIKyrios commented 1 year ago

@Domiiniik If it was simple or easy to update litho asynchronously, it would already be implemented. šŸ§‘ā€šŸ’»šŸ¤“

Domiiniik commented 1 year ago

I agree on that too through

LisoUseInAIKyrios commented 1 year ago

Issue should be fixed.

Just for reference, when in incognito mode and swiping thru Shorts, some Shorts will still use the old non-litho player.

It appears to happen if the Short has comments turned off or if the channel is hidden, but the dislike count shown is valid and correct.

Edit: These specific shorts are actually ads In between normal Shorts. The ad banner is hidden, but the ad still appears and plays.

Domiiniik commented 1 year ago

Issue should remain open until the actual fix for the current version without spoofing is actually found.