Files
jasonwitty ad8ebcaa71 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>
2026-09-09 14:03:30 -07:00

2.4 KiB

TODO

Before calling v2.0 done

  • Wyse 3040 validation. Debian minimal to working rack display, following only the README. Every stumble is a README fix, then re-run. This is the acceptance gate, not a nice-to-have.
  • LattePanda switched over 2026-09-09. v2 binary at ~/.local/bin (no passwordless sudo on that box), config at ~/.config/socktop-swipe/config.yaml, i3 autostart replaced with a single socktop-swipe run. All four screens verified live from the framebuffer. 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-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.
  • 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.

Open questions from the plan

  • Snap tie-break. From 0x2, with cells at -1x1 and -1x3 both at distance 1, the lower column wins. Only fires on the first entry into a row.
  • Indicator. Off by default. See above.

Later

  • Prebuilt binaries. Deliberately not in v2.0: source-only until the Wyse install shows how bad a build on an Atom really is. [package.metadata.deb] is already in Cargo.toml, so cargo deb is the cheap next step if it turns out to hurt.
  • unifly parameters. site and controller are accepted by the config and passed as --site / --controller, but the fork does not implement them yet. Verify against the flags it actually grows.
  • A second monitor type that needs a multi-pane sub-sequence would prove the Vec<Pane> model generalises. Nothing needs it yet.
  • SIGTERM handling to remove the control socket on exit. Not urgent: a stale socket is detected and replaced on the next start, which is tested behaviour.