iBicha / playlet

The unofficial, privacy driven, YouTube client for Roku
GNU Affero General Public License v3.0
308 stars 11 forks source link

Sort channel videos #326

Closed micahmo closed 6 months ago

micahmo commented 6 months ago

I apologize if this issue has already been mentioned, but I couldn't find it anywhere, including the roadmap.

I would love the ability to sort videos on a channel page, by "Newest", "Most Popular", and "Oldest" as seen in the YouTube UI and other front-ends like FreeTube.

image

iBicha commented 6 months ago

Thanks for the suggestion. I had this on my mind but it wasn't prioritized yet.

There are multiple sorting fields for each channel feed:

I'm sure only some of these are implemented by Invidious, not all. I'll take time to evaluate what works and what doesn't in Invidious (and maybe fix what's missing) then add all sorting options to Playlet in one shot if possible (since the work seems similar for each item)

iBicha commented 6 months ago

I was able to whip something up quickly using existing sort options #327 Only filters on videos and playlists are available (that's what's currently implemented on Invidious) But I did not introduce new UI (yet) since I need to figure out how to surface sort options per feed. Instead, right now you just long press ok on a video (or playlist) and you'd see an option to sort at the bottom of the list. Not perfect, but it does the job until a design is in place. sort1 sort2

micahmo commented 6 months ago

Oh man that was so fast and looks great! I would be totally happy with having this option only available in the long-press menu for now. Maybe in the future there could be a Sort button next to Subscribe? But I understand it would have to be per media type. Maybe the single popup dialog could have the sorting options for all of the types?

Anyway, thank you so much for looking at this!

iBicha commented 6 months ago

You're welcome! The problem with this context menu approach is that it's "invisible" so you can't use it unless you know about it. Adding the button next the subscribe button might not be enough for sorting each item. I need to add buttons next to the title of each section (where sorting is available) - but this needs way more work than it needs to be because of a limitation in Roku's RowList.

Maybe the single popup dialog could have the sorting options for all of the types?

It could be, but needs a good UX (e.g. from playlists, I don't want to go all the way up to open the dialog, sort playlists, then go back down to see the playlists - it needs to be simpler)

micahmo commented 6 months ago

The problem with this context menu approach is that it's "invisible" so you can't use it unless you know about it.

Oh totally! But sometimes having a feature that's hard to use/find is better than not having it at all. Of course, that call is yours to make.

from playlists, I don't want to go all the way up to open the dialog, sort playlists, then go back down to see the playlists

Good point! But it would at least provide some visibility for the feature.

Anyway. you know the Roku architecture best, so I'm not in the best position to make suggestions. 😊 Good luck figuring out the best approach, and thanks again!

iBicha commented 6 months ago

Ok so I'll merge this change for now, until I figure out a better way. Thanks!

micahmo commented 6 months ago

Thank you!!

micahmo commented 6 months ago

I know you haven't made a new release yet, but how long do releases usually take to make it to the Roku store? I installed the latest and it seems to only be 0.19.

iBicha commented 6 months ago

I know you haven't made a new release yet, but how long do releases usually take to make it to the Roku store? I installed the latest and it seems to only be 0.19.

That's quite normal. Playlet version does not always match the latest, as I don't push it to the store consistently. What matters is Playlet Library version, which should match whatever in https://github.com/iBicha/playlet/releases (right now the latest is v0.21.2).

Releasing a version is done when things are ready. When a feature is ready, or when an urgent fix is needed. No specific schedule, as you can see from the dates of previous versions.

But anything merged to the main branch is immediately available in the Canary version (see instructions on how to install it) This version might be less stable and not yet tested enough, but it will contain the latest changes (such as sorting channel videos)

iBicha commented 6 months ago

This feature is now released in latest 0.22.0