streamlink-twitch-gui icon indicating copy to clipboard operation
streamlink-twitch-gui copied to clipboard

Fade out blacklisted channels and games

Open RomanKornev opened this issue 5 years ago • 2 comments

Feature request

  • [x] I understand the difference between Streamlink and Streamlink Twitch GUI.
  • [x] This is a feature request and I have read the contribution guidelines.

Description

I understand that we cannot have local stream filtering due to Twitch API not supporting it - explained in https://github.com/streamlink/streamlink-twitch-gui/issues/151#issuecomment-183581175. But what about having a local blacklist filter and then fading out any streams that are in the blacklist instead of straight up removing. The number of items doesn't change and it would behave identically to the language filter set to "Fade out streams". Visually, fade out works extremely well and I would consider it a nice compromise.

We can use the existing settings Channels tab and filter on a per-channel basis. Or create a new tab Blacklist for a list of streamers and games. Also, we can have right click menu items "Hide channel" and "Hide game".

Additional comments, screenshots, etc.

I would look into it myself, but I don't have a lot of experience with JS and have no idea where to even start looking.

Inspired by https://github.com/r3t3ch/hide-unwanted-streams-on-twitch

Related #199 #193 #421 #320 #364

RomanKornev avatar Feb 09 '19 17:02 RomanKornev

Hey @bastimeyer , I'd be interested in working on this issue. Would you be willing to accept this as a feature? Is there anything I should keep in mind while developing?

jpmacarthur avatar Nov 18 '21 23:11 jpmacarthur

No offense, but that would very like just be a massive waste of time for you unless you have experience with the old version of Ember and EmberData that are currently still being used here (with the custom unique build config).

For the implementation itself, you'd have to create the data models, serializers and adapters for the hide-list, update existing models with proper data relations, add an instance initializer for loading the hide-list, update the stream and game list components and routes, make it so that there's not performance degradation when there's lots of data stored on the block list, update the components for the context menu stuff, add another submenu route to the settings menu for being able to manage the hide-list, and then add tests for all the changes.

Since there will be massive changes to most data models, components and routes regarding the Twitch helix API "upgrade" very soon (I have to finish this until the end of February), you'd run into lots of merge conflicts in case you manage to submit a pull request that's decently acceptable.

TL;DR it's not worth the effort for you

bastimeyer avatar Nov 18 '21 23:11 bastimeyer