From ebf64dd17dd56d61daa98dcf2da1897ec67c581b Mon Sep 17 00:00:00 2001 From: Gabe Kangas Date: Sun, 18 Feb 2024 15:49:50 -0800 Subject: [PATCH] fix(chat): do not send chat join message If a user is already connected to chat from elsewhere, do not send an additional chat join message. Closes #3487 --- core/chat/server.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/chat/server.go b/core/chat/server.go index 156df0e19..c6129ffae 100644 --- a/core/chat/server.go +++ b/core/chat/server.go @@ -96,6 +96,13 @@ func (s *Server) Addclient(conn *websocket.Conn, user *user.User, accessToken st shouldSendJoinedMessages := data.GetChatJoinPartMessagesEnabled() + // If there are existing clients connected for this user do not send + // a user joined message. Do not put this under a mutex, as + // GetClientsForUser already has a lock. + if existingConnectedClients, _ := GetClientsForUser(user.ID); len(existingConnectedClients) > 0 { + shouldSendJoinedMessages = false + } + s.mu.Lock() { // If there is a pending disconnect timer then clear it.