kwaschny / unwanted-twitch

Hide unwanted streams, games, categories and channels on: twitch.tv
https://kwaschny.net
MIT License
104 stars 13 forks source link

mark hiden streams as "not interested" #55

Closed MubarakHAlketbi closed 3 years ago

MubarakHAlketbi commented 3 years ago

does the addon support this? i would like it to put any stream i press X on as not interested in my settings.

kwaschny commented 3 years ago

As far as I can see, there is no official API yet and the button doesn't exist everywhere to simulate clicking on it. So that's a "no" for now.

TomasHubelbauer commented 2 years ago

Hey, I hide categories of all games (I watch Twitch for non-gaming streams) and tags for all languages I do not understand. With such a large number of ignored entries, the extension blocks the browser tab for several seconds at a time whenever a new page of the infinite scroll functionality is fetched.

I am not sure if this is because of the time it takes to filter the responses or because some responses are ignored wholesale and there's multiple "pages" of infinite scroll that are fetched and dropped.

In any case, if there was a way to send the Not Interested signal to Twitch as games, tags and categories are blocked, and the Twitch recommendations were tuned as a result, the amount of data to filter and the amount of dropped pages would be much lower and the performance better.

I checked the network activity and it seems as though Twitch uses GraphQL and whenever the drop-down Not Interested item is clicked, a GQL endpoint is hit:

image

I am aware my use case is rather niche, however, I still hope you might reconsider attempting to simulate the Not Interested drop-down item click as it could improve the performance of the extension for everyone with moderately large block-lists.

TomasHubelbauer commented 2 years ago

I've prototyped a way the Twitch GQL API could be used to invoke the Not Interested functionality just based on the item ID of the category which I believe your extension should have access to from the DOM or the server responses:

https://github.com/TomasHubelbauer/twitch-not-interested/blob/main/readme.md#recap