kra-mo / cartridges

A GTK4 + Libadwaita game launcher
GNU General Public License v3.0
662 stars 35 forks source link

Fix looking at Heroic Launcher sources #213

Open zastrixarundell opened 1 year ago

zastrixarundell commented 1 year ago

Describe the bug Heroic has added amazon as a game source (and sideload) and when I try an import I usually error out and sometimes crash.

To Reproduce Steps to reproduce the behavior:

  1. Press CTRL+i
  2. Maybe crash

Expected behavior No error logs + no crash.

Logs If applicable, attach your logs from Main Menu > About Cartridges > Troubleshooting > Debugging Information to the issue.

$ flatpak run hu.kramo.Cartridges 

(cartridges:2): Gtk-WARNING **: 18:40:59.222: Unknown key gtk-modules in /home/zastrix/.var/app/hu.kramo.Cartridges/config/gtk-4.0/settings.ini

(cartridges:2): Adwaita-WARNING **: 18:40:59.283: Using GtkSettings:gtk-application-prefer-dark-theme with libadwaita is unsupported. Please use AdwStyleManager:color-scheme instead.
root INFO - Source retroarch skipped, bad location
root INFO - Source legendary skipped, bad location
root INFO - Scanning source desktop
root INFO - Source itch skipped, bad location
root INFO - Scanning source steam
root INFO - Scanning source heroic
root WARNING - No ["games"]["hidden"] key in Heroic store file
root INFO - Scanning source bottles
root INFO - Scanning source flatpak
root INFO - Scanning source lutris
root ERROR - Skipping bad Heroic sub-source sideload
Traceback (most recent call last):
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 130, in __iter__
    path_json_load(self.library_path)[self.library_json_entries_key]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 47, in path_json_load
    with path.open("r", encoding="utf-8") as open_file:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/pathlib.py", line 1044, in open
    return io.open(self, mode, buffering, encoding, errors, newline)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/home/zastrix/.var/app/com.heroicgameslauncher.hgl/config/heroic/sideload_apps/library.json'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 337, in __iter__
    yield from sub_source_iterable
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 133, in __iter__
    raise InvalidLibraryFileError(
cartridges.importer.heroic_source.InvalidLibraryFileError: Invalid library.json
Usage:
  gio launch DESKTOP-FILE [FILE-ARG …]

Launch an application from a desktop file, passing optional filename arguments to it.

root WARNING - Skipped epic game Dying Light Enhanced Edition (04a54ed532ce4fbfbf8fd5833f60def0): not installed
root WARNING - Skipped epic game MORDHAU (2e26af55c1a146e7a939dcc1014fc9fd): not installed
root WARNING - Skipped epic game The Elder Scrolls Online (4d0ff75b922447649057c237c0bd1545): not installed
root WARNING - Skipped epic game Tandem A Tale of Shadows (57ad8e72d9a446dea9ef5cac2770a0b8): not installed
root WARNING - Skipped epic game Death Stranding Content (5bf67f3153364181b54cb9e40ca7fa82): not installed
root WARNING - Skipped epic game Gods Will Fall (69911638c74449d2a2651241be1b3ad4): not installed
root WARNING - Skipped epic game Dying Light The Bozak (71816b992ef04030b1c58af6b9845fe5): not installed
root WARNING - Skipped epic game The Evil Within 2 (74977fee80de4e5e9f663e62560a0f2f): not installed
root WARNING - Skipped epic game DEATH STRANDING DIGITAL SOUNDTRACK (84067e3ec8f149b2bbf2342d7a136065): not installed
root WARNING - Skipped epic game Shadow of the Tomb Raider: Definitive Edition (890d9cf396d04922a1559333df419fed): not installed
root WARNING - Skipped epic game Grand Theft Auto V (9d2d0eb64d5c44529cece33fe2a46482): not installed
root WARNING - Skipped epic game Death Stranding (Boga): not installed
root WARNING - Skipped epic game Trackmania (Pigeon): not installed
root WARNING - Skipped epic game SELECTIONS OF TITAN ART BOOK (c311b22f878749449886949eeb588999): not installed
root WARNING - Skipped epic game Tomb Raider GAME OF THE YEAR EDITION (d6264d56f5ba434e91d4b0a0b056c83a): not installed
root WARNING - Skipped epic game Dying Light The Following (f653266870894ee1acbb5250e3b04bd1): not installed
root WARNING - Skipped epic game Rise of the Tomb Raider: 20 Year Celebration (f7cc1c999ac146f39b356f53e3489514): not installed
root WARNING - Skipped epic game HD Wallpaper (f8bf1e29bbef480a9b28115ad0d644a0): not installed
root WARNING - Skipped epic game The Sims™ 4 (huddle): not installed
root WARNING - Skipped gog game Metro: Last Light Redux (1430740172): not installed
root WARNING - Skipped gog game Deus Ex: Mankind Divided (1296690054): not installed
root WARNING - Skipped gog game Metro 2033 Redux (1436434037): not installed
root WARNING - Skipped gog game SOMA (1439487606): not installed
root WARNING - Skipped gog game Crusader Kings II (1137712636): not installed
root WARNING - Skipped gog game Blacksad: Under the Skin (1772238447): not installed
root ERROR - Skipping bad Heroic sub-source amazon
Traceback (most recent call last):
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 279, in get_installed_app_names
    installed_json = path_json_load(self.installed_path)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 47, in path_json_load
    with path.open("r", encoding="utf-8") as open_file:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/pathlib.py", line 1044, in open
    return io.open(self, mode, buffering, encoding, errors, newline)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/home/zastrix/.var/app/com.heroicgameslauncher.hgl/config/heroic/nile_config/nile/installed.json'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 337, in __iter__
    yield from sub_source_iterable
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 196, in __iter__
    self.installed_app_names = self.get_installed_app_names()
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 286, in get_installed_app_names
    raise InvalidInstalledFileError(
cartridges.importer.heroic_source.InvalidInstalledFileError: Invalid installed.json
root INFO - Import done

System (please complete the following information):

GeoffreyCoulaud commented 1 year ago

Hi, thanks for the report.

I tried reproducing the error described, with no success.

The error in the logs you gave is expected if you have no Heroic sideloaded games, since the sideloaded library file is only created when necessary. Other than this, there is no mention of other errors.

It would be nice if you could:

zastrixarundell commented 1 year ago

Hi,

Here's the Debugging Information:

01:03 - DEBUG: Starting hu.kramo.Cartridges v2.6.2 (release)
01:03 - DEBUG: Python version: 3.11.5 (main, Nov 10 2011, 15:00:00) [GCC 13.2.0]
01:03 - DEBUG: Flatpak version: Flatpak 1.15.4
01:03 - DEBUG: Platform: Linux-6.5.10-300.fc39.x86_64-x86_64-with-glibc2.38
01:03 - DEBUG:  System: Linux
01:03 - DEBUG:  Node: main-pc
01:03 - DEBUG:  Release: 6.5.10-300.fc39.x86_64
01:03 - DEBUG:  Version: #1 SMP PREEMPT_DYNAMIC Thu Nov  2 20:01:06 UTC 2023
01:03 - DEBUG:  Machine: x86_64
01:03 - DEBUG:  Processor: 
01:03 - DEBUG: ─────────────────────────────────────
01:03 - DEBUG: New store game Minion (flatpak_gg.minion.Minion)
01:03 - DEBUG: DisplayManager done for flatpak_gg.minion.Minion
01:03 - DEBUG: New store game ProtonUp-Qt (flatpak_net.davidotek.pupgui2)
01:03 - DEBUG: DisplayManager done for flatpak_net.davidotek.pupgui2
01:03 - DEBUG: New store game Prism Launcher (flatpak_org.prismlauncher.PrismLauncher)
01:03 - DEBUG: DisplayManager done for flatpak_org.prismlauncher.PrismLauncher
01:03 - DEBUG: New store game GOverlay (desktop_io.github.benjamimgois.goverlay)
01:03 - DEBUG: DisplayManager done for desktop_io.github.benjamimgois.goverlay
01:03 - DEBUG: New store game Stray (steam_1332010)
01:03 - DEBUG: DisplayManager done for steam_1332010
01:03 - DEBUG: New store game Steam Linux Runtime 3.0 (sniper) (steam_1628350)
01:03 - DEBUG: DisplayManager done for steam_1628350
01:03 - DEBUG: New store game Steamworks Common Redistributables (steam_228980)
01:03 - DEBUG: DisplayManager done for steam_228980
01:03 - DEBUG: New store game METAL GEAR RISING: REVENGEANCE (steam_235460)
01:03 - DEBUG: DisplayManager done for steam_235460
01:03 - DEBUG: New store game The Elder Scrolls Online (steam_306130)
01:03 - DEBUG: DisplayManager done for steam_306130
01:03 - DEBUG: New store game Charlie in the MoistVerse of Madness (steam_1908670)
01:03 - DEBUG: DisplayManager done for steam_1908670
01:03 - DEBUG: New store game Guild Wars 2 (steam_1284210)
01:03 - DEBUG: DisplayManager done for steam_1284210
01:03 - DEBUG: New store game Epic Games Store (lutris_wine_2)
01:03 - DEBUG: DisplayManager done for lutris_wine_2
01:03 - DEBUG: New store game Ubisoft Connect (lutris_wine_3)
01:03 - DEBUG: DisplayManager done for lutris_wine_3
01:03 - DEBUG: New store game GOG Galaxy (lutris_wine_5)
01:03 - DEBUG: DisplayManager done for lutris_wine_5
01:03 - DEBUG: New store game Proton 8.0 (steam_2348590)
01:03 - DEBUG: DisplayManager done for steam_2348590
01:03 - DEBUG: New store game Deus Ex: Human Revolution - Director’s Cut (heroic_gog_1370227705)
01:03 - DEBUG: DisplayManager done for heroic_gog_1370227705
01:03 - DEBUG: New store game Middle-earth™: Shadow of Mordor™ Game of the Year Edition (heroic_gog_1213504814)
01:03 - DEBUG: DisplayManager done for heroic_gog_1213504814
01:03 - DEBUG: New store game Metro Exodus (heroic_gog_1407287452)
01:03 - DEBUG: DisplayManager done for heroic_gog_1407287452
01:03 - DEBUG: New store game RPCS3 (flatpak_net.rpcs3.RPCS3)
01:03 - DEBUG: DisplayManager done for flatpak_net.rpcs3.RPCS3
01:03 - DEBUG: New store game Dragon's Dogma: Dark Arisen (heroic_gog_1242384383)
01:03 - DEBUG: DisplayManager done for heroic_gog_1242384383
01:03 - DEBUG: New store game Valheim (steam_892970)
01:03 - DEBUG: DisplayManager done for steam_892970
01:03 - DEBUG: New store game Middle-earth™: Shadow of War™ (heroic_gog_1324471032)
01:03 - DEBUG: DisplayManager done for heroic_gog_1324471032
01:03 - DEBUG: New store game Turnip Boy Commits Tax Evasion (heroic_epic_3d34f303a68c44c2a9b44a3988533e90)
01:03 - DEBUG: DisplayManager done for heroic_epic_3d34f303a68c44c2a9b44a3988533e90
01:03 - DEBUG: New store game DOOM Eternal (steam_782330)
01:03 - DEBUG: DisplayManager done for steam_782330
01:09 - INFO: Launching `flatpak-spawn --host /bin/sh -c 'xdg-open heroic://launch/gog/1407287452'`
─────────────────────────────────────
31:28 - DEBUG: Starting hu.kramo.Cartridges v2.6.2 (release)
31:28 - DEBUG: Python version: 3.11.5 (main, Nov 10 2011, 15:00:00) [GCC 13.2.0]
31:28 - DEBUG: Flatpak version: Flatpak 1.15.4
31:28 - DEBUG: Platform: Linux-6.5.10-300.fc39.x86_64-x86_64-with-glibc2.38
31:28 - DEBUG:  System: Linux
31:28 - DEBUG:  Node: main-pc
31:28 - DEBUG:  Release: 6.5.10-300.fc39.x86_64
31:28 - DEBUG:  Version: #1 SMP PREEMPT_DYNAMIC Thu Nov  2 20:01:06 UTC 2023
31:28 - DEBUG:  Machine: x86_64
31:28 - DEBUG:  Processor: 
31:28 - DEBUG: ─────────────────────────────────────
31:28 - DEBUG: New store game Minion (flatpak_gg.minion.Minion)
31:28 - DEBUG: DisplayManager done for flatpak_gg.minion.Minion
31:28 - DEBUG: New store game ProtonUp-Qt (flatpak_net.davidotek.pupgui2)
31:28 - DEBUG: DisplayManager done for flatpak_net.davidotek.pupgui2
31:28 - DEBUG: New store game Prism Launcher (flatpak_org.prismlauncher.PrismLauncher)
31:28 - DEBUG: DisplayManager done for flatpak_org.prismlauncher.PrismLauncher
31:28 - DEBUG: New store game GOverlay (desktop_io.github.benjamimgois.goverlay)
31:28 - DEBUG: DisplayManager done for desktop_io.github.benjamimgois.goverlay
31:28 - DEBUG: New store game Stray (steam_1332010)
31:28 - DEBUG: DisplayManager done for steam_1332010
31:28 - DEBUG: New store game Steam Linux Runtime 3.0 (sniper) (steam_1628350)
31:28 - DEBUG: DisplayManager done for steam_1628350
31:28 - DEBUG: New store game Steamworks Common Redistributables (steam_228980)
31:28 - DEBUG: DisplayManager done for steam_228980
31:28 - DEBUG: New store game METAL GEAR RISING: REVENGEANCE (steam_235460)
31:28 - DEBUG: DisplayManager done for steam_235460
31:28 - DEBUG: New store game The Elder Scrolls Online (steam_306130)
31:28 - DEBUG: DisplayManager done for steam_306130
31:28 - DEBUG: New store game Charlie in the MoistVerse of Madness (steam_1908670)
31:28 - DEBUG: DisplayManager done for steam_1908670
31:28 - DEBUG: New store game Guild Wars 2 (steam_1284210)
31:28 - DEBUG: DisplayManager done for steam_1284210
31:28 - DEBUG: New store game Epic Games Store (lutris_wine_2)
31:28 - DEBUG: DisplayManager done for lutris_wine_2
31:28 - DEBUG: New store game Ubisoft Connect (lutris_wine_3)
31:28 - DEBUG: DisplayManager done for lutris_wine_3
31:28 - DEBUG: New store game GOG Galaxy (lutris_wine_5)
31:28 - DEBUG: DisplayManager done for lutris_wine_5
31:28 - DEBUG: New store game Proton 8.0 (steam_2348590)
31:28 - DEBUG: DisplayManager done for steam_2348590
31:28 - DEBUG: New store game Deus Ex: Human Revolution - Director’s Cut (heroic_gog_1370227705)
31:28 - DEBUG: DisplayManager done for heroic_gog_1370227705
31:28 - DEBUG: New store game Middle-earth™: Shadow of Mordor™ Game of the Year Edition (heroic_gog_1213504814)
31:28 - DEBUG: DisplayManager done for heroic_gog_1213504814
31:28 - DEBUG: New store game Metro Exodus (heroic_gog_1407287452)
31:28 - DEBUG: DisplayManager done for heroic_gog_1407287452
31:28 - DEBUG: New store game RPCS3 (flatpak_net.rpcs3.RPCS3)
31:28 - DEBUG: DisplayManager done for flatpak_net.rpcs3.RPCS3
31:28 - DEBUG: New store game Dragon's Dogma: Dark Arisen (heroic_gog_1242384383)
31:28 - DEBUG: DisplayManager done for heroic_gog_1242384383
31:28 - DEBUG: New store game Valheim (steam_892970)
31:28 - DEBUG: DisplayManager done for steam_892970
31:28 - DEBUG: New store game Middle-earth™: Shadow of War™ (heroic_gog_1324471032)
31:28 - DEBUG: DisplayManager done for heroic_gog_1324471032
31:28 - DEBUG: New store game Turnip Boy Commits Tax Evasion (heroic_epic_3d34f303a68c44c2a9b44a3988533e90)
31:28 - DEBUG: DisplayManager done for heroic_epic_3d34f303a68c44c2a9b44a3988533e90
31:28 - DEBUG: New store game DOOM Eternal (steam_782330)
31:28 - DEBUG: DisplayManager done for steam_782330
─────────────────────────────────────
35:30 - DEBUG: Starting hu.kramo.Cartridges v2.6.2 (release)
35:30 - DEBUG: Python version: 3.11.5 (main, Nov 10 2011, 15:00:00) [GCC 13.2.0]
35:30 - DEBUG: Flatpak version: Flatpak 1.15.4
35:30 - DEBUG: Platform: Linux-6.5.10-300.fc39.x86_64-x86_64-with-glibc2.38
35:30 - DEBUG:  System: Linux
35:30 - DEBUG:  Node: main-pc
35:30 - DEBUG:  Release: 6.5.10-300.fc39.x86_64
35:30 - DEBUG:  Version: #1 SMP PREEMPT_DYNAMIC Thu Nov  2 20:01:06 UTC 2023
35:30 - DEBUG:  Machine: x86_64
35:30 - DEBUG:  Processor: 
35:30 - DEBUG: ─────────────────────────────────────
35:30 - DEBUG: New store game Minion (flatpak_gg.minion.Minion)
35:30 - DEBUG: DisplayManager done for flatpak_gg.minion.Minion
35:30 - DEBUG: New store game ProtonUp-Qt (flatpak_net.davidotek.pupgui2)
35:30 - DEBUG: DisplayManager done for flatpak_net.davidotek.pupgui2
35:30 - DEBUG: New store game Prism Launcher (flatpak_org.prismlauncher.PrismLauncher)
35:30 - DEBUG: DisplayManager done for flatpak_org.prismlauncher.PrismLauncher
35:30 - DEBUG: New store game GOverlay (desktop_io.github.benjamimgois.goverlay)
35:30 - DEBUG: DisplayManager done for desktop_io.github.benjamimgois.goverlay
35:30 - DEBUG: New store game Stray (steam_1332010)
35:30 - DEBUG: DisplayManager done for steam_1332010
35:30 - DEBUG: New store game Steam Linux Runtime 3.0 (sniper) (steam_1628350)
35:30 - DEBUG: DisplayManager done for steam_1628350
35:30 - DEBUG: New store game Steamworks Common Redistributables (steam_228980)
35:30 - DEBUG: DisplayManager done for steam_228980
35:30 - DEBUG: New store game METAL GEAR RISING: REVENGEANCE (steam_235460)
35:30 - DEBUG: DisplayManager done for steam_235460
35:30 - DEBUG: New store game The Elder Scrolls Online (steam_306130)
35:30 - DEBUG: DisplayManager done for steam_306130
35:30 - DEBUG: New store game Charlie in the MoistVerse of Madness (steam_1908670)
35:30 - DEBUG: DisplayManager done for steam_1908670
35:30 - DEBUG: New store game Guild Wars 2 (steam_1284210)
35:30 - DEBUG: DisplayManager done for steam_1284210
35:30 - DEBUG: New store game Epic Games Store (lutris_wine_2)
35:30 - DEBUG: DisplayManager done for lutris_wine_2
35:30 - DEBUG: New store game Ubisoft Connect (lutris_wine_3)
35:30 - DEBUG: DisplayManager done for lutris_wine_3
35:30 - DEBUG: New store game GOG Galaxy (lutris_wine_5)
35:30 - DEBUG: DisplayManager done for lutris_wine_5
35:30 - DEBUG: New store game Proton 8.0 (steam_2348590)
35:30 - DEBUG: DisplayManager done for steam_2348590
35:30 - DEBUG: New store game Deus Ex: Human Revolution - Director’s Cut (heroic_gog_1370227705)
35:30 - DEBUG: DisplayManager done for heroic_gog_1370227705
35:30 - DEBUG: New store game Middle-earth™: Shadow of Mordor™ Game of the Year Edition (heroic_gog_1213504814)
35:30 - DEBUG: DisplayManager done for heroic_gog_1213504814
35:30 - DEBUG: New store game Metro Exodus (heroic_gog_1407287452)
35:30 - DEBUG: DisplayManager done for heroic_gog_1407287452
35:30 - DEBUG: New store game RPCS3 (flatpak_net.rpcs3.RPCS3)
35:30 - DEBUG: DisplayManager done for flatpak_net.rpcs3.RPCS3
35:30 - DEBUG: New store game Dragon's Dogma: Dark Arisen (heroic_gog_1242384383)
35:30 - DEBUG: DisplayManager done for heroic_gog_1242384383
35:30 - DEBUG: New store game Valheim (steam_892970)
35:30 - DEBUG: DisplayManager done for steam_892970
35:30 - DEBUG: New store game Middle-earth™: Shadow of War™ (heroic_gog_1324471032)
35:30 - DEBUG: DisplayManager done for heroic_gog_1324471032
35:30 - DEBUG: New store game Turnip Boy Commits Tax Evasion (heroic_epic_3d34f303a68c44c2a9b44a3988533e90)
35:30 - DEBUG: DisplayManager done for heroic_epic_3d34f303a68c44c2a9b44a3988533e90
35:30 - DEBUG: New store game DOOM Eternal (steam_782330)
35:30 - DEBUG: DisplayManager done for steam_782330
35:33 - DEBUG: Importing games from source legendary
35:33 - DEBUG: Importing games from source bottles
35:33 - INFO: Source legendary skipped, bad location
35:33 - DEBUG: Importing games from source flatpak
35:33 - DEBUG: Importing games from source desktop
35:33 - DEBUG: Importing games from source lutris
35:33 - DEBUG: Importing games from source steam
35:33 - INFO: Scanning source desktop
35:33 - DEBUG: Importing games from source itch
35:33 - DEBUG: Importing games from source heroic
35:33 - DEBUG: Importing games from source retroarch
35:33 - INFO: Source itch skipped, bad location
35:33 - DEBUG: Import done for source legendary
35:33 - INFO: Source retroarch skipped, bad location
35:33 - DEBUG: Resolved value for schema key bottles-location: /home/zastrix/.var/app/com.usebottles.bottles/data/bottles
35:33 - DEBUG: Resolved value for schema key lutris-location: /home/zastrix/.var/app/net.lutris.Lutris/data/lutris
35:33 - DEBUG: Resolved value for schema key flatpak-location: /var/lib/flatpak
35:33 - DEBUG: Resolved value for schema key steam-location: /home/zastrix/.var/app/com.valvesoftware.Steam/data/Steam
35:33 - INFO: Scanning source bottles
35:33 - INFO: Scanning source flatpak
35:33 - INFO: Scanning source steam
35:33 - DEBUG: Resolved value for schema key heroic-location: /home/zastrix/.var/app/com.heroicgameslauncher.hgl/config/heroic
35:33 - INFO: Scanning source heroic
35:33 - WARNING: No ["games"]["hidden"] key in Heroic store file
35:33 - DEBUG: Using Heroic sideload library.json path /home/zastrix/.var/app/com.heroicgameslauncher.hgl/config/heroic/sideload_apps/library.json
35:33 - DEBUG: Import done for source itch
35:33 - DEBUG: Import done for source retroarch
35:33 - ERROR: Skipping bad Heroic sub-source sideload
Traceback (most recent call last):
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 130, in __iter__
    path_json_load(self.library_path)[self.library_json_entries_key]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 47, in path_json_load
    with path.open("r", encoding="utf-8") as open_file:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/pathlib.py", line 1044, in open
    return io.open(self, mode, buffering, encoding, errors, newline)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/home/zastrix/.var/app/com.heroicgameslauncher.hgl/config/heroic/sideload_apps/library.json'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 337, in __iter__
    yield from sub_source_iterable
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 133, in __iter__
    raise InvalidLibraryFileError(
cartridges.importer.heroic_source.InvalidLibraryFileError: Invalid library.json
35:33 - DEBUG: Resolved value for schema key lutris-cache-location: /home/zastrix/.var/app/net.lutris.Lutris/cache/lutris
35:33 - DEBUG: Import done for source bottles
35:33 - DEBUG: Using Heroic >= 2.9 legendary file
35:33 - INFO: Scanning source lutris
35:33 - DEBUG: Using Heroic legendary installed.json path /home/zastrix/.var/app/com.heroicgameslauncher.hgl/config/heroic/legendaryConfig/legendary/installed.json
35:33 - DEBUG: Using Heroic legendary library.json path /home/zastrix/.var/app/com.heroicgameslauncher.hgl/config/heroic/store_cache/legendary_library.json
35:33 - WARNING: Skipped epic game Dying Light Enhanced Edition (04a54ed532ce4fbfbf8fd5833f60def0): not installed
35:33 - WARNING: Skipped epic game MORDHAU (2e26af55c1a146e7a939dcc1014fc9fd): not installed
35:33 - DEBUG: Duplicate store game Minion (flatpak_gg.minion.Minion)
35:33 - DEBUG: Duplicate store game Turnip Boy Commits Tax Evasion (heroic_epic_3d34f303a68c44c2a9b44a3988533e90)
35:33 - WARNING: Skipped epic game The Elder Scrolls Online (4d0ff75b922447649057c237c0bd1545): not installed
35:33 - WARNING: Skipped epic game Tandem A Tale of Shadows (57ad8e72d9a446dea9ef5cac2770a0b8): not installed
35:33 - DEBUG: Duplicate store game Epic Games Store (lutris_wine_2)
35:33 - WARNING: Skipped epic game Death Stranding Content (5bf67f3153364181b54cb9e40ca7fa82): not installed
35:33 - WARNING: Skipped epic game Gods Will Fall (69911638c74449d2a2651241be1b3ad4): not installed
35:33 - WARNING: Skipped epic game Dying Light The Bozak (71816b992ef04030b1c58af6b9845fe5): not installed
35:33 - DEBUG: Duplicate store game ProtonUp-Qt (flatpak_net.davidotek.pupgui2)
35:33 - WARNING: Skipped epic game The Evil Within 2 (74977fee80de4e5e9f663e62560a0f2f): not installed
35:33 - DEBUG: Duplicate store game Ubisoft Connect (lutris_wine_3)
35:33 - WARNING: Skipped epic game DEATH STRANDING DIGITAL SOUNDTRACK (84067e3ec8f149b2bbf2342d7a136065): not installed
35:33 - WARNING: Skipped epic game Shadow of the Tomb Raider: Definitive Edition (890d9cf396d04922a1559333df419fed): not installed
35:33 - WARNING: Skipped epic game Grand Theft Auto V (9d2d0eb64d5c44529cece33fe2a46482): not installed
35:33 - WARNING: Skipped epic game Death Stranding (Boga): not installed
35:33 - WARNING: Skipped epic game Trackmania (Pigeon): not installed
35:33 - WARNING: Skipped epic game SELECTIONS OF TITAN ART BOOK (c311b22f878749449886949eeb588999): not installed
35:33 - WARNING: Skipped epic game Tomb Raider GAME OF THE YEAR EDITION (d6264d56f5ba434e91d4b0a0b056c83a): not installed
35:33 - WARNING: Skipped epic game Dying Light The Following (f653266870894ee1acbb5250e3b04bd1): not installed
35:33 - DEBUG: Duplicate store game GOG Galaxy (lutris_wine_5)
35:33 - WARNING: Skipped epic game Rise of the Tomb Raider: 20 Year Celebration (f7cc1c999ac146f39b356f53e3489514): not installed
35:33 - WARNING: Skipped epic game HD Wallpaper (f8bf1e29bbef480a9b28115ad0d644a0): not installed
35:33 - WARNING: Skipped epic game The Sims™ 4 (huddle): not installed
35:33 - DEBUG: Using Heroic gog installed.json path /home/zastrix/.var/app/com.heroicgameslauncher.hgl/config/heroic/gog_store/installed.json
35:33 - DEBUG: Import done for source lutris
35:33 - DEBUG: Using Heroic gog library.json path /home/zastrix/.var/app/com.heroicgameslauncher.hgl/config/heroic/store_cache/gog_library.json
35:33 - DEBUG: Duplicate store game Middle-earth™: Shadow of Mordor™ Game of the Year Edition (heroic_gog_1213504814)
35:33 - WARNING: Skipped gog game Deus Ex: Mankind Divided (1296690054): not installed
35:33 - DEBUG: Duplicate store game Middle-earth™: Shadow of War™ (heroic_gog_1324471032)
35:33 - DEBUG: Duplicate store game Prism Launcher (flatpak_org.prismlauncher.PrismLauncher)
35:33 - DEBUG: Duplicate store game Metro Exodus (heroic_gog_1407287452)
35:33 - WARNING: Skipped gog game Blacksad: Under the Skin (1772238447): not installed
35:33 - DEBUG: Duplicate store game RPCS3 (flatpak_net.rpcs3.RPCS3)
35:33 - DEBUG: Duplicate store game Dragon's Dogma: Dark Arisen (heroic_gog_1242384383)
35:33 - DEBUG: Import done for source flatpak
35:33 - DEBUG: Duplicate store game Deus Ex: Human Revolution - Director’s Cut (heroic_gog_1370227705)
35:33 - WARNING: Skipped gog game Metro 2033 Redux (1436434037): not installed
35:33 - WARNING: Skipped gog game SOMA (1439487606): not installed
35:33 - WARNING: Skipped gog game Metro: Last Light Redux (1430740172): not installed
35:33 - WARNING: Skipped gog game Crusader Kings II (1137712636): not installed
35:33 - DEBUG: Using Heroic nile installed.json path /home/zastrix/.var/app/com.heroicgameslauncher.hgl/config/heroic/nile_config/nile/installed.json
35:33 - ERROR: Skipping bad Heroic sub-source amazon
Traceback (most recent call last):
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 279, in get_installed_app_names
    installed_json = path_json_load(self.installed_path)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 47, in path_json_load
    with path.open("r", encoding="utf-8") as open_file:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/pathlib.py", line 1044, in open
    return io.open(self, mode, buffering, encoding, errors, newline)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/home/zastrix/.var/app/com.heroicgameslauncher.hgl/config/heroic/nile_config/nile/installed.json'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 337, in __iter__
    yield from sub_source_iterable
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 196, in __iter__
    self.installed_app_names = self.get_installed_app_names()
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/lib/python3.11/site-packages/cartridges/importer/heroic_source.py", line 286, in get_installed_app_names
    raise InvalidInstalledFileError(
cartridges.importer.heroic_source.InvalidInstalledFileError: Invalid installed.json
35:33 - DEBUG: Import done for source heroic
35:33 - DEBUG: Duplicate store game GOverlay (desktop_io.github.benjamimgois.goverlay)
35:33 - DEBUG: Import done for source desktop
35:33 - DEBUG: Duplicate store game Stray (steam_1332010)
35:33 - DEBUG: Duplicate store game METAL GEAR RISING: REVENGEANCE (steam_235460)
35:33 - DEBUG: Duplicate store game Valheim (steam_892970)
35:33 - DEBUG: Duplicate store game The Elder Scrolls Online (steam_306130)
35:33 - DEBUG: Duplicate store game Proton 8.0 (steam_2348590)
35:33 - DEBUG: Duplicate store game DOOM Eternal (steam_782330)
35:33 - DEBUG: Duplicate store game Guild Wars 2 (steam_1284210)
35:33 - DEBUG: Duplicate store game Steamworks Common Redistributables (steam_228980)
35:33 - DEBUG: Duplicate store game Charlie in the MoistVerse of Madness (steam_1908670)
35:33 - DEBUG: Duplicate store game Steam Linux Runtime 3.0 (sniper) (steam_1628350)
35:33 - DEBUG: Import done for source steam
35:33 - INFO: Import done

I'm using the latest version of Heroic via a flatpak:

$ flatpak list | grep Heroic
Heroic Games Launcher   com.heroicgameslauncher.hgl     v2.10.0 stable  flathub system
GeoffreyCoulaud commented 1 year ago

The issue seems to be that Cartridges cannot read ~/.var/app/com.heroicgameslauncher.hgl/config/heroic/nile_config/nile/installed.json which only would happen if you don't have any Amazon/Nile games installed. If that is the case, then no need to worry.

You initally talked about errorring-out, if possible, can you take a screenshot of the error message that appears? It should only mention the Amazon installed.json being missing, like the logs do.

If a hard crash happens during import, with no logs or console errors to explain it, it may be a phantom bug that we've been chasing for a while. We'll see. If you do have any messages or reproducible steps to trigger a crash, please do let us know.

thesunnyk commented 6 months ago

I think I know what's going on here. If you used to have Heroic as a regular package, and later switched over to Heroic flatpak, the old heroic config will still be around. IIUC Cartridges will look at that configuration and not find the games, and because it found the heroic config, it won't look for the flatpak config.

The workaround is to remove the .config/heroic and .config/Heroic directories (assuming you have the flatpak installed and are using that instead).