Description
What? Added input permissions for each client (enable/disable mouse, keyboard, controller). Added a button to kick clients (does not prevent rejoin)
Why? I really like this project but wish that I could eventually use it to invite friends to play, just like Parsec. That is a larger piece of work - but a small step is to have configurable permissions per client. That is the aim of this PR
Screenshot
Haven't built this - am on Windows with Sunshine already installed. However the code is reasonably minimal and makes sense.
Issues Fixed or Closed
Roadmap Issues
Testing
Added tests covering the functionality. UI & BE.
Type of Change
- feat: New feature (non-breaking change which adds functionality)
- fix: Bug fix (non-breaking change which fixes an issue)
- docs: Documentation only changes
- style: Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc.)
- refactor: Code change that neither fixes a bug nor adds a feature
- perf: Code change that improves performance
- test: Adding missing tests or correcting existing tests
- build: Changes that affect the build system or external dependencies
- ci: Changes to CI configuration files and scripts
- chore: Other changes that don't modify src or test files
- revert: Reverts a previous commit
- BREAKING CHANGE: Introduces a breaking change (can be combined with any type above)
Checklist
- Code follows the style guidelines of this project
- Code has been self-reviewed
- Code has been commented, particularly in hard-to-understand areas
- Code docstring/documentation-blocks for new or existing methods/components have been added or updated
- Tests have been added or updated for new or modified functionality, including regression tests for bug fixes
AI Usage
See our AI usage policy.
- AI tools were used while preparing this PR
I am a developer, but I used AI to prepare this PR. I incrementally improve on the output until the code in a state that I am satisfied and would have written it by hand the same way...
For the tests - I give a bit less attention apart from just roughly scanning that they are doing what they are meant to.
Activity
12Quality Gate passed
Issues
0 New issues
0 Accepted issues
Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code
Have fixed the quality gate issues & merge conflict.
Switching to SQLite sounds like a good idea to me - but I am concerned that it might not happen for a while...
This change would essentially just be adding 3 new fields to the new client table to represent their permissions. Not sure how I can prepare this PR in a way that makes it easier for your migration work in the roadmap - but I am not sure it makes it much harder either?
Let me know if there is anything you would like me to consider/change!
I'm not going to look at this until after I complete the following: