fix(voice): stabilize single-round flow and sync web UI state

This commit is contained in:
admin
2026-02-26 14:33:02 +08:00
parent e6a6b69ced
commit dde759d0a4
10 changed files with 251 additions and 39 deletions

View File

@@ -336,7 +336,8 @@ curl -X POST http://<esp-ip>/v1/voice/session/stop
- `/v1/print/text` and `/v1/print/receipt` now support UTF-8 Chinese via embedded 16x16 GB2312 glyphs.
- Characters outside embedded glyph set are rendered as square fallback boxes.
- QR encoding uses embedded `qrcodegen` (Project Nayuki C implementation).
- Tap2talk uses server-side VAD and keeps uploading 100ms raw-opus frames in `Listening` state (silence when user is not tapping), matching `docs/websocket.md` requirements.
- Voice flow is now single-round: audio uplink stops after `SpeechEnded`, then `LocalRespondingEnded` and `Stop` are sent after local playback drain.
- Web UI blocks starting the next voice round while voice is Thinking/Responding, marker image generation is running, or printer queue is still busy.
## Font Assets