diff --git a/.changeset/famous-rivers-repeat.md b/.changeset/famous-rivers-repeat.md new file mode 100644 index 000000000..ddbf33954 --- /dev/null +++ b/.changeset/famous-rivers-repeat.md @@ -0,0 +1,5 @@ +--- +"@fake-scope/fake-pkg": patch +--- + +Add webhook for aborted participant connection. diff --git a/livekit/livekit_analytics.pb.go b/livekit/livekit_analytics.pb.go index c30db267b..2340d43f7 100644 --- a/livekit/livekit_analytics.pb.go +++ b/livekit/livekit_analytics.pb.go @@ -89,6 +89,7 @@ const ( AnalyticsEventType_ROOM_ENDED AnalyticsEventType = 1 AnalyticsEventType_PARTICIPANT_JOINED AnalyticsEventType = 2 AnalyticsEventType_PARTICIPANT_LEFT AnalyticsEventType = 3 + AnalyticsEventType_PARTICIPANT_CONNECTION_ABORTED AnalyticsEventType = 45 AnalyticsEventType_TRACK_PUBLISHED AnalyticsEventType = 4 AnalyticsEventType_TRACK_PUBLISH_REQUESTED AnalyticsEventType = 20 AnalyticsEventType_TRACK_UNPUBLISHED AnalyticsEventType = 5 @@ -137,6 +138,7 @@ var ( 1: "ROOM_ENDED", 2: "PARTICIPANT_JOINED", 3: "PARTICIPANT_LEFT", + 45: "PARTICIPANT_CONNECTION_ABORTED", 4: "TRACK_PUBLISHED", 20: "TRACK_PUBLISH_REQUESTED", 5: "TRACK_UNPUBLISHED", @@ -182,6 +184,7 @@ var ( "ROOM_ENDED": 1, "PARTICIPANT_JOINED": 2, "PARTICIPANT_LEFT": 3, + "PARTICIPANT_CONNECTION_ABORTED": 45, "TRACK_PUBLISHED": 4, "TRACK_PUBLISH_REQUESTED": 20, "TRACK_UNPUBLISHED": 5, @@ -2436,13 +2439,14 @@ const file_livekit_analytics_proto_rawDesc = "" + "StreamType\x12\f\n" + "\bUPSTREAM\x10\x00\x12\x0e\n" + "\n" + - "DOWNSTREAM\x10\x01*\x8d\b\n" + + "DOWNSTREAM\x10\x01*\xb1\b\n" + "\x12AnalyticsEventType\x12\x10\n" + "\fROOM_CREATED\x10\x00\x12\x0e\n" + "\n" + "ROOM_ENDED\x10\x01\x12\x16\n" + "\x12PARTICIPANT_JOINED\x10\x02\x12\x14\n" + - "\x10PARTICIPANT_LEFT\x10\x03\x12\x13\n" + + "\x10PARTICIPANT_LEFT\x10\x03\x12\"\n" + + "\x1ePARTICIPANT_CONNECTION_ABORTED\x10-\x12\x13\n" + "\x0fTRACK_PUBLISHED\x10\x04\x12\x1b\n" + "\x17TRACK_PUBLISH_REQUESTED\x10\x14\x12\x15\n" + "\x11TRACK_UNPUBLISHED\x10\x05\x12\x14\n" + diff --git a/livekit/livekit_webhook.pb.go b/livekit/livekit_webhook.pb.go index c2cf94fdf..b53b6263a 100644 --- a/livekit/livekit_webhook.pb.go +++ b/livekit/livekit_webhook.pb.go @@ -37,7 +37,7 @@ const ( type WebhookEvent struct { state protoimpl.MessageState `protogen:"open.v1"` - // one of room_started, room_finished, participant_joined, participant_left, + // one of room_started, room_finished, participant_joined, participant_left, participant_connection_aborted, // track_published, track_unpublished, egress_started, egress_updated, egress_ended, // ingress_started, ingress_ended Event string `protobuf:"bytes,1,opt,name=event,proto3" json:"event,omitempty"` diff --git a/protobufs/livekit_analytics.proto b/protobufs/livekit_analytics.proto index 7b40030e1..7cd6d7b20 100644 --- a/protobufs/livekit_analytics.proto +++ b/protobufs/livekit_analytics.proto @@ -88,6 +88,7 @@ enum AnalyticsEventType { ROOM_ENDED = 1; PARTICIPANT_JOINED = 2; PARTICIPANT_LEFT = 3; + PARTICIPANT_CONNECTION_ABORTED = 45; TRACK_PUBLISHED = 4; TRACK_PUBLISH_REQUESTED = 20; TRACK_UNPUBLISHED = 5; @@ -128,7 +129,7 @@ enum AnalyticsEventType { API_CALL = 41; WEBHOOK = 42; - // NEXT_ID: 45 + // NEXT_ID: 46 } message AnalyticsClientMeta { diff --git a/protobufs/livekit_webhook.proto b/protobufs/livekit_webhook.proto index 8f6d7ea6b..67d880342 100644 --- a/protobufs/livekit_webhook.proto +++ b/protobufs/livekit_webhook.proto @@ -24,7 +24,7 @@ import "livekit_egress.proto"; import "livekit_ingress.proto"; message WebhookEvent { - // one of room_started, room_finished, participant_joined, participant_left, + // one of room_started, room_finished, participant_joined, participant_left, participant_connection_aborted, // track_published, track_unpublished, egress_started, egress_updated, egress_ended, // ingress_started, ingress_ended string event = 1; diff --git a/webhook/consts.go b/webhook/consts.go index 245cae685..409d11682 100644 --- a/webhook/consts.go +++ b/webhook/consts.go @@ -25,15 +25,16 @@ var ( const authHeader = "Authorization" const ( - EventRoomStarted = "room_started" - EventRoomFinished = "room_finished" - EventParticipantJoined = "participant_joined" - EventParticipantLeft = "participant_left" - EventTrackPublished = "track_published" - EventTrackUnpublished = "track_unpublished" - EventEgressStarted = "egress_started" - EventEgressUpdated = "egress_updated" - EventEgressEnded = "egress_ended" - EventIngressStarted = "ingress_started" - EventIngressEnded = "ingress_ended" + EventRoomStarted = "room_started" + EventRoomFinished = "room_finished" + EventParticipantJoined = "participant_joined" + EventParticipantLeft = "participant_left" + EventParticipantConnectionAborted = "participant_connection_aborted" + EventTrackPublished = "track_published" + EventTrackUnpublished = "track_unpublished" + EventEgressStarted = "egress_started" + EventEgressUpdated = "egress_updated" + EventEgressEnded = "egress_ended" + EventIngressStarted = "ingress_started" + EventIngressEnded = "ingress_ended" )