snowspeeder df8aa64504
Rebuild & Deploy / rebuild (push) Successful in 50s
fix: start cached songs even when played by voice (autoplay + room scope)
Hope often starts an already-downloaded song from a voice command, with no
click on the player. Two things could leave it paused at 0:

- The <audio> element sits outside the LiveKit room's audio-unlock flow, so
  autoplay policy rejected the poll-driven play(). Capture the first page
  gesture (pointerdown/keydown/touchstart) and play the current src inside it
  to whitelist the element for autoplay.
- Player state is scoped per LiveKit room, but mediaScope() could return a
  stale shell room after a reconnect. Derive it from the connected room.name
  so the browser polls exactly the room the agent joined, and a "play X"
  request can never land in a scope the browser isn't watching.

Add an in-container regression test (test_media_play_resolves_cached_ready_track)
pinning the server-side resolve: an already-ready track plays without a
re-download and serves a stable audio_url.
2026-08-29 17:37:51 -04:00
S
Description
Real-time voice assistant: LiveKit + Azure Speech + local Gemma LLM
6 MiB
0 Stars 1 Watchers 0 Forks
Languages
Python 42.3%
Swift 27.3%
HTML 16.5%
JavaScript 7.8%
CSS 5.3%
Other 0.8%