pip install exiting 0 is not evidence the gateway environment is usable (D-24) — a resolved-but-broken dependency or a stale venv from another Python both look identical to a clean install at the point setup exits. End the target with a cheap positive check instead: collect the test suite (imports every src module each test pulls in) and confirm ruff and mypy resolve inside the venv, the only place either binary exists. Also states explicitly, in a comment, that setup covers the gateway half only — the firmware half needs `source ~/esp-idf/export.sh` in every shell, which a Makefile recipe cannot leave sourced in the caller's shell, so build-firmware sources it itself instead.
2.6 KiB
2.6 KiB
Changelog
All notable, user-facing changes to DeskLock are documented in this file.
The format is based on Keep a Changelog. DeskLock is pre-release and unversioned; entries accumulate under Unreleased until the first tagged release.
[Unreleased]
Changed
- One Makefile at the repo root now drives firmware, gateway and sim;
gateway/Makefileis removed.make testmeans the same thing from any directory. - Firmware targets source
~/esp-idf/export.shthemselves, soidf.pyresolves without having to remember. Override the location withIDF_EXPORT=. make setupnow proves the gateway environment actually works instead of trusting a cleanpip installexit code: it collects the test suite and checksruff/mypyresolve in the venv, and fails the target if any of that is broken (T-47).
[0.2.2] — 2026-07-19
Changed
- The gateway's default Tatlock URL is now
http://tatlock:8000(docker container name) — the retiringtatlock.schweitz.internaldomain is gone from config and docs. Deployments settingDESKLOCK_TATLOCK_BASE_URLare unaffected.
[0.2.1] — 2026-07-15
Fixed
- A spoken volume command no longer leaves the face stuck in the thinking spinner — the feedback gong is a UI cue and no longer holds the busy state, so the return-to-idle isn't swallowed.
- The butler filler line reads as one phrase instead of two — reworded to "Let me check on that, sir." to avoid a text-to-speech pause before "for you".
[0.2.0] — 2026-07-15
Added
- After a request, the butler immediately says "Let me check on that for you, sir" and keeps a spinner up while it works, so the long wait isn't dead air.
- Spoken volume commands ("volume up/down", "mute/unmute", "set volume to N", "this one goes to eleven") are handled instantly on the gateway, bypassing the assistant — no waiting on a reply just to change the volume.
- Tap the screen to reveal on-screen controls — a microphone button plus volume down/up and a live level bar, using Phosphor icon glyphs. Tapping the dimmed backdrop dismisses them.
Fixed
- Fixed the blue-screen flicker during voice activity — the matrix rain now renders as cheap pre-rendered sprites, and the DSI clocks/FIFO are tuned, so the display's memory reads are no longer starved by Wi-Fi and audio DMA.
Changed
- Volume is now an 0–11 scale (it goes to eleven) with a gong cue on each change and a little "11" that floats off the bar at maximum.
- Matrix rain is drawn from a reused pool of pre-rendered streak sprites instead of live text labels, and eases off while the device is listening or speaking.