gilcu3 / hullcaster

Terminal-based podcast manager built in Rust
GNU General Public License v3.0
6 stars 1 forks source link

[feature request] 'new episodes' view across podcasts? #3

Closed KiaraGrouwstra closed 2 months ago

KiaraGrouwstra commented 3 months ago

hi there, thanks for working on hullcaster. :) i've been enjoying using the application, but after importing some more podcasts to it, found myself a bit overwhelmed looking for new episodes: while i'd have many podcasts, i wouldn't be sure which ones have new episodes. would you consider perhaps having a view that lists episodes by recency across different podcasts?

gilcu3 commented 3 months ago

Indeed, that's something that should certainly be added. I have most trouble figuring out where to put the UI for it. Do you have any idea in mind?

KiaraGrouwstra commented 3 months ago

i suppose in such a view the present Details and Queue panes would remain relevant, whereas i imagine this view to kind of serve as an alternative to the present Episodes pane. perhaps we could say have a keyboard shortcut toggling between episodes vs this view for the left pane then?

gilcu3 commented 2 months ago

There used to be something like that in the original shellcaster, although it would just filter the view and leave element with unread items only. What you propose seems better. A global key (u from unread) would change the left panel from Podcasts/Episodes to a list of unread Episodes ordered by date. I will give it a try and get back here for feedback.

gilcu3 commented 2 months ago

@KiaraGrouwstra I just pushed initial support for this feature in 00e117827b842afb1514d6d10daca5cc075c49d8. It should work when the podcast list is active and u is pressed by default. Could you test it (current develop branch) and let me know if you find bugs or unexpected behaviors?

KiaraGrouwstra commented 2 months ago

@gilcu3 thanks! a few thoughts about it:

i realize this might be a lot 😅, but hopefully some of it might be useful

gilcu3 commented 2 months ago

Thanks for the comments, I will try to reply one by one.

KiaraGrouwstra commented 2 months ago

hm, looks like my podcasts may still be syncing, i'll check back on publication date, might be ok.

here's a screenshot demonstrating the new view taking up less space for me than its parent view:

image

gilcu3 commented 2 months ago

I was able to reproduce that bug only after resizing the window.

Everything should be fixed in the current HEAD 8486700 of the develop branch. Let me know if I missed anything.

KiaraGrouwstra commented 2 months ago

nice! this def addresses it, i'd gladly see this merged. 😍

KiaraGrouwstra commented 2 months ago

as a nitpick, i'm finding myself manually marking played episodes as marked, i.e. for every episode in the list i would invoke both e to enqueue and m to remove them from the list of new episodes. UX-wise i wouldn't mind if enqueuing perhaps would marked as played as well, tho i'm not sure if everyone would feel that way. kinda minor gripe tho either way.

gilcu3 commented 2 months ago

At least on my own use case that would not totally work, as I use the sync feature with AntennaPod on Android and therefore only want to mark something as read when it is actually read.

Syncing the queue is a long term issue with the gpodder API, that should be solved once the new OpenPodcasts API becomes stable.

There is an option to mark an episode as read when it is played, maybe enabling that might feat your use case a bit better?

KiaraGrouwstra commented 2 months ago

oo nice. i've been using antennapod myself as well, so i should prob try that out too. :smile_cat:

the manual mark as read is fine, yeah. feel free to close this. :)

gilcu3 commented 2 months ago

@KiaraGrouwstra you were right, today I hit the sort by recency bug, it would happen when only adding a new podcast with older episodes. Should be fixed in be5964c!