Browse Source

Do not send user joined events to chat clients if stream is not active. Closes #750

pull/753/head
Gabe Kangas 5 years ago
parent
commit
0bfd9f8e1f
  1. 7
      core/chat/server.go
  2. 5
      core/chatListener.go
  3. 1
      models/chatListener.go

7
core/chat/server.go

@ -77,10 +77,11 @@ func (s *server) usernameChanged(msg models.NameChangeEvent) { @@ -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)
}

5
core/chatListener.go

@ -22,6 +22,11 @@ func (cl ChatListenerImpl) ClientRemoved(clientID string) { @@ -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)

1
models/chatListener.go

@ -5,4 +5,5 @@ type ChatListener interface { @@ -5,4 +5,5 @@ type ChatListener interface {
ClientAdded(client Client)
ClientRemoved(clientID string)
MessageSent(message ChatEvent)
IsStreamConnected() bool
}

Loading…
Cancel
Save