-
-
Notifications
You must be signed in to change notification settings - Fork 210
Description
2022 is here and Twitch's kraken v5 API will finally be shut down at the end of February. The switch towards the helix API hasn't been done yet here, which is mainly due to helix not being that great and due to the extension of kraken's lifespan when the shutdown was first announced in 2018. I've been procrastinating the transition in the past couple of months, and the reason for that is that there will be some changes which I'm not happy about and I didn't want to publish a release with these changes sooner than necessary.
There's already the existing thread #599 for the API switch which was made in 2018, but let's close this one and create a new one.
As said, I've been a bit lazy with the API changes, and that's because the switch to helix will introduce some more limitations for Streamlink Twitch GUI. Twitch has already removed lots of stuff from their kraken API last year and hasn't added missing features to helix which they've promised multiple times in the past years. The whole story is rather long and doesn't have to be described in detail in this thread.
The biggest limitation will probably be the authentication, which will now be mandatory for all API requests, so third party applications like this won't be able to retrieve data without user logins anymore. There's also no 1:1 mapping for all API endpoints, so this will result in some feature removals. The stuff is documented on the following site, but that doesn't include everything.
https://dev.twitch.tv/docs/api/migration
I will be focusing on implementing helix this month, so a new major release of Streamlink Twitch GUI can be published with all the necessary changes before the kraken API will be shut down. According to Twitch, they will test the kraken API shutdown sporadically in February, but I hope that I'll have completed the switch by then.
My motivation for working on Streamlink Twitch GUI has been fading more and more though. There's a ton of technical debt which already annoyed me years ago, but overcoming this is pretty much impossible without a full rewrite based on different tech. This is a bottomless pit of work and implementing the helix API changes on the old code is even more annoying, especially when features have to be removed once again. I've been working on this project now since 2013, completely on my own without much help from others apart from translations, mainly because I didn't choose "the cool meme stuff" when it was all new back then and which has then become the "industry standard" today. I've already tried modernizing the code base last year and the year before that, but I never managed to complete it (#737). This is so much work with little gains. It is ungrateful, unpaid and with lots of responsibilities because the app has ten thousands of active users who simply don't want to use the Twitch website for watching streams. Even though I've learned a ton of stuff, it has stopped being fun a long time ago.
Pull request with checklist here:
#852