HeroicGamesLauncher
HeroicGamesLauncher copied to clipboard
Discrepancy in game count between All games and sum of epic and gog
Describe the bug
In the library, all games show 294 while epic + gog is 262+31 = 293. All Games therefore count one more than the sum of its part.
While filtering, I find a more precise with a cont of 3 shown in all Games, only 2 games presents in the list and a count of 2 in Epic, 0 in Gog.
When I try to check my epic purchase history I find only the two games displayed. (The method I found to check independently the number of games.) I didn't find a way to check all the DLCs I own (see speculation in additional info).
I am on the flatpak version 2.4.3.
Add logs
(01:34:40) INFO: [Legendary]: Running command: /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary --version
(01:34:41) INFO: [Legendary]: Legendary location: /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary
(01:34:41) INFO: [Gog]: GOGDL location: /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl
(01:34:41) INFO: [Backend]:
Heroic Version: 2.4.3 Chopper
Legendary Version: 0.20.28 Dark Energy (hotfix #2)
OS: Freedesktop SDK KERNEL: 5.19.13-200.fc36.x86_64 ARCH: x64
CPU: Intel Core™ i7-1065G7 @1.3 GOVERNOR: powersave
RAM: Total: 15.4 GiB Available: 12.23 GiB
GRAPHICS: GPU0: Iris Plus Graphics G7 VRAM: 256MB DRIVER:
PROTOCOL: wayland
(01:34:41) INFO: [Gog]: Getting data about the user
(01:34:41) WARNING: [Backend]: Failed to register protocol with OS.
(01:34:41) INFO: [Backend]: AreWeAntiCheatYet data downloaded
(01:34:41) INFO: [Gog]: Saved user data to config
(01:34:42) INFO: [Frontend]: Refreshing Library
(01:34:42) INFO: [Legendary]: Refreshing library...
(01:34:42) INFO: [Legendary]: Refreshing Epic Games...
(01:34:42) INFO: [Gog]: Getting GOG library
(01:34:42) INFO: [Gog]: Number of library pages: 1
(01:34:42) INFO: [Legendary]: Running command: /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary list
(01:34:43) INFO: [Gog]: Saved games data
(01:34:44) INFO: [Legendary]: Updating game list
(01:34:44) INFO: [Legendary]: Game List Updated
(01:34:44) INFO: [Backend]: Downloaded Winetricks
(01:34:44) INFO: [Legendary]: Checking for game updates.
(01:34:44) INFO: [Legendary]: Running command: /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary list-installed --check-updates --tsv
(01:34:45) INFO: [Legendary]: Found 0 game(s) to update
(01:34:45) INFO: [Gog]: Found 0 game(s) to update
(01:36:05) INFO: [Frontend]: Refreshing Library
(01:36:05) INFO: [Legendary]: Refreshing library...
(01:36:05) INFO: [Legendary]: Refreshing Epic Games...
(01:36:05) INFO: [Gog]: Getting GOG library
(01:36:05) INFO: [Legendary]: Running command: /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary list
(01:36:05) INFO: [Gog]: Number of library pages: 1
(01:36:06) INFO: [Gog]: Saved games data
(01:36:07) INFO: [Legendary]: Updating game list
(01:36:07) INFO: [Legendary]: Game List Updated
(01:36:07) INFO: [Legendary]: Checking for game updates.
(01:36:07) INFO: [Legendary]: Running command: /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary list-installed --check-updates --tsv
(01:36:08) INFO: [Legendary]: Found 0 game(s) to update
(01:36:08) INFO: [Gog]: Found 0 game(s) to update
(01:52:27) INFO: [Legendary]: Getting Info from Epic API
(01:52:27) INFO: [Legendary]: Getting Info from Epic API
(01:52:27) INFO: [Legendary]: Getting more details with 'legendary info'
(01:52:28) INFO: [Legendary]: Running command: /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary --pretty-json info Grunt --platform Windows --json
(01:52:36) INFO: [Legendary]: Getting Info from Epic API
(01:52:36) INFO: [Legendary]: Getting Info from Epic API
(01:52:36) INFO: [Legendary]: Getting more details with 'legendary info'
(01:52:36) INFO: [Legendary]: Running command: /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary --pretty-json info 1fe19232c0f7476a8e99fd8752e800c2 --platform Windows --json
(01:52:40) DEBUG: [Legendary]: Using cached install info
Steps to reproduce
- Go to 'Library'
- Click on 'All Games'
- Not the number displayed
- Click on 'Epic'
- Not the number displayed
-
- Click on 'Gog'
- Not the number displayed
- The number on all games might not match the sum of the numbers on the sub categories
Expected behavior
The number on all games match the sum of the sub categories, eventually excluding duplicates, but in any case be either equal or less.
Screenshots
All Games with filter :

Epic with filter :

Gog with filter :

System Information
- OS [e. g. "Ubuntu"]: fedora 36
- Heroic Version [e. g. 2.1.1]: V2.4.3 flatpak
Additional information
Speculation - first analysis
I made a quick look at the code (I never looked at it before) and I saw that in the count there seems to be a filter in what I interpret as the Epic case that exclude DLCs. I didn't quite understood the mechanism used to filter and show the game list, so I'm not sure what it include. I also couldn't check the number of DLCs I might own on the Epic Game Store.
My hypothesis is the following : this discrepancy might be something going on with the filter, maybe not filtering in all necessary cases.
Other
This bug seems low priority to me but might be a quick fix for someone familiar with the codebase and the language if I identified the good reason.
I remain available for further informations or testing, even in the future.
Hmmm I can't reproduce this. From your comment I understand you can help debugging this testing things with the code?
If so, clone the repo and go to this line https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/blob/main/src/frontend/screens/Library/components/LibraryHeader/index.tsx#L34 and before that line do console.log(list), then search az and you should see the list of games printed in the dev tools console. You can expand the games and see if there's something weird or share the output here.
Analysis
I found out the "game" causing the issue. It is a DLC as I thought it could be.
So there is the current behaviour about DLCs, as of the main branch (as of commit 820a2c5826b936127774d928483681f22d0025cb ) :
- They appear in the search bar while searching
- They are counted in the total number of game in the all games section of the library
- They are not counted in the total number of game in the epic games section of the library
- They appear in neither libraries
It appear the filter for the amount of games in the epic games section of the library can be used without restriction in every sections.
I made the change for a coherent game count in PR #1880.
Details
Here is the logging I added, with the middle line being the one causing the issue :
[36189:1007/142740.465340:INFO:CONSOLE(2)] "Game : { element : [object Object] , title : Aztez , about : [object Object] , is_dlc : false , platform : undefined , app-name : Grunt , appName : undefined , namespace 5b325322a4c04b9e9e780b9a1e9b2d70 }", source: file:///tmp/.mount_HeroicQK9Vug/resources/app.asar/build/static/js/main.c5ec903e.js (2)
[36189:1007/142740.465368:INFO:CONSOLE(2)] "Game : { element : [object Object] , title : Civilization VI : Aztec DLC , about : [object Object] , is_dlc : 1 , platform : undefined , app-name : KingletAztec , appName : undefined , namespace cd14dcaa4f3443f19f7169a980559c62 }", source: file:///tmp/.mount_HeroicQK9Vug/resources/app.asar/build/static/js/main.c5ec903e.js (2)
[36189:1007/142740.465388:INFO:CONSOLE(2)] "Game : { element : [object Object] , title : Mutazione , about : [object Object] , is_dlc : false , platform : undefined , app-name : 1fe19232c0f7476a8e99fd8752e800c2 , appName : undefined , namespace 5645a537b6a44f6f82d122729f3253ed }", source: file:///tmp/.mount_HeroicQK9Vug/resources/app.asar/build/static/js/main.c5ec903e.js (2)