docs: record the LattePanda deployment and the traps it turned up

The rack display has been running v2 since today and passed a physical swipe
test and a cold boot, so the hardware table now says what is actually in
service and what is merely intended: the Wyse 3040 has not been tried yet and
should not read as though it has.

notes/HARDWARE-NOTES.md gains the two traps that cost the most time during the
deployment, both of which will recur:

lightdm autologin fires when a seat starts, not after a logout, so `i3-msg
exit` does not test the autostart -- it strands a keyboard-less wall display at
a greeter that nobody standing at the rack can get past. Only a real reboot
tests the boot path.

And `ssh host 'sudo ...'` allocates no TTY, so sudo has nowhere to prompt and
fails; chaining the rest of the recovery behind `&&` then swallows it silently.
Use `ssh -t`, and `;` for steps that must run regardless.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
jasonwitty
2026-09-09 14:03:30 -07:00
co-authored by Claude Opus 5
parent ec9a9a8892
commit ad8ebcaa71
4 changed files with 33 additions and 15 deletions
+6 -7
View File
@@ -12,13 +12,12 @@
Build there: 108 s, peak 1.1 GB of 1.9 GB, 103 MB target dir.
- [ ] Remove the v1 leftovers in `/usr/local/bin` on the LattePanda -- needs root:
`sudo rm -f /usr/local/bin/socktop-rack /usr/local/bin/socktop-swipe /usr/local/bin/socktop-gestures /usr/local/etc/socktop-swipe.env`
- [ ] **Physically swipe-test the LattePanda.** Everything was verified over the
control socket; the evdev path itself has only unit tests. Nobody has put a
finger on the panel against v2 yet.
- [ ] **Cold-boot test the LattePanda.** lightdm autologin fires at seat start, so
an `i3-msg exit` drops to the greeter instead of restarting the session --
it does not exercise the boot path, and on a keyboard-less wall display it
strands the box. Test with a real reboot, not a logout.
- [x] **Physically swipe-tested 2026-09-09** -- and it found a real bug the unit
tests could not: every swipe classified as up-to-down, because a contact's
start position was captured from the X event alone and recorded Y as zero.
Fixed, with protocol-B decoding tests. QA passed on the retest.
- [x] **Cold boot verified 2026-09-09.** Autologin, i3, and `socktop-swipe run`
all come up unattended.
- [ ] Add the tested-hardware table to the README once the Wyse is done.
- [ ] Decide on the position indicator (`indicator: true`). Implemented; keep or
cut based on whether it actually helps on the wall.