Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Streams aren't sorted by viewers - Seems random #699

Closed
ZMOT7S opened this issue Jan 17, 2020 · 9 comments
Closed

Streams aren't sorted by viewers - Seems random #699

ZMOT7S opened this issue Jan 17, 2020 · 9 comments

Comments

@ZMOT7S
Copy link

ZMOT7S commented Jan 17, 2020

Bug report

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

Environment details

Operating system and version:
Windows 10 1903

Streamlink Twitch GUI version:
1.9.0

Streamlink version:
1.3.0

Configuration details:
No custom parameters or anything. Pretty much all default settings.

Description

When I click Followed Streams, the order of viewers is random instead of high to low. This just started today. First stream has 826 viewers, second has 1684, third has 32.2k, 4th has 98, and 5th has 696 etc...

Expected / Actual behavior

Streams should be listed high to low.

Reproduction steps

Not really sure how to reproduce. Yesterday it was fine, today it was messed up. I didn't change anything, just shutdown the PC overnight.

Log output

Let me know if you need a log.

REPLACE THIS TEXT WITH THE LOG OUTPUT

Additional comments, screenshots, etc.

https://i.imgur.com/xrmoBy7.png

@bastimeyer
Copy link
Member

bastimeyer commented Jan 17, 2020

It's an issue on Twitch's end which they have to fix. I've already opened a thread on Twitch's dev forums here to let them know:
https://discuss.dev.twitch.tv/t/kraken-streams-followed-not-ordered-by-viewers/23772

@arrowgent
Copy link

came to check on this and report the same thing...

streamlink twitch gui 1.9.0

linux

@bastimeyer
Copy link
Member

Like I've said, Twitch has broken the API endpoint for getting the followed streams and is ignoring it, as usual. They don't seem to care anymore about their deprecated kraken API or 3rd party app developers in general. This is worrying, especially because their new helix API is still a total disaster (you can't even get the streams of your followed channels/users there without doing some very stupid request chains, while being rate-limited). I could rant for an hour now, but it's just not worth my time. If you want this to be fixed, and I'm not just talking about Streamlink Twitch GUI but all applications using the kraken API, then go and ask the Twitch devs. On the linked dev forums thread from above, I've suggested a sorting request parameter, in case this change was intended, as it doesn't exist on the specific API endpoint but does exist on other ones. A simple revert of the change would also be fine. Let's see if we will get a reply.

In case they're not going to fix this, a workaround for the issue could be changing the model hook of the UserFollowedStreams route, so that it will fetch every stream record possible and will then sort and filter/slice the list (via the infinite scroll mechanic) afterwards locally. This is far from ideal and would also mean that loading the followed streams menu would take a bit longer due to the increased amount of API requests. I will not implement such a stupid workaround though until I can be sure that this change was intentional.

@ZMOT7S
Copy link
Author

ZMOT7S commented Jan 18, 2020

Any idea what I should comment? "Please bring back this sorting feature?" I'm not a developer/programmer so I can't really say much on the technical side of it. I would like to be another voice though so maybe they will look in to it.

@bastimeyer
Copy link
Member

I've pushed the sorted-followed-streams branch to the repo. This will get merged into master if the API won't have been fixed in the next couple of days or if they still haven't reponded by then. It's currently weekend, so I don't expect them to do any bugfixing right now. Should the API be fixed once this was merged and published in a new release, then it should be fine too, as it won't make a difference then other than being an inefficient implementation.


If one is terribly annoyed by the unsorted followed streams list, they can build the app themselves now from the sorted-followed-streams branch. Just follow the build guide or run the following commands if you already got Git, NodeJS and Yarn installed.
https://github.com/streamlink/streamlink-twitch-gui/blob/master/CONTRIBUTING.md#developing-and-building

git clone https://github.com/streamlink/streamlink-twitch-gui.git
cd streamlink-twitch-gui

git fetch origin
git checkout origin/sorted-followed-streams

yarn global add grunt-cli
yarn install --pure-lockfile

grunt release
# see built app in ./build/releases/

@Zanndorin
Copy link

Love finding that my issues are "fixed" already when I search for them. You are doing a great job bastimeyer.

@arrowgent
Copy link

and suddenly.... the followed list is back to sorted by viewers...
thanks twitch...

@arrowgent
Copy link

WHOOPS! spoke too soon. refreshed my list again and it borked...
NotLikeThis

@bastimeyer
Copy link
Member

I've decided to finally merge the workaround now as Twitch hasn't responded after two weeks. To be honest, this workaround, or actually something similar, will be needed if I "upgrade" to the new helix API, as followed streams have to be requested in a similar way then.

A new Streamlink Twitch GUI release will be published soon, but that depends on the next Streamlink release due to a breaking change of the MPV player and how it parses its command line parameters. Customizable hotkeys which I had been working on a few weeks ago won't be included though as a couple of things are still missing, as I've mentioned in the related issue of that new feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants