Files
jpmschweitzer 78d9b276ee build(make): prove make setup actually works before exiting 0 (T-47)
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.
2026-08-17 12:04:12 +02:00

2.6 KiB
Raw Permalink Blame History

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/Makefile is removed. make test means the same thing from any directory.
  • Firmware targets source ~/esp-idf/export.sh themselves, so idf.py resolves without having to remember. Override the location with IDF_EXPORT=.
  • make setup now proves the gateway environment actually works instead of trusting a clean pip install exit code: it collects the test suite and checks ruff/mypy resolve 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 retiring tatlock.schweitz.internal domain is gone from config and docs. Deployments setting DESKLOCK_TATLOCK_BASE_URL are 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 011 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.