Christian Gick 63545f032e fix(voice): set E2EE keys immediately after connect, before rotation wait
Root cause: caller track subscribed during 2s rotation wait creates a
frame cryptor with no key → DEC_FAILED state → all incoming frames dropped.
Setting the key after the wait doesn't recover the cryptor.

Fix: set bot + caller keys immediately after lk_room.connect(), using
the Matrix-provided caller identity. The post-rotation and post-find-remote
key updates remain as belt+suspenders.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 10:34:20 +02:00
Description
Matrix AI voice agent - LiveKit + LiteLLM
5.5 MiB
Languages
Python 99.1%
Dockerfile 0.8%
Shell 0.1%