Skip to content

chore: add LICENSE, CI, Cargo metadata, fix clippy warnings - #1

Merged
eunhhu merged 1 commit into
mainfrom
devin/1776994961-polish-and-fixes
Apr 24, 2026
Merged

eunhhu merged 1 commit into
mainfrom
devin/1776994961-polish-and-fixes

Conversation

@devin-ai-integration

Copy link
Copy Markdown

Summary

penput was already in solid shape — a usable README, a release workflow, and clean module structure. This PR fills in the gaps a polished crate is expected to have without changing any runtime behaviour.

Polish

  • Added LICENSE. Cargo.toml declared license = "MIT" but there was no matching file. Added the standard MIT text.
  • Cargo metadata. Added authors, repository, homepage, readme, keywords, categories, and rust-version = "1.88". The MSRV was implicit (let-chains + edition = "2024"); now it's explicit so cargo install penput on an older toolchain fails with a clear message.

CI

  • New ci.yml. The existing release-build.yml only runs when the commit message contains release, so regular PRs had no sanity check. Added a lint-and-build workflow that runs on every push / PR:
    • cargo fmt --all -- --check
    • cargo clippy --all-targets -- -D warnings
    • cargo build
    • Installs libxcb1-dev / libx11-dev so enigo links on the Ubuntu runner.

Cleanups (to make -D warnings pass)

  • src/connection.rs — print!("...\n") → println!("...") (clippy print_with_newline).
  • src/websocket.rs, src/udp.rs — collapsed nested if let … { if … } blocks into let-chains (clippy collapsible_if). Bumping MSRV to 1.88 covers this.
  • src/http.rs — cargo fmt re-ordered some imports; no logic change.

Review & Testing Checklist for Human

  • Pull the branch and run cargo run -- --port 8080 --ws-port 9001, approve a connection in the CLI, and confirm the mobile touchpad still drives the mouse as before.
  • cargo clippy --all-targets -- -D warnings is clean locally.

Notes

  • No behavioural changes. The let-chain rewrites in udp.rs / websocket.rs are literal semantic equivalents of the previous nested if let … { if … } blocks.
  • rust-version was set to 1.88 specifically because that is the release that stabilised if let-chains.

Link to Devin session: https://app.devin.ai/sessions/3e6146e428b74cc6bc973143697be3eb
Requested by: @eunhhu

@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@eunhhu
eunhhu merged commit 0680159 into main Apr 24, 2026
4 checks passed
eunhhu added a commit that referenced this pull request Oct 26, 2026
chore: add LICENSE, CI, Cargo metadata, fix clippy warnings
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants