Repository navigation
Fixes from an adversarial review of the 1.0.x/1.1.x line, checked against
1.1.2 (several review findings were already fixed by 1.1.2 and are not
listed here).
Fixed
- ElfMouse: a duplicate
downafter amovetoswitched devices orphaned
the button on the first device —heldforgot its fd, so neitherup
norreleasecould ever release it. The first device is now released
when a held button is re-pressed on the other device. - Stuck input when the MCP client disconnects: the server exits on stdin
EOF without releasing anything, leaving adownheld forever. It now
sends release/reset to all three daemons on the way out. - Daemons now trap SIGHUP as well as SIGTERM/SIGINT, so a daemon started
withelfkey &over SSH cleans up (and releases) when the session
closes instead of dying mid-hold.
Added
wait <ms>command in all three daemons and awaitMCP tool
(0–5000 ms): timing between inputs is now expressible. Queued taps
otherwise land back-to-back, and a frame-polled game can merge them
into one continuous hold.
Changed
- README Safety model: the audit log now warns that typed secrets
(passwords, one line per keystroke) land in the journal, and a new
"Manipulated callers" paragraph states plainly that the validation
layer covers hallucinating callers, not an agent manipulated by
on-screen content.