private Yen mode + listening indicator + weather tool + guest speaking language
- Sparkles toolbar button now opens Yen in PRIVATE mode (publicMode=false) so no tile is broadcast to other participants
- Voice-triggered 'Hey Yen' still fires publicly (tile visible to all)
- Host now has full interactive YenChatPanel in private mode (confirm/ decline/type context) without guests seeing anything
- 'Yen is listeningβ¦' pulsing amber badge appears at top-center of meeting room from wake-word detection until query fires
- Hold phrases (wait/also/forgot etc) extend the wait by +1500ms
- Logic simplified to shared firePendingQuery() callback
- New get_weather tool added to yen-chat route and panel labels
- Uses Open-Meteo geocoding + forecast APIs (free, no API key needed)
- Returns current conditions: temp (Β°F), feels-like, wind, humidity, condition description, peak rain probability for the day
- Pre-join screen now shows a speaking-language picker (17 languages) so guests explicitly set which language they speak, not guessed from browser locale
- Settings panel (gear icon) inside the live room also has an 'I'm speaking' section to change STT language mid-call, which stops and restarts Deepgram with the new language code
- spokenLanguage is now stateful in both GuestRoomClient and RoomContent
51b81acView on GitHub β