mirror of
https://github.com/games-on-whales/wolf.git
synced 2026-10-15 21:12:08 +00:00
[PR #447] [CLOSED] Per-client profile access in ClientSettings #473
Labels
No labels
🧠 1 - 🤖 999
AMD
bug
bug
cannot reproduce
documentation
duplicate
easy
enhancement
enhancement
enhancement
fixed?
fixed?
good first issue
hard
help wanted
Intel
invalid
LXC
medium
moonlight-protocol
Multi GPU
nixos
not a bug
nvidia
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/wolf#473
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/games-on-whales/wolf/pull/447
Author: @kmreisi
Created: 6/24/2026
Status: ❌ Closed
Base:
stable← Head:feature/client-access📝 Commits (1)
ba46268feat(api): per-client profile access in ClientSettings📊 Changes
3 files changed (+14 additions, -1 deletions)
View changed files
📝
src/moonlight-server/api/api.hpp(+2 -0)📝
src/moonlight-server/api/endpoints.cpp(+6 -1)📝
src/moonlight-server/state/serialised_config.hpp(+6 -0)📄 Description
Adds per-client access control to
ClientSettings— the existing home for client-specific config (run_uid,controllers_override,motion_controller_override, …).What
allowed_profiles: vector<string>— profile IDs a client may see and launch. Empty (default) = unrestricted (all profiles).show_coop_games: bool(defaulttrue) — whether a client may see and join other clients' co-op (multi-user) lobbies.Both are settable over the socket API through
PartialClientSettings(the update-client-settings endpoint) and flow through create-lobby, exactly like the existing per-client fields. They show up in the clients response too.Why
On a shared / multi-tenant host, different clients should see different sets of profiles, and co-op visibility is naturally per-client.
ClientSettingsis already where per-client policy lives, so this slots in with no new mechanism. Defaults preserve today's behaviour (all profiles visible, co-op visible).This lets an external UI that drives Wolf over the socket read a client's
allowed_profiles/show_coop_gamesand filter what it shows — without Wolf needing to know anything about that UI.Draft pending CI.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.