Christian Gick 3706f568b6 fix: skip stale E2EE keys and re-fetch on persistent DEC_FAILED
- Timeline key fetch now filters by sent_ts (max 60s age) to avoid
  using keys from a previous call session
- After 3+ consecutive DEC_FAILED events, automatically re-fetches
  key from timeline in case rotation happened
- Tracks DEC_FAILED count per participant, resets on OK

This should fix the issue where the bot picks up stale encryption keys
from previous calls and can't decrypt the current caller's audio.

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