Skip to content

feat(youtube): support channel tab sorting#62

Merged
InfinityLoop1308 merged 1 commit into
InfinityLoop1308:mainfrom
Priveetee:feature/youtube-channel-tab-sorting
May 23, 2026
Merged

feat(youtube): support channel tab sorting#62
InfinityLoop1308 merged 1 commit into
InfinityLoop1308:mainfrom
Priveetee:feature/youtube-channel-tab-sorting

Conversation

@Priveetee
Copy link
Copy Markdown
Contributor

Refs InfinityLoop1308/PipePipe#1279

Commits

Summary

  • Add YouTube channel tab sort filters for latest, popular and oldest.
  • Load sorted channel tabs through YouTube chip continuation commands.
  • Keep separate cache URLs for each selected sort.
  • Support sorted channel tab pagination for continuation payload variants.

Why

Validation

  • ./gradlew :extractor:compileJava -x checkstyleMain
  • Tested latest, popular and oldest on YouTube channel videos.
  • Tested pagination for sorted channel tabs.
  • Tested shorts popular pagination.

Notes

  • checkstyleMain is excluded because it still fails on existing generated/repo-wide issues unrelated to this change.

@InfinityLoop1308
Copy link
Copy Markdown
Owner

Blazing fast!
I have tested it and it works great.

@InfinityLoop1308 InfinityLoop1308 merged commit fabfad0 into InfinityLoop1308:main May 23, 2026
@InfinityLoop1308
Copy link
Copy Markdown
Owner

As for the client side, I still need some time to determine the placement of this feature. We can add it in the next version since 5.1.0 is just about to be released

@Priveetee
Copy link
Copy Markdown
Contributor Author

Blazing fast! I have tested it and it works great.

Thanks a lot! Glad everything works well :D

For the UI, feel free to take some of my client changes and combine them with yours, no problem. If you got other stuff for me to do (issues or features), just hit me up, I’m down. You can also tag me directly on issues later if you want.

I’d like to be more active on the PipePipe project ! I learned a lot working on PipePipe (especially extractor) while making TypeType. Plus I’ve been following the project for like two years now, every issue and new code, so I kinda get how things work. I think I could be useful :)

@Priveetee
Copy link
Copy Markdown
Contributor Author

Also, for example if u want, I can maybe work on the download side too.

I developed a small microservice for TypeType called TypeType-Downloader to download YouTube videos.

I kinda do some frankenstein thing it with TypeType-Server to get this kind of speed. TypeType-Server is using PipePipeExtractor to get the stream infos, then TypeType-Downloader downloads the direct media streams and muxes them with one of the FFmpeg libs.

Maybe I can do something similar with PipePipe idk, u have more knowledge on this because it is different. For TypeType it is server-side and coded in Go, so I don’t know if I can do the same thing on mobile, but hey, I love asking this type of question. Maybe it could be cool :)

Here is a video for reference of TypeType-Downloader using TypeType-Server, which itself uses PipePipeExtractor (yes):
Video Of the Frankestin thing

Sorry for the audio desynchronise, it is recordly, idk why it has done such silly thing.

@InfinityLoop1308
Copy link
Copy Markdown
Owner

Ah yeah I think that's actually the correct way. If you look at the download code in PipePipe it also use ffmpeg for downloading videos from BiliBili&NicoNico. The legacy YT downloader code from NP write a downloader themselves - don't know how they did it and it's unmaintainable.

@InfinityLoop1308
Copy link
Copy Markdown
Owner

InfinityLoop1308 commented May 24, 2026

And, glad to know you have followed PipePipe for long :)

I have already cleaned and tagged the issues into the following categories: app, player, extractor, ui, filter, gesture.
Basically you can take anything you like (except a few issues that should be kept as-is), but here are some directions:

  • Gestures/Download/Filter: any. Download is a bit harder.
  • extractor: can start with #1350, #2050, #1335.
  • player: that's a hard topic, maybe start with #2190, or check bugs like #2179 and #2259.
  • ui: better not to do, I'm still thinking about many of them.
  • app: mainly bug fixes. for FRs many still needs discussing.

If you want challenging, I don't know the solutions of the following issues:

  • #2320. We still have other workarounds so that's not critical at this time though. ref: freetube (its exoplayer-amzn-2.10 claims to support SABR), LuanRT/kira (You may need this for TypeType)
  • #2185: even a way to reproduce the issue is a valuable progress
  • #1690: I can reproduce it in PP-X (although abondoned) so it's likely a exoplayer/media3 issue, but we may still want a solution

Keep in mind that these are only recommendations and are not todo list or even wishlist. Issues will never be empty - take issues freely :)

Edit: Feel free to ping me if needed.

@Priveetee
Copy link
Copy Markdown
Contributor Author

Thanks a lot for the detailed response, that really means a lot to me!

And thanks for the tip about LuanRT/kira, I didn't know about it but I'll definitely check it out for TypeType! It looks super interesting, especially for bypasses and streaming :D

I’ll go through the issues you suggested and pick one to work on. As always, I'll work on my fork and open a PR when I’m ready!

Thanks again and have a great day! :)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants