-
Notifications
You must be signed in to change notification settings - Fork 138
Upgrade protocol to v1.44.0 #857
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
📝 WalkthroughWalkthroughThis PR introduces support for Bridge participants, data track management, text messaging capabilities, and enhances WhatsApp/Twilio integration across the LiveKit protocol, FFI, and service layers. Enum variants are added, protocol messages are expanded with new data structures, and conversions are updated to support these new participant types and messaging pathways. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In `@livekit-protocol/src/livekit.rs`:
- Line 6853: Fix the typo in the doc comment for AcceptWhatsAppCallRequest:
change "conencting" to "connecting" in the proto source's comment for the phone
number id field and then regenerate the Rust code so the corrected comment
appears in livekit::AcceptWhatsAppCallRequest (ensure the proto definition for
that message is updated and protoc/codegen re-run).
- Line 4606: The doc comment for AgentDispatchState contains a typo ("tyoe" →
"type"): update the comment in the proto definition for AgentDispatchState (fix
the comment text to "type"), then re-run the proto codegen/regeneration step
used by this project (protoc/your build script) so the generated livekit.rs is
updated; ensure the regenerated code no longer contains "tyoe" in the
AgentDispatchState doc comment.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (10)
livekit-api/src/services/connector.rslivekit-ffi-node-bindings/src/proto/participant_pb.tslivekit-ffi/protocol/participant.protolivekit-ffi/src/conversion/participant.rslivekit-protocol/protocollivekit-protocol/src/livekit.rslivekit-protocol/src/livekit.serde.rslivekit/src/proto.rslivekit/src/room/mod.rslivekit/src/room/participant/mod.rs
🔇 Additional comments (17)
livekit-api/src/services/connector.rs (1)
164-168: Looks good — defaulting unspecified fields is safe and aligns with evolving proto.livekit-protocol/protocol (1)
1-1: Ensure generated protobuf artifacts are regenerated to match protocol v1.44.0.Commit
765a80e4298e376593859c3f11cf748c725f68f9is correctly tagged as v1.44.0. Verify that the generated TypeScript protobuf files inlivekit-ffi-node-bindings/src/proto/(*_pb.ts) have been regenerated to reflect the changes in this version.livekit/src/proto.rs (2)
156-160: LGTM - Bridge variant mapping is correct.The new
Bridgevariant mapping follows the established pattern. Minor style note: consider adding a trailing comma afterparticipant::ParticipantKind::Bridgefor consistency with the other match arms.
178-181: LGTM - BridgeRtsp variant mapping is correct.The
BridgeRtspkind detail mapping is properly implemented and consistent with the existing conversion patterns.livekit-ffi-node-bindings/src/proto/participant_pb.ts (2)
58-72: LGTM - Generated ParticipantKind enum correctly includes BRIDGE.The auto-generated TypeScript binding correctly adds the
BRIDGE = 6variant and its corresponding metadata entry, matching the protocol definition.
98-110: LGTM - Generated ParticipantKindDetail enum correctly includes BRIDGE_RTSP.The auto-generated TypeScript binding correctly adds the
BRIDGE_RTSP = 4variant and its corresponding metadata entry, matching the protocol definition.livekit/src/room/participant/mod.rs (2)
40-49: LGTM - Bridge variant correctly added to ParticipantKind.The new
Bridgevariant extends the enum appropriately. Consider adding a trailing comma for consistency with Rust conventions.
51-58: LGTM - BridgeRtsp variant correctly added to ParticipantKindDetail.The new
BridgeRtspvariant extends the enum appropriately. Consider adding a trailing comma for consistency.livekit-ffi/protocol/participant.proto (2)
40-48: LGTM - PARTICIPANT_KIND_BRIDGE correctly added to protocol definition.The new enum value
PARTICIPANT_KIND_BRIDGE = 6follows the sequential numbering convention and is backward compatible.
50-56: LGTM - PARTICIPANT_KIND_DETAIL_BRIDGE_RTSP correctly added to protocol definition.The new enum value
PARTICIPANT_KIND_DETAIL_BRIDGE_RTSP = 4follows the sequential numbering convention and is backward compatible.livekit/src/room/mod.rs (1)
1208-1231: LGTM - SyncState correctly extended with publish_data_tracks field.The new
publish_data_tracksfield is appropriately initialized withDefault::default(), aligning with the protocol upgrade for data track support. Consider adding a trailing comma for consistency.livekit-ffi/src/conversion/participant.rs (2)
52-64: LGTM - ParticipantKind FFI conversion correctly includes Bridge.The conversion from
ParticipantKind::Bridgetoproto::ParticipantKind::Bridgefollows the established pattern.
66-78: LGTM - ParticipantKindDetail FFI conversion correctly includes BridgeRtsp.The conversion from
ParticipantKindDetail::BridgeRtsptoproto::ParticipantKindDetail::BridgeRtspfollows the established pattern.livekit-protocol/src/livekit.rs (4)
91-92: LGTM: additive participant/data-track protocol fieldsRoom tags, participant data tracks, bridge kinds, and data-track info/options are additive with new tags and look consistent for backward compatibility.
Also applies to: 362-363, 418-421, 460-461, 608-639, 660-661, 1729-1753
3118-3287: LGTM: data-track signaling and request/response wiringSignal request/response variants, request-response reasons, SyncState, and connection settings extensions align with the new data-track flows.
Also applies to: 3353-3405, 3524-3541, 3800-3823, 3934-4011, 4031-4031
4236-4295: LGTM: text messaging worker/server surfacesThe worker/server message variants and text message payloads are cleanly integrated.
Also applies to: 4425-4459
5910-5937: LGTM: SIP/WhatsApp/Twilio protocol additionsDispatch rule number filters, SIP call id, WhatsApp disconnect reasons, and Twilio participant identity notes fit cleanly into the existing schema.
Also applies to: 6182-6183, 6731-6770, 6783-6829, 6943-6964
✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.
| #[derive(Clone, PartialEq, ::prost::Message)] | ||
| pub struct AgentDispatchState { | ||
| /// For dispatches of tyoe JT_ROOM, there will be at most 1 job. | ||
| /// For dispatches of tyoe JT_ROOM, there will be at most 1 job. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix typo in AgentDispatchState doc comment
“tyoe” → “type”. Since this is generated, please fix the proto source and regenerate.
🤖 Prompt for AI Agents
In `@livekit-protocol/src/livekit.rs` at line 4606, The doc comment for
AgentDispatchState contains a typo ("tyoe" → "type"): update the comment in the
proto definition for AgentDispatchState (fix the comment text to "type"), then
re-run the proto codegen/regeneration step used by this project (protoc/your
build script) so the generated livekit.rs is updated; ensure the regenerated
code no longer contains "tyoe" in the AgentDispatchState doc comment.
| #[derive(Clone, PartialEq, ::prost::Message)] | ||
| pub struct AcceptWhatsAppCallRequest { | ||
| /// Required - The number of the business that is conencting the call | ||
| /// Required - The phone number id of the business that is conencting the call |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix typo in AcceptWhatsAppCallRequest doc comment
“conencting” → “connecting”. Please update the proto source and regenerate.
🤖 Prompt for AI Agents
In `@livekit-protocol/src/livekit.rs` at line 6853, Fix the typo in the doc
comment for AcceptWhatsAppCallRequest: change "conencting" to "connecting" in
the proto source's comment for the phone number id field and then regenerate the
Rust code so the corrected comment appears in livekit::AcceptWhatsAppCallRequest
(ensure the proto definition for that message is updated and protoc/codegen
re-run).
No description provided.