From 22f91ce383de82bcb44acdc339eada89f3e60c65 Mon Sep 17 00:00:00 2001 From: Raja Subramanian Date: Wed, 21 Oct 2026 12:55:11 +0530 Subject: [PATCH] Align SFU RPC caller timeouts with client SDK (#5037) Pick up protocol#1879 (round-trip 7s, default response 15s) so a server-initiated PerformRpc tolerates the same ack and response windows as the client SDK caller. Also log an RPC response the v1 caller cannot decode (compressed_payload or data-stream) instead of dropping it, which otherwise surfaces only as a response timeout. Co-authored-by: Claude Opus 4.8 --- go.mod | 2 +- go.sum | 4 ++-- pkg/rtc/participant.go | 3 +++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5ca0e04c1..d4650190a 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/jxskiss/base62 v1.1.0 github.com/livekit/mageutil v0.0.0-20250511045019-0f1ff63f7731 github.com/livekit/mediatransportutil v0.0.0-20261014192331-dd8e31a0adc0 - github.com/livekit/protocol v1.52.2-0.20261019104604-8a409dee75df + github.com/livekit/protocol v1.53.1-0.20261021070436-f09f87aab29b github.com/livekit/psrpc v0.8.2 github.com/mackerelio/go-osstat v0.2.8 github.com/magefile/mage v1.17.2 diff --git a/go.sum b/go.sum index 6c96da5fe..c9792be8b 100644 --- a/go.sum +++ b/go.sum @@ -166,8 +166,8 @@ github.com/livekit/mageutil v0.0.0-20250511045019-0f1ff63f7731 h1:9x+U2HGLrSw5AT github.com/livekit/mageutil v0.0.0-20250511045019-0f1ff63f7731/go.mod h1:Rs3MhFwutWhGwmY1VQsygw28z5bWcnEYmS1OG9OxjOQ= github.com/livekit/mediatransportutil v0.0.0-20261014192331-dd8e31a0adc0 h1:BSLyHr3Lsl71bHGHsfiYNmbohugR2yoaf9HjAZeFJnc= github.com/livekit/mediatransportutil v0.0.0-20261014192331-dd8e31a0adc0/go.mod h1:o8CFmAdrVwzJNOCsQCLUzXRjokkufNshnQHOe4fRaqU= -github.com/livekit/protocol v1.52.2-0.20261019104604-8a409dee75df h1:HTs2Bh+gerbHsecuE7p7W77G7JWjW5gaGxGyJxroPRU= -github.com/livekit/protocol v1.52.2-0.20261019104604-8a409dee75df/go.mod h1:kUTAI2TrTngGOiWP6MTAOkJpru6YYGd0MP9wzlDATy4= +github.com/livekit/protocol v1.53.1-0.20261021070436-f09f87aab29b h1:SrvXlVsWYxgdk6VRasJ9HCHFE+psFf17jQwriLBArgY= +github.com/livekit/protocol v1.53.1-0.20261021070436-f09f87aab29b/go.mod h1:kUTAI2TrTngGOiWP6MTAOkJpru6YYGd0MP9wzlDATy4= github.com/livekit/psrpc v0.8.2 h1:7tbkhBJoYlK5Csfkdv1XYbZjyAQeaEZgupvIXNCv7Dc= github.com/livekit/psrpc v0.8.2/go.mod h1:6KnU8vULoizX0Er9NNfeKJDV8ug87j3fuo19M0bhj6Q= github.com/livekit/webrtc-pion/v4 v4.2.18-warp.6 h1:UaGYlQ/Ma73LN12xPDlH3OBYNfOEDTVOtHdRZbHg2dY= diff --git a/pkg/rtc/participant.go b/pkg/rtc/participant.go index 0ded2aba1..c2e18e4cb 100644 --- a/pkg/rtc/participant.go +++ b/pkg/rtc/participant.go @@ -2644,6 +2644,9 @@ func (p *ParticipantImpl) handleReceivedDataMessage(kind livekit.DataPacket_Kind Message: res.Error.GetMessage(), Data: res.Error.GetData(), }) + default: + // Unknown response encoding: still forwarded downstream, logged as a canary. + p.pubLogger.Warnw("unhandled RPC response value type", nil, "rpc_request_id", rpcResponse.GetRequestId()) } case *livekit.DataPacket_RpcAck: if payload.RpcAck == nil {