From 0bfd9f8e1fcb3a351c917205145c46884fbbb273 Mon Sep 17 00:00:00 2001 From: Gabe Kangas Date: Sun, 21 Feb 2021 16:21:12 -0800 Subject: [PATCH] Do not send user joined events to chat clients if stream is not active. Closes #750 --- core/chat/server.go | 7 ++++--- core/chatListener.go | 5 +++++ models/chatListener.go | 1 + 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/core/chat/server.go b/core/chat/server.go index 5f1d94935..bc5c07a36 100644 --- a/core/chat/server.go +++ b/core/chat/server.go @@ -77,10 +77,11 @@ func (s *server) usernameChanged(msg models.NameChangeEvent) { } func (s *server) userJoined(msg models.UserJoinedEvent) { - for _, c := range s.Clients { - c.userJoinedChannel <- msg + if s.listener.IsStreamConnected() { + for _, c := range s.Clients { + c.userJoinedChannel <- msg + } } - go webhooks.SendChatEventUserJoined(msg) } diff --git a/core/chatListener.go b/core/chatListener.go index b6bcd8357..00d1a5e58 100644 --- a/core/chatListener.go +++ b/core/chatListener.go @@ -22,6 +22,11 @@ func (cl ChatListenerImpl) ClientRemoved(clientID string) { func (cl ChatListenerImpl) MessageSent(message models.ChatEvent) { } +// IsStreamConnected will return if the stream is connected. +func (cl ChatListenerImpl) IsStreamConnected() bool { + return IsStreamConnected() +} + // SendMessageToChat sends a message to the chat server. func SendMessageToChat(message models.ChatEvent) error { chat.SendMessage(message) diff --git a/models/chatListener.go b/models/chatListener.go index b987e3900..b5a1e0940 100644 --- a/models/chatListener.go +++ b/models/chatListener.go @@ -5,4 +5,5 @@ type ChatListener interface { ClientAdded(client Client) ClientRemoved(clientID string) MessageSent(message ChatEvent) + IsStreamConnected() bool }