Switchboard v1.3.1
The Claude working-state actually works on the device now.
Fixed
- Working sessions never showed amber on the hardware. Stream Deck launches plugins with a minimal environment (no LANG/LC_ALL), so tmux clients spawned by the plugin ran in the C locale — and tmux transliterated the Claude title markers (braille spinner, ✳) to underscores. Every session read as 'waiting' on-device while looking correct in any terminal. All plugin subprocesses now run with a UTF-8 locale.
- The working spark's spin was invisible by construction — the spark's 6-fold symmetry collapsed its rotation to a two-frame wobble. Working keys now show a small amber dot orbiting the spark, advancing each poll tick: unmistakable motion while Claude works, stillness when it's waiting.
- Explicit key repaints (after hold-to-capture or a press) can no longer be dropped when they collide with an in-flight poll tick.
419 tests. Same signed & notarized native helpers.