Conversation
when starting a session, we now support record=RecordOptions() where audio, traces, logs, and transcript could be individually enabled or disabled.
Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
chenghao-mou
left a comment
There was a problem hiding this comment.
One failing test, otherwise lgtm.
One thing I noticed is that we show "No observability data available" on the UI whenever traces aren't available (even when other types of data should be).
Co-authored-by: Chenghao Mou <chenghao.mou@livekit.io>
| # wait for the idle processes to be warmed up (by the main task) | ||
| await self._idle_ready.wait() | ||
| # use a timeout so start() doesn't block forever if initialization fails | ||
| try: |
There was a problem hiding this comment.
@theomonnom confirming that this should not block .start if processes take longer than init timeout
There was a problem hiding this comment.
If initialization fails, other processes will try to be spawned again. So it shouldn't block forever even without a timeout
There was a problem hiding this comment.
without this, test_slow_initialization could not start correctly... because I think each new process is hitting the timeout, so it was never able to reach capacity. wdty the right behavior should be?
There was a problem hiding this comment.
shouldn't await _wait_for_elements(start_q, num_idle_processes) already wait for those processes tho?
There was a problem hiding this comment.
But I think you're right, we shouldn't wait here, can you ignore it for this PR? I can take over
There was a problem hiding this comment.
It's used by the worker to make sure we don't register to LK Cloud until everything is ready
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Chenghao Mou <chenghao.mou@livekit.io>
Users can now pass plain dicts like record={"logs": False} without
importing RecordingOptions. Missing keys default to True.
# Conflicts: # uv.lock
when starting a session, we now support record=RecordOptions() where audio, traces, logs, and transcript could be individually enabled or disabled.