• v0.8.0 ef6f2a8651

    Sunshine sync: register the library in apps.json from Settings
    release / Build Windows .zip (push) Canceled after 0s

    LastSkywalker released this 2026-05-28 21:07:46 +03:00 | 50 commits to main since this release

    internal/sunshine (Windows-only): detect Sunshine (sunshine.exe +
    resolve apps.json via sunshine.conf/install/ProgramData), sync the
    GameSaver library into apps.json and clear it.

    • Each entry: name + cmd (launcher priority mirrors internal/launcher —
      Steam deep-link, else bare exe + working-dir, else deep-link) +
      absolute image-path to our cached cover + auto-detach/wait-all flags.
    • User entries (Desktop, Steam Big Picture, hand-added) are never
      touched: we track the names we add in a sidecar
      (%LOCALAPPDATA%\GameSaver\sunshine-managed.json) and only upsert/remove
      those. Best-effort "gamesaver-managed" marker too.
    • apps.json is in Program Files (Users have RX, not W), so the write
      stages to LOCALAPPDATA then does one UAC-elevated cmd /c copy
      (ShellExecuteEx runas), waited + exit-code checked.
    • JSON written with EscapeHTML off (keeps deep-link "&" literal) + 4-space
      indent to match Sunshine.

    Settings shows a Sunshine block with Sync / Clear; dimmed + disabled
    with "не задетекчен" when Sunshine isn't installed.

    ADR 0021 + module-map entry.

    Downloads