Skip to content

Favourites not sorted alphabetically, in fact in somehow random order #2965

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

Closed
sluedecke opened this issue Aug 7, 2023 · 4 comments · Fixed by #3283
Closed

Favourites not sorted alphabetically, in fact in somehow random order #2965

sluedecke opened this issue Aug 7, 2023 · 4 comments · Fixed by #3283
Labels
bug:confirmed Something isn't working.

Comments

@sluedecke
Copy link
Contributor

Describe the bug

Favourites are not sorted alphabetically. When refreshing the library, the sort order changes:

After starting heroic:

image

After refreshing the library:

image

neither order is alphabetically, both seem random to me.

Add logs

(14:05:23) INFO:    [Legendary]:        Running command: XDG_CONFIG_HOME=/home/saschal/.config/heroic/legendaryConfig /opt/Heroic/resources/app.asar.unpacked/build/bin/linux/legendary --version
(14:05:23) INFO:    [Legendary]:        Legendary location: /opt/Heroic/resources/app.asar.unpacked/build/bin/linux/legendary
(14:05:23) INFO:    [Gog]:              GOGDL location: /opt/Heroic/resources/app.asar.unpacked/build/bin/linux/gogdl
(14:05:23) INFO:    [Connection]:       Connectivity: check-online
(14:05:23) INFO:    [Connection]:       Pinging external endpoints
(14:05:23) INFO:    [Nile]:             Refreshing library...
(14:05:23) INFO:    [Nile]:             Refreshing Amazon Games...
(14:05:23) INFO:    [Nile]:             Running command: XDG_CONFIG_HOME=/home/saschal/.config/heroic/nile_config /opt/Heroic/resources/app.asar.unpacked/build/bin/linux/nile library sync
(14:05:23) INFO:    [Nile]:             Game list updated, got 0 games
(14:05:23) INFO:    [Backend]:          DRM module staus {
  "oimompecagnajdejgnnjijobebaeigek": {
    "name": "Widevine Content Decryption Module",
    "status": "new",
    "version": "4.10.2557.0"
  }
}
(14:05:23) WARNING: [Backend]:          Protocol already registered.
(14:05:23) INFO:    [Gog]:              Running command: /opt/Heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/saschal/.config/heroic/gog_store/auth.json --version
(14:05:23) INFO:    [Connection]:       Connectivity: online
(14:05:23) INFO:    [Gog]:              Checking if login is valid
(14:05:23) INFO:    [Gog]:              Running command: /opt/Heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/saschal/.config/heroic/gog_store/auth.json auth
(14:05:23) INFO:    [Backend]:          AreWeAntiCheatYet data downloaded
(14:05:23) INFO:    [Nile]:             Running command: XDG_CONFIG_HOME=/home/saschal/.config/heroic/nile_config /opt/Heroic/resources/app.asar.unpacked/build/bin/linux/nile --version
(14:05:24) INFO:    [Gog]:              Saved username to config file
(14:05:25) INFO:    [Backend]:          

