Conversation
TTWNO
commented
Jan 23, 2025
- Use generic version of serde_json
- fmt
- Cleanup using macro
- Make mode an exaustive enum
- Update events struct to work like Command does
- Spawn new task for input events
- Update services to handle input events
- Use new input event handlers
- Update cargo lock
- Add input server binary
- Update cargo lock
|
Instructions on testing: # in Odilia root directory
$ cargo run
# in another terminal, in the input-server/ directory
# your user must be in a group which is allowed to read evdev
$ cargo runNow press capslock+g to send the "stop speech" command. This should make the TTS say "stop speech, eh!" |
|
This is not ready to merge. Still need to work in a way to activate automatically, verify scripts work in CI, and add a config file. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #163 +/- ##
==========================================
- Coverage 18.90% 5.94% -12.96%
==========================================
Files 20 16 -4
Lines 984 757 -227
==========================================
- Hits 186 45 -141
+ Misses 798 712 -86 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
All key handling features are implemented and proptested. Resolved questions:
Unresolved questions:
TODO:
|
|
Okay. Good starting point.
We can have a seperate workflow file just for this crate, and filter on if files in the input-server directory change.
There is a way to merge results so we could produce a build artifact whenever the directory is modified and combine future coverage stats with it on invocation. I'm not certain this strategy works across different branches, but it's worth a shot! Second option is my hosting provider allows renting short-term dedicated hardware w/ a REST API. Technically we could use it as a self-hosted runner. We can just exclude the proptests from the GH runners and then have a Third option: is there a way to run a Github action locally and have the results shown in the PR? If there is, then I don't mind doing it for the last step of merging. I'd prefer an automated solution, but manually running a big CI job locally, and having that be enforced is almost as good :)
It can but usually doesn't unless you enable it with |
Remove unused code; update atspi to non-git version
Institute rules about what keybindings are valid: - Empty keybindings are prohibited in all cases. - Global (i.e., non-mode dependent/non-modal) keybindings may not be the prefix of a modal keybinding. - A modal keybinding can not be the prefix of a global keybinding. - Keybindings in the same mode may prefix eachother (note: they are allowed to have the same prefix). - Keybindings in the same mode can not be equal (i.e., you can not trigger two actions with one binding). Still a lot of cleanup to do with them, but this is a good start.
|
Can't actually run the tests because I can't get a session bus running. Whenever we figure out how to do that, we can change from |
|
Well apparently x86 musl still fails... I'll work on it. |
|
@albertotirla Ready for second round of reviews! |
|
Only didn't use the |