63545f032edb23dc29bfbe1468e2c3de051d2cda
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>
Description
Matrix AI voice agent - LiveKit + LiteLLM
Languages
Python
99.1%
Dockerfile
0.8%
Shell
0.1%