ITADN

Server RoomServiceClient.sendData no longer received by agent after upgrading to @livekit/rtc-node@0.13.22 and @livekit/agents@1.0.31

#587Closedgabriel-abramovich 创建于 2026-01-01
### Select which package(s) are affected \@livekit/rtc-node ### Describe the bug ### Summary After upgrading to `@livekit/rtc-node` `0.13.22` and `@livekit/agents` `1.0.31`, server-side data messages sent with `RoomServiceClient.sendData` are no longer received by the agent, even though the code, topic, and room wiring have not changed. The same code works as expected with `@livekit/agents` `1.0.22` and `@livekit/rtc-node` `0.13.20`. ### Environment - `@livekit/rtc-node` version: `0.13.22` - `@livekit/agents` version: `1.0.31` - Previous working versions: - `@livekit/rtc-node` `0.13.20` - `@livekit/agents` `1.0.22` ### Current behavior The backend sends a reliable data packet with a specific topic from the server using `RoomServiceClient.sendData`, but the agent that is joined to the room no longer receives this message after the upgrade. Previously working server-side code: ```typescript const roomService = new RoomServiceClient(livekitUrl, livekitApiKey, livekitApiSecret); const textId = randomUUID(); const message = { action: 'add_text', text_id: textId, text: 'Good job!', }; await roomService.sendData( args.input.roomName, new TextEncoder().encode(JSON.stringify(message)), DataPacket_Kind.RELIABLE, { topic: 'server-commands' }, ); ``` **With the previous versions** (`@livekit/agents` `1.0.22` / `@livekit/rtc-node` `0.13.20`), the agent receives this data message as expected. **With the new versions** (`@livekit/agents` `1.0.31` / `@livekit/rtc-node` `0.13.22`), the agent no longer receives this data packet, even though: - The code shown above is unchanged - The `topic` (`'server-commands'`) is unchanged - The agent code that listens for data messages is unchanged ### Expected behavior `RoomServiceClient.sendData` should continue to deliver reliable data packets with a topic to all participants in the room, including the agent, as it did in `@livekit/agents` `1.0.22` / `@livekit/rtc-node` `0.13.20`. The agent should receive the JSON payload and be able to handle the `server-commands` topic as before. ### Reproduction 1. Set up a LiveKit room with an agent using `@livekit/agents` `1.0.31` and `@livekit/rtc-node` `0.13.22` 2. Ensure the agent is listening for data messages on the topic `'server-commands'` 3. From a Node.js backend, use `RoomServiceClient.sendData()` to send a data packet: ```typescript const roomService = new RoomServiceClient(livekitUrl, livekitApiKey, livekitApiSecret); await roomService.sendData( roomName, new TextEncoder().encode(JSON.stringify({ action: 'add_text', text: 'Test' })), DataPacket_Kind.RELIABLE, { topic: 'server-commands' }, ); ``` 4. Observe that the agent does NOT receive the data message 5. Downgrade to `@livekit/agents` `1.0.22` and `@livekit/rtc-node` `0.13.20` 6. Repeat steps 3-4 7. Observe that with the older versions, the agent DOES receive the data message ### Logs ```shell ``` ### System Info ```shell - OS: Node.js environment (server-side) - @livekit/rtc-node: 0.13.22 (broken) / 0.13.20 (working) - @livekit/agents: 1.0.31 (broken) / 1.0.22 (working) - Node.js: v22.19.0 ``` ### LiveKit server version LiveKit cloud ### Severity blocking an upgrade ### Additional Information _No response_
关闭于 2026-01-03 2 条评论