Cosmo e2b2a5d82f
All checks were successful
Deploy / deploy (push) Successful in 3m11s
fix(voice): dismiss overlay after TTS ends, show listening state for followups
Two fixes:

1) Overlay was hiding mid-TTS because dismiss timer used
   text.length * 80ms — ElevenLabs speaks slower, so the audio got
   cut off. Now scheduleDismiss is only called from playTTS's
   onEnded callback (plus 4s lingering after audio finishes).

2) After response, the Python script silently re-entered record()
   for follow-ups but the overlay disappeared, so the user had to
   re-wake every turn. Added a new 'listening' event — Python
   emits it just before each followup record(), tablet shows the
   orb pulsing at medium intensity with 'жду' status and the last
   response text preserved below.

Safety: any state now arms a 60s auto-close in case Python dies
and never emits idle.
2026-04-23 13:55:25 +00:00
2026-04-22 10:00:41 +00:00
2026-04-22 10:00:41 +00:00
Description
Smart Home Tablet Dashboard
18 MiB
Languages
TypeScript 80.6%
JavaScript 16.1%
CSS 3%
Dockerfile 0.3%