Skip to content

feat(worker): add worker protocol version#1695

Open
rosetta-livekit-bot[bot] wants to merge 1 commit into
mainfrom
feat/worker-protocol-version
Open

feat(worker): add worker protocol version#1695
rosetta-livekit-bot[bot] wants to merge 1 commit into
mainfrom
feat/worker-protocol-version

Conversation

@rosetta-livekit-bot
Copy link
Copy Markdown
Contributor

@rosetta-livekit-bot rosetta-livekit-bot Bot commented Jun 2, 2026

No description provided.

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Jun 2, 2026

🦋 Changeset detected

Latest commit: 26d2d2c

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 34 packages
Name Type
@livekit/agents Patch
@livekit/agents-plugin-anam Patch
@livekit/agents-plugin-assemblyai Patch
@livekit/agents-plugin-baseten Patch
@livekit/agents-plugin-bey Patch
@livekit/agents-plugin-cartesia Patch
@livekit/agents-plugin-cerebras Patch
@livekit/agents-plugin-deepgram Patch
@livekit/agents-plugin-elevenlabs Patch
@livekit/agents-plugin-fishaudio Patch
@livekit/agents-plugin-google Patch
@livekit/agents-plugin-hedra Patch
@livekit/agents-plugin-hume Patch
@livekit/agents-plugin-inworld Patch
@livekit/agents-plugin-lemonslice Patch
@livekit/agents-plugin-liveavatar Patch
@livekit/agents-plugin-livekit Patch
@livekit/agents-plugin-minimax Patch
@livekit/agents-plugin-mistral Patch
@livekit/agents-plugin-mistralai Patch
@livekit/agents-plugin-neuphonic Patch
@livekit/agents-plugin-openai Patch
@livekit/agents-plugin-perplexity Patch
@livekit/agents-plugin-phonic Patch
@livekit/agents-plugin-resemble Patch
@livekit/agents-plugin-rime Patch
@livekit/agents-plugin-runway Patch
@livekit/agents-plugin-sarvam Patch
@livekit/agents-plugin-silero Patch
@livekit/agents-plugin-soniox Patch
@livekit/agents-plugin-tavus Patch
@livekit/agents-plugins-test Patch
@livekit/agents-plugin-trugen Patch
@livekit/agents-plugin-xai Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

View 3 additional findings in Devin Review.

Open in Devin Review

Comment thread agents/src/worker.ts
this.#opts
.loadFunc(this)
.then((currentLoad: number) => {
this.#workerLoad = currentLoad;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Race condition: pending loadFunc promise overwrites #workerLoad after draining sets it to 1

#workerLoad is set to 1 when the draining guard runs at agents/src/worker.ts:687, but a previously-dispatched loadFunc call (which takes ~2.5s via cpuPercent at agents/src/cpu.ts:30-49) can resolve after draining starts and overwrite it at line 710 with a lower value.

Timeline: (1) interval fires, #draining is false, calls loadFunc() → returns a promise that takes ~2.5s; (2) drain() is called, sets #draining = true; (3) next interval fires, sets #workerLoad = 1; (4) the .then() from step 1 runs and sets #workerLoad = currentLoad (potentially < 1). The /worker HTTP endpoint then reports an incorrect load for up to 2.5s while the worker is draining.

Suggested change
this.#workerLoad = currentLoad;
if (this.#draining) return;
this.#workerLoad = currentLoad;
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants