mirror of
https://github.com/ancsemi/Haven.git
synced 2026-11-06 22:13:34 +00:00
Voice audio (Bug 2): - Guard _playAudio against duplicate Web Audio graph creation - Prevents multiple GainNodes competing for the same stream Talking indicator (Bug 3): - Already fixed: 300ms hysteresis hold timer in both local and remote talk detection (prevents flicker from micro-pauses between syllables) Screen share (Bug 4): - Add SDP rollback in voice-offer handler for renegotiation glare - Guard voice-answer handler against stale answers after rollback - Use event.streams[0] in ontrack for proper stream association - Add track.onunmute to re-trigger screen display when data arrives - Mute all screen share video tiles (prevents browser autoplay block) - Explicit vid.play() call as autoplay backup GIF search (Bug 1): - Tenor API key can now be set from the admin GIF picker UI - Stored in server_settings DB table (no .env editing needed) - Server checks DB first, falls back to TENOR_API_KEY env var - Shows step-by-step setup guide when key is missing - Non-admins see a clear 'ask your admin' message