mirror of
https://github.com/lucannez64/darling-lol.git
synced 2026-10-26 19:47:42 +00:00
The client does not come back properly after a match when its own "Close client during game" option is enabled. The UI (LeagueClientUx and its helpers) is a Chromium/CEF instance and, under Darling, the pre-match instance keeps running: the client the backend starts when the match ends is a second CEF instance on the same --user-data-dir, and its window never paints. Its DOM and audio work and the window stays black; closing the client by hand during a match leaves the same state for the same reason. RCLOL_CLOSE_CLIENT_IN_GAME=1 opts in to closing that UI from the host, and only while a match runs, so the client that appears afterwards is the only instance. The UI also competes with the game for CPU: on a four-core host with a Radeon RX 550 a practice match reported roughly 120 FPS with the UI running and roughly 180 FPS with it closed. This is not the helper-killing memory optimization the RAM section warns against, and the Riot client, the League backend and the game are never touched. The helper fails closed. It attributes the game and the client to the launcher's prefix through the loader's __mldr_sockpath, since guest processes do not carry DPREFIX (checked on a live session). It never closes a client younger than 60 seconds (the one the backend starts after a match), preserves a process of another installation or owner, acts only when the environment and the stat fields can be read, gives up after three closes in one match, and leaves after ten minutes without a client or a match. It is off by default. Tests use fake /proc entries and mock every signal.
25 lines
1.1 KiB
YAML
25 lines
1.1 KiB
YAML
name: Source package checks
|
|
on: [push, pull_request]
|
|
permissions:
|
|
contents: read
|
|
jobs:
|
|
validate:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
- run: python scripts/validate.py
|
|
- run: python tools/riot-input-offline-check.py
|
|
- run: python tools/riot-launcher-offline-check.py
|
|
- run: python tools/riot-runtime-cleanup-offline-check.py
|
|
- run: python tools/riot-cdn-dns-offline-check.py
|
|
- run: python -m unittest discover -s tests -p 'test_hidden_riot_recovery.py'
|
|
- run: python -m unittest discover -s tests -p 'test_desktop_run.py'
|
|
- run: python -m unittest discover -s tests -p 'test_urlsession_runner.py'
|
|
- run: python -m unittest discover -s tests -p 'test_system_profiler.py'
|
|
- run: python -m unittest discover -s tests -p 'test_metal_device_info.py'
|
|
- run: python -m unittest discover -s tests -p 'test_exec_guest.py'
|
|
- run: python -m unittest discover -s tests -p 'test_close_league_client_in_game.py'
|