-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Add support for channel tabs #9182
Conversation
Dun dun DUUUUUUUN. It's happening. It's finally happening. ಥ‿ಥ |
Opening non-video items in channel tabs and then going back causes the entire channel info to be loaded again. Can it not be cached? Or opened as a fragment or something like video details pages are? Crash crash crash! If you open any item from a non-video channel tab and then open a video, going full screen causes this crash:
|
@opusforlife2 I published a new debug build (v3) that should fix your issues |
Confirmed. Thanks! |
This comment was marked as off-topic.
This comment was marked as off-topic.
@SameenAhnaf Did you open this playlist from the channel playlists tab? I tried it and could not reproduce this issue. This PR does not touch any playlist extraction code, so that issue may also occur when opening a playlist manually. A quick fix would be to clear the cache and reopen the playlist. |
@Theta-Dev AudricV successfully solved the bug in extractor. Anyway, #5746 & #9223 could be linked with this PR. Btw, do you have any plan how to integrate 3 separate tabs' loading into one what's new feed? Or, split what's new feed into three tabs on another PR? I noticed that recent shorts and live videos are not included in what's new feed. |
It is not possible to merge all 3 tabs into one feed because YouTube does not show the upload date of shorts. We could omit the shorts and merge the video and livestream tab into the feed. An alternative would be to fetch both the video tab and the RSS feed. That would be faster than fetching 2 tabs and we would still get all the shorts and livestreams |
Is it within scope of this PR to split what's new feed into three tabs? An issue is inevitable in this regard.
I think, this point should be discussed in #4934 instead. Many users have limited access to cellular data and this should be an option, not the only way. |
I haven't set the visitor data cookie, yet I'm suddenly seeing the Shorts and Live tabs. I wasn't seeing them a couple of days ago when I tested debug3. A/B testing is the culprit, I assume? |
App debug 3 is working all right even without entering any cookie no problem during video playback using it instead of official new pipe release for 3 days |
If the app remains open and android goes in deep sleep or app is killed by android. The following error shows up 4-5 times. Then keep pressing back and app will be closed after all error reports are shown. Upon reopening it will work fine again. Consistent issue.Hope that helps. Exception
Crash log
|
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
Channel tabs seem to be inaccessible if added as a content on main page. Only, normal videos are shown. |
That is intentional. The main page already used a tabbed layout, so we cant have another tab bar inside. |
One thing I noticed is that when being on any tab other than the "VIDEOS" one, if you rotate the screen, you're moved back to it (the videos tab). |
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
Now the placeholder gets hidden if there is no banner url or the user disabled images, to save space
YouTube's "Desktop Max" thumbnails are 2560x423, while our previous placeholder banner was 2550x427. The extractor actually returns a lower resolution "Desktop Max" banner at 1060x175, but the ratio wrt 2560x423 is off by ~0.1% The PNG was optimized with OptiPNG
Since it is embedded in the app bar and has red as background color, it should be themed in the same way as the toolbar.
Increase readability
This empty element should be always hidden for this tab, as there is no upload date available for channels.
The breakage of these tests is related to the channel tabs changes. The testRememberRecentStreams test method has been removed, as it doesn't seem to be relevant anymore to managing subscriptions.
Add the separate utility class PlayButtonHelper to handle the initialization of the listeners. The ClickListeners on playlist controls had different behaviours. This commit fixes that. The commit also refactors the way how the app determines whether it is started for the first time. The previous version was not clean and recent in this PR caused it to fail.
Co-Authored-By: Audric V <74829229+AudricV@users.noreply.github.com>
…ng ChannelFragment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We were not able to reproduce @Feuerswut's crash and assume that it was caused by an unsupported backup version. The goal is to merge this PR and get the changes into the nightlies to reach a broader testing audience.
e7abcd4
to
031b893
Compare
No, that's because the extractor version is old and has the bug described in TeamNewPipe/NewPipeExtractor#1077.
I tend to disagree, as theoretically, a channel could have hundreds of related channels, which would fit better in a separate tab in this case.
No, see TeamNewPipe/NewPipeExtractor#1077 for a discussion and reasons around that. |
Kudos, SonarCloud Quality Gate passed! |
We should mark this historic day by making it an international holiday, I say. |
What is it?
Description of the changes in your PR
Because YouTube is planning to update their channel page layout (as announced here) and divide videos into 3 tabs (regular videos, shorts, livestreams), we need to add this layout to the NewPipe app to be able to access all channel content.
This PR adds a tabbed channel layout with tabs for videos, shorts, livestreams, playlists, featured channels and channel info and a setting to hide certain channel tabs.
Before/After Screenshots/Screen Record
https://libreddit.kavin.rocks/r/NewPipe/comments/ybvl5t/update_on_the_channel_tabs_feature_debug_apk/
Fixes the following issue(s)
Relies on the following changes
APK testing
The APK can be found by going to the "Checks" tab below the title. On the left pane, click on "CI", scroll down to "artifacts" and click "app" to download the zip file which contains the debug APK of this PR.
Old versions
Due diligence