futo-org / grayjay-android

Read-only mirror of Grayjay repo for issue tracking
https://gitlab.futo.org/videostreaming/grayjay
Other
661 stars 41 forks source link

Unselecting Subscription Settings Doesn't Affect Fetch #289

Open BlazingSalvo opened 10 months ago

BlazingSalvo commented 10 months ago

On my Creators tab, I'm slowly rebuilding and migrating all the creators I follow from other platforms.

In a creator's Subscription Settings, I noticed that the toggles for "Livestreams", "Streams", "Videos", and "Posts" are preceded by the text, "Depending on the platform, you might not need to enable a type for it to be available."

That's weird, I don't care so much about things being available as I care about them NOT being available.

Scenario 1: I follow penguinz0 on YouTube and his Twitch channel moistcr1tikal. Livestreams is toggled on for TTV Moistcrit1kal and off for YT penguinz0. When Charlie simulcasts, both streams show up in GrayJay subscriptions even though YouTube livestreams should be toggled off.

Scenario 2: I follow Trick2G on Twitch. I have Livestreams toggled on and streams, videos, and posts toggled off. Trick streams 8 hours then clips each 30 minute game into its own video, completely filling my GrayJay subscription feed even though Twitch videos should be toggled off.

Scenario 3: I follow potentially NSFW Youtube channel and want their profile icon to be clickable at the top of my Subscriptions tab, but not show any videos right in the feed. I toggle everything off. All content still appears in feed as normal.

Kelvin-FUTO commented 9 months ago

This is mostly confusion in how the underlying system works. Plugins can define certain capabilities to which they can respond. For example, Youtube supports 2 capabilities "Streams" and "Videos". Livestreams actually fall under streams. Most other plugins don't have such differentiation and put everything on 1 big pile. Posts is not implemented for most platforms (Planned for Youtube).

The original goal of these settings where to reduce the amount of requests made for updating your subscriptions, not about actually viewing them. We will need to improve UI, perhaps hide options if platforms don't support it anyway.

To take your penquinz example. You'd turn off "Streams" on YT, this prevents it from fetching any new vods, which also includes livestreams. Note that we might cache some data, so it would mostly apply to newer stuff.

The reason livestreams is defined seperately right now is because there was a point in the past where this was required for Youtube, since then this was optimized out.

We could use these settings to filter out results as well, but that was not the original goal of these settings.

I hope this clears it up a bit.