Commit graph

90 commits

Author SHA1 Message Date
09026ca26a tests: cover Runner1 ResolveLaunch unknown runnerId contract 2026-02-15 15:42:42 +01:00
b24417df69 tests: cover Runner1 ResolveLaunch failure contract 2026-02-15 15:21:15 +01:00
13b65135f1 tests: cover Input1 version and capabilities 2026-02-15 15:16:09 +01:00
d254b272fe src: migrate InputServiceClient to generated Input1 proxy 2026-02-15 15:11:08 +01:00
a893d4fd71 cmake: generate Input1 proxy for main app 2026-02-15 15:11:01 +01:00
cd23253386 tests: use generated Input1 proxy and cover profile CRUD 2026-02-15 14:47:03 +01:00
47cab1cbe5 inputd: export Input1 via generated adaptor 2026-02-15 14:46:51 +01:00
c58801828c cmake: enable Input1 DBusTools codegen 2026-02-15 14:46:39 +01:00
1d61f3f84f dbus: add authoritative XML for Input1 2026-02-15 14:46:06 +01:00
7c9a0c4a89 tests: cover Runner1 version and runner list shape 2026-02-15 14:33:12 +01:00
fe253d89bc tests: cover GameCenter launch failure contract 2026-02-15 14:22:41 +01:00
239e3a9071 tests: cover GameCenter policy and capabilities 2026-02-15 14:17:11 +01:00
16d4129ede runnermanagerclient: use generated Runner1 proxy 2026-02-15 13:57:42 +01:00
4676b1d9a6 gamelauncher: use generated DBus proxies 2026-02-15 13:57:23 +01:00
d93dbc9ecc tests: use generated DBus proxies 2026-02-15 13:56:49 +01:00
d94029fbc4 dbus: export daemons via generated adaptors 2026-02-15 13:55:50 +01:00
ed0e6ae181 cmake: enable Qt DBusTools codegen 2026-02-15 13:55:09 +01:00
c0938aa62a dbus: add authoritative XML for GameCenter1/Runner1 2026-02-15 13:54:48 +01:00
9cda4ce476 app/daemons: set standard app metadata 2026-02-15 13:54:08 +01:00
5b26b85cc3 tests: add ProcessScanner stability test
Add a new QtTest that spawns marker processes and verifies ProcessScanner::scan() matches by env/cmdline, preferEnvironmentMatches behavior, and cancellation. Register the test with ctest.
2026-02-14 17:56:09 +01:00
f03eb95b52 gamecenter: refactor ProcessScanner for cancellable single-pass scans
Add ProcessScanner::scan(ScanOptions) for combined env/cmdline/exe matching, extend Match with match-source flags, and make pollUntilFound() cancellation-aware. Update monitored launch matchers to use the new API.
2026-02-14 17:38:28 +01:00
7200ad179c Harden systemd scope cleanup
Tighten transient unit lifecycle handling in GameCenter.

- Drop stale unit watcher mappings on PropertiesChanged for removed sessions.
- When stopping a monitored launch due to timeout or attach failure, fall back
  to terminating scope PIDs if StopUnit fails unexpectedly.

This reduces leaked scopes and improves robustness in failure paths.
2026-02-14 16:45:37 +01:00
985f6dac03 Harden transient scope lifecycle
Improve GameCenter daemon handling of systemd transient scopes.

- Watch monitored-launch scopes early and avoid dropping Launching sessions
  when the unit disappears before PIDs are attached.
- Stop leaked scopes on AttachProcessesToUnit failures.
- Make Stop() resilient for recovered sessions by falling back to TERM/KILL
  on scope PIDs when StopUnit fails unexpectedly.
- Only recover scopes that match the expected A-La-Karte description.
2026-02-14 16:16:59 +01:00
d56b91dbd0 gamecenter: harden KAuth helper power profile setting 2026-02-14 14:08:45 +01:00
f3b130008f ui: drop system-bus GameCenter fallback 2026-02-14 14:02:07 +01:00
8891e85dbc tests: recover sessions after gamecenter restart 2026-02-14 13:34:10 +01:00
57d1e6e130 tests: cover GameCenter unique DBus service behavior 2026-02-14 13:07:51 +01:00
d4e0326974 gamecenter: move DBus object path to avoid KDBusService conflict 2026-02-14 12:42:18 +01:00
cca49615d6 App: guard individual import tasks during shutdown 2026-02-13 18:55:33 +01:00
4b7655bc6b App: guard importAllGames task during shutdown 2026-02-13 18:30:00 +01:00
058fe8c8e0 gamecenter: bound waitForStarted during direct launch 2026-02-13 14:04:11 +01:00
88db54458e gamecenter: delete detached processes when they finish 2026-02-13 13:47:50 +01:00
6080962cf9 lutris: avoid lingering process on import timeout 2026-02-13 13:40:33 +01:00
2285de6b1e gamecenter: detach running processes on shutdown 2026-02-13 13:36:06 +01:00
144076675c steamgriddb: save covers atomically 2026-02-13 13:20:45 +01:00
a032bec8c4 inputd: save profiles atomically 2026-02-13 13:16:36 +01:00
9160076aa2 runnerd: save registry and profiles atomically 2026-02-13 13:11:49 +01:00
c6f3e645f4 app: save library.json atomically 2026-02-13 13:06:19 +01:00
05ca3de5f5 runner: shutdown spawned runnerd QProcess reliably 2026-02-13 12:52:40 +01:00
ca19e21661 qml: avoid StackView footer anchor conflicts 2026-02-13 12:52:39 +01:00
b1dc8afd48 qml: fix menu popup visible bool binding 2026-02-13 12:52:28 +01:00
b0d09be497 tests: add dbus smoke + stop-launching regression 2026-02-12 14:52:34 +01:00
e9071c2b86 gamecenter: add KAuth helper for power profiles 2026-02-12 14:51:20 +01:00
9dbff6fdb8 settings: input service + compatibility UI 2026-02-12 14:48:39 +01:00
1e5a86fda8 input: add input service daemon + client 2026-02-12 14:47:50 +01:00
7724205354 runner: add game profile API 2026-02-12 14:44:20 +01:00
27a385e3c3 ui: enforce daemon-only launches 2026-02-12 14:42:22 +01:00
8e77a35f7f krunner: remove unscoped launch fallbacks 2026-02-12 14:36:19 +01:00
fbd9311384 gamecenter: systemd scopes + Stop reliability 2026-02-12 14:34:56 +01:00
c7956eed8b QML: runner inventory, prefix actions, and runner error notifications 2026-02-09 14:03:38 +01:00