Heroic Version: 2.9.1 Boa Hancock
Legendary Version:  0.20.32 Dark Energy (hotfix #6)
GOGdl Version: 0.7.3
Nile Version: 1.0.0 Jonathan Joestar

Electron Version: 24.4.1
Chrome Version: 112.0.5615.204
NodeJS Version: 18.14.0

OS: Arch Linux KERNEL: 6.4.7-arch1-1-g14 ARCH: x64
CPU: Intel Gen Intel® Core™ i9-13900H @2.17 GOVERNOR: powersave
RAM: Total: 30.98 GiB Available: 22.4 GiB
GRAPHICS: GPU0: Raptor Lake-P [Iris Xe Graphics]  VRAM: 256MB GPU1: NVIDIA GeForce RTX 4070 Laptop GPU VRAM: 8188MB DRIVER: 535.86.05
PROTOCOL: x11

(14:05:25) INFO:    [Backend]:          Loading Screen Ready
(14:05:25) INFO:    [Nile]:             Saved user data to config file
(14:05:25) INFO:    [Frontend]:         Refreshing undefined Library
(14:05:25) WARNING: [Backend]:          refresh not implemented on Sideload Library Manager
(14:05:25) INFO:    [Gog]:              Running command: /opt/Heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/saschal/.config/heroic/gog_store/auth.json auth
(14:05:25) INFO:    [Legendary]:        Refreshing library...
(14:05:25) INFO:    [Legendary]:        Refreshing Epic Games...
(14:05:25) INFO:    [Nile]:             Refreshing library...
(14:05:25) INFO:    [Nile]:             Refreshing Amazon Games...
(14:05:25) INFO:    [Nile]:             Running command: XDG_CONFIG_HOME=/home/saschal/.config/heroic/nile_config /opt/Heroic/resources/app.asar.unpacked/build/bin/linux/nile library sync
(14:05:25) INFO:    [Nile]:             Game list updated, got 0 games
(14:05:25) INFO:    [Legendary]:        Game list updated, got 7 games & DLCs
(14:05:25) INFO:    [Backend]:          Frontend Ready
(14:05:25) INFO:    [Backend]:          Checking for current version changelog
(14:05:25) INFO:    [Winetricks]:       Downloading Winetricks
(14:05:25) INFO:    [Legendary]:        Running command: XDG_CONFIG_HOME=/home/saschal/.config/heroic/legendaryConfig /opt/Heroic/resources/app.asar.unpacked/build/bin/linux/legendary list --third-party
(14:05:25) INFO:    [Gog]:              Getting GOG library
(14:05:25) INFO:    [Gog]:              Running command: /opt/Heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/saschal/.config/heroic/gog_store/auth.json auth
(14:05:26) INFO:    [Gog]:              Running command: /opt/Heroic/resources/app.asar.unpacked/build/bin/linux/gogdl --auth-config-path /home/saschal/.config/heroic/gog_store/auth.json auth
(14:05:29) WARNING: [Backend]:          No clientId in goggame-1207663333.info file. Cannot resolve save path
(14:05:30) INFO:    [Backend]:          Starting the Download Queue
(14:05:34) INFO:    [Gog]:              Saved games data
(14:05:34) WARNING: [Backend]:          listUpdateableGames not implemented on Sideload Library Manager
(14:05:39) INFO:    [Gog]:              Found 3 game(s) to update
(14:05:39) INFO:    [Legendary]:        Checking for game updates: XDG_CONFIG_HOME=/home/saschal/.config/heroic/legendaryConfig /opt/Heroic/resources/app.asar.unpacked/build/bin/linux/legendary list --third-party
(14:05:40) INFO:    [Legendary]:        Found 0 games to update
(14:05:40) INFO:    [Nile]:             Looking for updates...
(14:05:40) INFO:    [Nile]:             Running command: XDG_CONFIG_HOME=/home/saschal/.config/heroic/nile_config /opt/Heroic/resources/app.asar.unpacked/build/bin/linux/nile list-updates --json
(14:05:41) ERROR:   [Frontend]:         Error: Error invoking remote method 'checkGameUpdates': SyntaxError: Unexpected end of JSON input
(14:05:41) INFO:    [Frontend]:         No cache found, getting data from nile...
(14:05:41) INFO:    [Nile]:             Refreshing library...
(14:05:41) INFO:    [Nile]:             Refreshing Amazon Games...
(14:05:41) INFO:    [Nile]:             Running command: XDG_CONFIG_HOME=/home/saschal/.config/heroic/nile_config /opt/Heroic/resources/app.asar.unpacked/build/bin/linux/nile library sync
(14:05:41) INFO:    [Nile]:             Game list updated, got 0 games

Steps to reproduce

  1. Start heroic
  2. Mark some games as favourite
  3. Set Library Top Section in settings to "Favourite Games"

Expected behavior

Favourites games ordered alphabetically by game name

Screenshots

See problem description

Heroic Version

Latest Stable

System Information

  • Arch Linux

Additional information

No response

@sluedecke sluedecke added the bug:unconfirmed Someone works on identifying the issue label Aug 7, 2023
@AustinDNelson
Copy link

Is it by play order or install order?

@sluedecke
Copy link
Contributor Author

Neither, it varies and changes whenever I return from a game or run library refresh.

@arielj
Copy link
Collaborator

arielj commented Aug 12, 2023

we currently seem to have no specific order, from what I see in the code the order depends on:

  • first epic games
  • then gog games
  • then sideloaded games
  • then amazon games

for each store, the games are ordered depending on the order we get them in the list of games

for GOG games, it varies a lot because we actually fetch some of the games info async and every time we refresh requests can finish at different times (only GOG games seems to be moving all around after each refresh)

now the question is, what's the right criteria to order them? alphabetically? order when they were added to favorites? installed first? should we follow the same criteria defined for the library itself?

A note: easiest way to reproduce this is:

  • add some games to favorite (make sure to add some GOG games)
  • refresh the library (every time that's done gog games are shuffled)

@arielj arielj added bug:confirmed Something isn't working. and removed bug:unconfirmed Someone works on identifying the issue labels Aug 12, 2023
@sluedecke
Copy link
Contributor Author

IMHO sorting the favorites by name is sufficient. I don't care which store they are from (I use heroic to not have to bother about that), I just want to quickly find (at the same position ideally) the game I want to play.

It would be consistent with the current UI placements if this list follows the search filter which can limit to store / platform by using these buttons from the top right:
image

Filtering by state / hide and show things from the favorite section would be too much for my personal use case, these are already affecting the library section only:

image

PS: there is a way to have a sorted list of favorites: just click the heart button on the library filter section. Then I can use ALL available filtering options.

sluedecke added a commit to sluedecke/HeroicGamesLauncher that referenced this issue Dec 1, 2023
arielj pushed a commit that referenced this issue Dec 8, 2023
Sort favourites alphabetically (##2965)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug:confirmed Something isn't working.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants