Skip to content

Fix detection of installed Epic base games with empty parent names - #6953

Merged
danieljohnson2 merged 1 commit into
lutris:masterfrom
snowyukitty:fix/egs-base-game-manifests
Oct 12, 2026
Merged

danieljohnson2 merged 1 commit into
lutris:masterfrom
snowyukitty:fix/egs-base-game-manifests

Conversation

@snowyukitty

Copy link
Copy Markdown
Contributor

Fixes #6899.

An installed base game such as Caravan SandWitch can have an empty MainGameAppName. The manifest scanner currently treats that as a different parent and skips the game. Accept the empty string as well as an exact AppName match, while retaining the exclusion for manifests naming another parent.

The tests cover the scanner and the real installed-game import into temporary SQLite and YAML state. They verify both base-game formats, DLC exclusion, unchanged rows on a second scan, the launcher executable, and the game-specific launch URI. Both empty-parent regressions fail against the unmodified scanner.

Validation from the repository root on Ubuntu 24.04 / Python 3.12:

  • nose2 --exclude-ci -v: 586 tests run, 1 existing Nvidia-driver test skipped.
  • ruff check . and ruff format . --check.
  • mypy . --python-version 3.10.
  • python3 utils/check_annotations.py.
  • On Python 3.10: python -m compileall -q lutris/ tests/services/_test_egs.py tests/util/_test_egs_launcher.py.

The offline suite had the official Libretro core metadata populated beforehand. The import test replaces media downloading only. GUI interaction, Epic authentication, and launching Caravan SandWitch were not tested.

@danieljohnson2

Copy link
Copy Markdown
Contributor

Looks reasonable to me!

@danieljohnson2
danieljohnson2 merged commit aea3e84 into lutris:master Oct 12, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Epic Games Store: installed base game skipped when its manifest has an empty MainGameAppName

2 participants