Twitch Quest Fixer (GitHub Code v3 w/Permissions Fix)
Update: you probably don't need this anymore as the Twitch extension update was accepted
Unless you haven't visited Alienware Arena for the past month or whatever, you know that Twitch broke Twitch Quests. I've been using some hacky code I threw together that loads the part that tells Alienware Arena that you're watching a stream, instead of relying on Twitch to do it. It's worked for me the entire time Twitch Quests have been broken, except for the 1-2 weeks when Alienware Arena servers had an issue. I've shared the code in several forum threads (somehow there's 15+ about this issue) and it seems to have helped a lot of people, with one exception: it couldn't help people who disconnected the Alienware Arena extension from their Twitch account.
I haven't done a massive amount of testing, but the new code attempts to automatically grant access to Alienware Arena if needed and should work for anyone who links their Twitch account in their Alienware Arena account settings. If it doesn't work for you, please leave a reply with a screenshot of your browser console.
- Go to https://gist.github.com/jkmartindale/c2a2cb83e6a2e889c7e3aa7b37b5fedc and copy the code. If you have trouble, click Raw and select all.
- On the Twitch stream page, scroll down to load the extension panels.
- Use Ctrl+Shift+J (Chrome-based browsers) or Ctrl+Shift+K (Firefox) to open the browser console. You can also do this through the browser menu but if you do this every day you'll memorize the keyboard combo quickly.
- Paste the code into the console and hit Enter. You can close the console if you'd like.
You can also directly open the console and press the up arrow on your keyboard to bring up the last code you pasted, then hit enter to run it again.
This code doesn't fix the appearance of the Alienware Arena stream panel, but ARP should start to trickle in. It should be possible to change the panel appearance but that takes time and I wanted to focus on getting the code working for people who need help reauthorizing Alienware Arena with Twitch. Status messages will appear in the console.
How is this different from other solutions?
I don't know why this happens, but the issue comes from Twitch sometimes deciding that the Alienware Arena extension files don't exist (404 errors). It seems to happen randomly and at different times for different people, but luckily it's not permanent. The problem is that your browser, to speed up webpage loading times, remembers ("caches") server responses for a certain period of time. If Twitch says the extension doesn't exist, your browser will remember that even when Twitch happily serves up the extension and your browser will just not load it until the cache expires.
Every other solution posted in the forums is a trick to get around the cache. All of these tricks do the same thing:
- Changing Twitch website language (the language is part of the URL used to load the extension, and a different URL means it won't be cached...yet)
- Changing browser
- Using incognito (sometimes)
- Clearing cache in your browser
That's why different people get different results with different languages and browsers. It doesn't matter which you use, as long as it's different. But bypassing/clearing the cache only works when Twitch isn't barfing 404 errors, whereas the code I wrote doesn't rely on Twitch setting things up.
Why isn't Alienware Arena using this code?
It's not their issue. The official statement is that Twitch changed something with their API that broke stuff, and even though Alienware Arena pushed a fix they have to wait for Twitch to approve it. This code is just a big wrapper around Alienware Arena's code to replicate what Twitch does when it loads the extension, and it actually doesn't work when it's Alienware Arena's fault.
Can I trust this code?
You should always be wary of code people tell you to paste in your browser console, since that code can act as you and potentially steal info or take over your account. I tried to balance the code between readable and short, and you can compare it against the original extension code that Twitch is supposed to load: https://ehc5ey5g9hoehi8ys54lr6eknomqgr.ext-twitch.tv/ehc5ey5g9hoehi8ys54lr6eknomqgr/1.0.0/361e558ed213dda8e3ed6a8e8d761431/js/rewards-tracker.js.
I'm also happy to talk about how this works if anyone is curious, though that's probably better left out of what is already a way too long OP.