kwaschny / unwanted-twitch

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

Hide unwanted streams, games, categories, channels and tags on: twitch.tv

UnwantedTwitch

Download

Project status

Please note that this extension is in maintenance mode. I will no longer work on new features. However, I will continue to fix issues related to changes on Twitch up to the point where Twitch releases a complete redesign of their website. You can still contribute by translating the extension in your language.

Features

Supported pages

Note about breaking changes on twitch.tv

Twitch is infamous for changing their website without further notice, which may break this extension over night. Twitch also serves different canary builds (previews of potential future versions) to selected/random users for up to 4 weeks, which most likely break parts of the extension. If you notice pages no longer working properly, disable the extension, report the issue and wait for an update. Note that updates may take a few days to be approved on the corresponding browser stores. Keep an eye on the GitHub commits or follow me on Twitter to receive news regarding new versions.

FAQ / Troubleshooting

There are no X buttons visible anywhere?

(Firefox) The extension icon is nowhere to be found?

Why do special characters in blocked items disappear?

What's the maximum number of items I can block?

Channel still show up although I blocked one of the tags?

Whatever I try to block, the entry is never saved to the blacklist?

Are you accessing my Twitch profile in any way?

Contributing to this extension

Regardless if you are a regular user or a developer yourself, check out the contribution page for information about how you can help this project.

Translations

Language Translator
English kwaschny
German kwaschny
Spanish JoseSM
Polish de_oScar
Portuguese sealestial

How it works

The extension is loaded after the requested twitch.tv page is fully served and completely relies on the present DOM. It adds button controls to specific nodes that can be used to add the underlying item to the blacklist. The blacklist is held in the storage, either local or synced (can be adjusted in the settings). Once there are items on the blacklist, supported pages are filtered by going through item nodes, matching game/category, channel or tags. A successful match hides the topmost node and marks it as being hidden. Most detections are interval based node comparisons instead of observing mutations in the DOM (I find it more consistent, especially because of the seamless page navigation on Twitch), that's why you might notice a minor flicker effect once in a while.