Skip to content

Fix: the console owner was refused from the host USB panel - #138

Merged
vibesoftwarecoder merged 1 commit into
masterfrom
fix/console-caller-seat-accounts
Oct 30, 2026
Merged

vibesoftwarecoder merged 1 commit into
masterfrom
fix/console-caller-seat-accounts

Conversation

@vibesoftwarecoder

Copy link
Copy Markdown
Owner

What was wrong. In 0.6.24, GET /api/host/usb answered 403 NotConsoleUser to the person at the console. The caller check treated every account MultiSeat stores as a seat account. That list also holds accounts that were only linked (IsManaged false), and the console owner is often one of them. On the reference host, roelb is linked.

What changes. A seat account is now one MultiSeat created, or one that hosts a live seat or has a saved seat preset. A linked account that does host a seat still counts, so a seat user who moves their session to the console with tscon is still refused. The rule is now a pure function, SeatSidsFrom, so a test can drive it. docs/security-posture.md says the same.

How this was checked.

  • Five new tests. The one that covers the bug fails with the old rule and passes now (checked by temporarily removing the filter).
  • Full suite: 1932 passed, 18 skipped, 0 failed.
  • Not yet verified: the panel in a real browser on the console. 0.6.24 failed exactly there, so that check comes after the 0.6.25 install.

🤖 Generated with Claude Code

ConsoleCallerCheck counted every account AccountManager stores as a seat
account. That includes accounts that were only linked (IsManaged false),
and the person at the console is often one of them. On the reference host
roelb is linked, so GET /api/host/usb answered 403 NotConsoleUser to the
console user themself.

The seat-account set is now the accounts MultiSeat created, plus the
account of every live seat and of every saved seat preset. A linked
account that hosts a seat still counts. The rule is a pure function
(SeatSidsFrom) so it can be tested; the new test fails on the old rule.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@vibesoftwarecoder
vibesoftwarecoder merged commit dc3e17e into master Oct 30, 2026
3 checks passed
@vibesoftwarecoder
vibesoftwarecoder deleted the fix/console-caller-seat-accounts branch October 30, 2026 16:08
@vibesoftwarecoder vibesoftwarecoder mentioned this pull request Oct 30, 2026
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.

1 participant