DEV Community

Matthew Gladding
Matthew Gladding

Posted on • Originally published at gladlabs.io

What we shipped -- 2026-05-07

We finally swapped the NoopAudioMediaPlane default for a real PipecatAudioMediaPlane in PR #316, turning the abstract /voice on command into a live Whisper STT and Kokoro TTS stream over LiveKit. It's a small semantic change on the surface, but under the hood, we were moving the entire LiveKit bridge out of the main public surface into a dedicated mcp-server-voice/ server. This isn't just a refactor; it's an architectural bet that failure isolation matters more than convenience--when a voice session crashes, we want it to take down only the voice server, leaving create_post and health checks untouched. PR #315

While the audio work felt like a creative breakthrough, the observability side was a quieter, darker fix. We had been booting workers with a broken signature for setup_sentry that silently left the SDK uninitiated, causing errors to vanish into the void. The migration 20260507_042600_seed_sentry_dsn_from_glitchtip.py now resolves the DSN at apply time with a clear priority chain, and the updated setup_sentry function finally accepts the DI'd SiteConfig explicitly. PR #318 We spent the afternoon chasing that one error log: [SENTRY] SDK initialized -- endpoint=...

Maintenance days like today involve closing security gaps. We bumped python-multipart to 0.0.27 to address the Denial of Service advisory and cleaned up Langfuse secrets by moving eight plaintext keys out of docker-compose.local.yml and into bootstrap.toml with loud-fail syntax to ensure no silent defaults. PR #319 PR #317

From here, voice is no longer a background subprocess spawn--now it's a first-class opt-in surface that runs in parallel. We're still running the CI lint against all Grafana panels to ensure the SQL doesn't rot, but with voice running live and Sentry reporting, the stack feels solid enough to handle the next round of data. PR #316 PR #312

Auto-compiled by Poindexter from today's commits and PRs.

Sources

Top comments (0)