Repository navigation
test(e2e): check macros and the jiggler end to end on the host - #1689
Conversation
A macro and a jiggler schedule entered in the settings are saved as entered and survive a reboot; the jiggler moves the host's mouse while no session is connected, the macro bar types the macro on the host, and deleting both in the settings takes effect. The host side is read through the remote agent.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3b75fa744a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 3b75fa7. Configure here.
The JetKVM has no /webrtc/stats; its catch-all route serves the UI's HTML with status 200 for it, so the 404 check never took the fixed wait. Only a JSON answer is polled for the session state now.

Problem
No e2e spec checks keyboard macros or the mouse jiggler on the host. The existing specs check the settings through the RPC at most, so a macro that is saved but never typed, or a jiggler schedule that is stored but never moves the mouse, would pass.
Fix
The new spec
ui/e2e/remote-agent/ra-hid-profiles.spec.tsruns in theremote-agentproject and reads the host side through the remote agent, as the otherra-*specs do. Its five tests run in order on the shared session:The file restores the original jiggler state and config, and removes only the macro it created, also when a test fails. To know that the session is closed before test 3, it polls
/webrtc/statson a device that answers it with JSON (the JetKVM Mini, a smaller JetKVM with its own firmware that serves this UI). A device without the endpoint answers 404 or, like the JetKVM, serves the UI's HTML for the unknown path; there the spec waits a fixed 5 s.The spec comes from the JetKVM Mini's suite (kvm-mini
e2e/mini/hid-profiles.spec.ts), where it has run since September. The jiggler config fields, the six-field cron schedule with seconds and the relative mouse movement it checks are the same in this repository'sjiggler.go.Testing
The e2e type check,
oxlint --deny-warningsandoxfmt --checkpass ondev, andplaywright test --list --project=remote-agentlists the five tests. On the Ethernet JetKVM Mini with its remote host, all five passed in 35.5 s. It was not run on a JetKVM.