Skip to content

docs(linux): explain persistent uinput permission failures - #64

Merged
SYMBaiEX merged 1 commit into
mainfrom
feat/cycle8-issue59-uinput-guidance
Oct 5, 2026
Merged

SYMBaiEX merged 1 commit into
mainfrom
feat/cycle8-issue59-uinput-guidance

Conversation

@SYMBaiEX

@SYMBaiEX SYMBaiEX commented Oct 5, 2026

Copy link
Copy Markdown
Owner

Summary

  • Update the Linux uinput doctor to distinguish a persistent owner/mode denial on an existing node from a transient access race during module or node startup. It uses the already-reported mode/UID/GID and states that retrying cannot repair restrictive permissions.
  • Document node inspection and a reviewed systemd-tmpfiles z rule for an existing /dev/uinput node, including the input group access implications and how this differs from a udev rule applied when a node is created.
  • All permission changes remain user-reviewed and user-run. This does not change the C helper or add retry behavior.

Source evidence

Acceptance scope

  • Explain how current mode/owner information identifies persistent access restrictions and how those differ from startup timing.
  • Include an optional tmpfiles rule for an existing node, with group/access implications alongside existing udev guidance.
  • Keep all privileged commands as reviewable examples; OpenController does not write system files or run them.
  • Add focused doctor output assertions.

Closes #59

Validation

  • bun test packages/native-linux-uinput/src/__tests__/diagnostics.test.ts — 4 passed.
  • bun --cwd packages/core build — passed.
  • bun --cwd packages/native-linux-uinput typecheck — passed.
  • bun --cwd packages/native-linux-uinput build — passed.
  • bun run build — passed; 10 build tasks successful, 7 replayed from cache.
  • bun run pack:check — passed for all seven publishable packages.
  • biome check packages/native-linux-uinput/README.md packages/native-linux-uinput/src/diagnostics.ts packages/native-linux-uinput/src/__tests__/diagnostics.test.ts — passed.
  • git diff --check — passed.

Copilot AI balanced review requested due to automatic review settings October 5, 2026 01:30

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Oct 5, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 10 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 76c7d257-ceaa-40fc-b523-c62bf6ba1999
📥 Commits

Reviewing files that changed from the base of the PR and between f46c6fa and 3e924c7.

📒 Files selected for processing (3)
  • packages/native-linux-uinput/README.md
  • packages/native-linux-uinput/src/__tests__/diagnostics.test.ts
  • packages/native-linux-uinput/src/diagnostics.ts
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@SYMBaiEX
SYMBaiEX merged commit 08d34dd into main Oct 5, 2026
2 checks passed
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.

Explain persistent /dev/uinput permission failures in Linux doctor/setup guidance

3 participants