mirror of
https://github.com/livekit/livekit.git
synced 2026-04-17 03:55:39 +00:00
send event when participant disconnects
This commit is contained in:
@@ -108,6 +108,8 @@ func (r *Room) RemoveParticipant(id string) {
|
||||
if p, ok := r.participants[id]; ok {
|
||||
// also stop connection if needed
|
||||
p.Close()
|
||||
// update clients
|
||||
r.broadcastParticipantState(p)
|
||||
}
|
||||
|
||||
delete(r.participants, id)
|
||||
|
||||
@@ -85,6 +85,8 @@ func (s *RTCService) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
defer func() {
|
||||
// remove peer from room upon disconnection
|
||||
room.RemoveParticipant(participant.ID())
|
||||
participant.Close()
|
||||
log.Infow("WS connection closed")
|
||||
}()
|
||||
@@ -108,10 +110,6 @@ func (s *RTCService) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
log.Errorw("could not handle join", "err", err, "participant", participant.ID())
|
||||
return
|
||||
}
|
||||
defer func() {
|
||||
// remove peer from room upon disconnection
|
||||
room.RemoveParticipant(participant.ID())
|
||||
}()
|
||||
case *livekit.SignalRequest_Negotiate:
|
||||
if participant.State() == livekit.ParticipantInfo_JOINING {
|
||||
log.Errorw("cannot negotiate before peer offer", "participant", participant.ID())
|
||||
|
||||
Reference in New Issue
Block a user