From 0aa73f72efcb4b950e0c28100186ecfbca68c6db Mon Sep 17 00:00:00 2001 From: zarazaex69 Date: Tue, 14 Apr 2026 00:19:02 +0300 Subject: [PATCH] fix(peer): remove unused reconnect callback from data channel close handler --- internal/client/client.go | 4 ++-- internal/server/server.go | 29 ++++++++++++++--------------- internal/telemost/peer.go | 3 --- 3 files changed, 16 insertions(+), 20 deletions(-) diff --git a/internal/client/client.go b/internal/client/client.go index 4eac68f..ce482f4 100644 --- a/internal/client/client.go +++ b/internal/client/client.go @@ -221,10 +221,10 @@ func (c *Client) addPeer( func (c *Client) onReconnect(peerID int, dc *webrtc.DataChannel) { if dc == nil { log.Printf("peer %d channel closed", peerID) - } else { - log.Printf("peer %d reconnected", peerID) + return } + log.Printf("peer %d reconnected", peerID) c.mux.UpdateSendFunc(c.sendFrame) c.mux.Reset() } diff --git a/internal/server/server.go b/internal/server/server.go index ff85903..7549128 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -215,10 +215,11 @@ func (s *Server) addPeer(ctx context.Context, roomURL string, peerID int, cancel func (s *Server) handlePeerReconnect(peerID int, dc *webrtc.DataChannel) { if dc == nil { log.Printf("peer %d channel closed", peerID) - } else { - log.Printf("peer %d reconnected", peerID) + return } + log.Printf("peer %d reconnected", peerID) + s.connMu.Lock() for sid, conn := range s.connections { if conn != nil { @@ -228,19 +229,17 @@ func (s *Server) handlePeerReconnect(peerID int, dc *webrtc.DataChannel) { } s.connMu.Unlock() - if dc != nil { - s.mux.UpdateSendFunc(func(frame []byte) error { - encrypted, err := s.cipher.Encrypt(frame) - if err != nil { - return fmt.Errorf("%w: %w", ErrEncryptFailed, err) - } - if len(s.peers) == 0 { - return ErrNoPeers - } - idx := s.peerIdx.Add(1) % uint32(len(s.peers)) //nolint:gosec - return s.peers[idx].Send(encrypted) - }) - } + s.mux.UpdateSendFunc(func(frame []byte) error { + encrypted, err := s.cipher.Encrypt(frame) + if err != nil { + return fmt.Errorf("%w: %w", ErrEncryptFailed, err) + } + if len(s.peers) == 0 { + return ErrNoPeers + } + idx := s.peerIdx.Add(1) % uint32(len(s.peers)) //nolint:gosec + return s.peers[idx].Send(encrypted) + }) s.mux.Reset() } diff --git a/internal/telemost/peer.go b/internal/telemost/peer.go index 55e5bee..7286c5e 100644 --- a/internal/telemost/peer.go +++ b/internal/telemost/peer.go @@ -285,9 +285,6 @@ func (p *Peer) setupDataChannelHandlers(dcReady chan struct{}, sessionCloseCh ch } func (p *Peer) onDataChannelClose() { - if p.onReconnect != nil { - p.onReconnect(nil) - } if !p.closed.Load() { p.queueReconnect() }