log messages are bundled
parent
5a15e7b751
commit
a67353a055
|
@ -191,35 +191,39 @@ function connectWS() {
|
|||
}
|
||||
|
||||
ws.onmessage = (msg) => {
|
||||
let data = JSON.parse(msg.data)
|
||||
let messages = JSON.parse(msg.data)
|
||||
|
||||
messageType = data.MessageType
|
||||
serviceName = data.ServiceName
|
||||
serviceType = data.ServiceType
|
||||
timestamp = data.Timestamp
|
||||
for (i in messages) {
|
||||
data = messages[i]
|
||||
|
||||
if (messageType == 100 && serviceName == 100) { // viewer count
|
||||
viewersCount.innerHTML = data.Msg + (data.Msg == 1 ? " viewer" : " viewers")
|
||||
messageType = data.MessageType
|
||||
serviceName = data.ServiceName
|
||||
serviceType = data.ServiceType
|
||||
timestamp = data.Timestamp
|
||||
|
||||
addViewerInfoMessage(serviceType == 1, timestamp)
|
||||
} else if (messageType == 101 && serviceName == 101 && serviceType == 101) {
|
||||
lastMessages = JSON.parse(data.Msg)
|
||||
|
||||
if (lastMessages != null && lastMessages.length > 0) {
|
||||
addCustomMessage("<span style='color: #7f8c8d'>––––––––– START OF OLD MESSAGES –––––––––</span>")
|
||||
if (messageType == 100 && serviceName == 100) { // viewer count
|
||||
viewersCount.innerHTML = data.Msg + (data.Msg == 1 ? " viewer" : " viewers")
|
||||
|
||||
for (const i in lastMessages) {
|
||||
addMessage(lastMessages[i].MessageType, lastMessages[i].ServiceType, lastMessages[i].ServiceName, lastMessages[i].Msg, lastMessages[i].Timestamp)
|
||||
addViewerInfoMessage(serviceType == 1, timestamp)
|
||||
} else if (messageType == 101 && serviceName == 101 && serviceType == 101) {
|
||||
lastMessages = JSON.parse(data.Msg)
|
||||
|
||||
if (lastMessages != null && lastMessages.length > 0) {
|
||||
addCustomMessage("<span style='color: #7f8c8d'>––––––––– START OF OLD MESSAGES –––––––––</span>")
|
||||
|
||||
for (const i in lastMessages) {
|
||||
addMessage(lastMessages[i].MessageType, lastMessages[i].ServiceType, lastMessages[i].ServiceName, lastMessages[i].Msg, lastMessages[i].Timestamp)
|
||||
}
|
||||
|
||||
addCustomMessage("<span style='color: #7f8c8d'>––––––––– END OF OLD MESSAGES –––––––––</span>")
|
||||
}
|
||||
} else {
|
||||
if (serviceType == 0 && !checkboxAlpha.checked) return
|
||||
if (serviceType == 1 && !checkboxBeta.checked) return
|
||||
if (serviceType == 2 && !checkboxStable.checked) return
|
||||
|
||||
addCustomMessage("<span style='color: #7f8c8d'>––––––––– END OF OLD MESSAGES –––––––––</span>")
|
||||
addMessage(messageType, serviceType, serviceName, data.Msg, timestamp)
|
||||
}
|
||||
} else {
|
||||
if (serviceType == 0 && !checkboxAlpha.checked) return
|
||||
if (serviceType == 1 && !checkboxBeta.checked) return
|
||||
if (serviceType == 2 && !checkboxStable.checked) return
|
||||
|
||||
addMessage(messageType, serviceType, serviceName, data.Msg, timestamp)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
2
go.mod
2
go.mod
|
@ -3,7 +3,7 @@ module clickandjoin.app/managementsystem
|
|||
go 1.18
|
||||
|
||||
require (
|
||||
git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper v1.0.47
|
||||
git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper v1.0.54
|
||||
github.com/gocql/gocql v0.0.0-20211015133455-b225f9b53fa1
|
||||
github.com/gofiber/fiber/v2 v2.42.0
|
||||
github.com/gofiber/websocket/v2 v2.1.4
|
||||
|
|
2
go.sum
2
go.sum
|
@ -1,5 +1,7 @@
|
|||
git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper v1.0.47 h1:vbXCuHSA7IGpZSGyZfzi31MK/rlxBParBMDEZsdBdWk=
|
||||
git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper v1.0.47/go.mod h1:Jzc4/4ntrOLMOZYnUjkr1uBCVtRvPbEbQD+8kwBOdf4=
|
||||
git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper v1.0.54 h1:bAB8Z9qJgX/H+PNakoP1PK9Sox+oyy9+L4w7n/6JkBs=
|
||||
git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper v1.0.54/go.mod h1:/CvzIeBG4vJK/MgXzwmwCYwodiTGTMOYGDF3ao/fFLM=
|
||||
github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY=
|
||||
github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
|
||||
github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 h1:mXoPYz/Ul5HYEDvkta6I8/rnYM5gSdSV2tJ6XbZuEtY=
|
||||
|
|
|
@ -42,14 +42,14 @@ func GetSocketClient(clientId string) (socketClient *structs.SocketClient, ok bo
|
|||
var lastLogMessages []gocnjhelper.RabbitMqLogMessage
|
||||
var muL sync.RWMutex
|
||||
|
||||
func AddLastLogMessage(rabbitMqLogMessage gocnjhelper.RabbitMqLogMessage) {
|
||||
func AddLastLogMessages(rabbitMqLogMessage []gocnjhelper.RabbitMqLogMessage) {
|
||||
muL.Lock()
|
||||
|
||||
if len(lastLogMessages) > utils.CachedLastLogMessages {
|
||||
lastLogMessages = lastLogMessages[1:]
|
||||
}
|
||||
|
||||
lastLogMessages = append(lastLogMessages, rabbitMqLogMessage)
|
||||
lastLogMessages = append(lastLogMessages, rabbitMqLogMessage...)
|
||||
|
||||
muL.Unlock()
|
||||
}
|
||||
|
|
|
@ -41,18 +41,16 @@ func LogsMessagesHandling() {
|
|||
LogsClient.Channel.NotifyClose(channelClosedChannel)
|
||||
|
||||
case msg := <-msgs:
|
||||
gocnjhelper.LogDebugf("RECV msg %s", msg)
|
||||
var logMessages []gocnjhelper.RabbitMqLogMessage
|
||||
|
||||
logMessage := gocnjhelper.RabbitMqLogMessage{}
|
||||
|
||||
if err := json.Unmarshal(msg.Body, &logMessage); err != nil {
|
||||
if err := json.Unmarshal(msg.Body, &logMessages); err != nil {
|
||||
gocnjhelper.LogErrorf("Failed to unmarshal json message, err: %s", err)
|
||||
continue
|
||||
}
|
||||
|
||||
socketclients.BroadcastLogMessage(logMessage)
|
||||
socketclients.BroadcastLogMessage(logMessages)
|
||||
|
||||
cache.AddLastLogMessage(logMessage)
|
||||
cache.AddLastLogMessages(logMessages)
|
||||
|
||||
msg.Ack(false)
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ type SocketMessage struct {
|
|||
Msg []byte
|
||||
}
|
||||
|
||||
func (socketClient *SocketClient) SendMessage(message gocnjhelper.RabbitMqLogMessage) error {
|
||||
func (socketClient *SocketClient) SendMessage(message []gocnjhelper.RabbitMqLogMessage) error {
|
||||
var marshaledMessage []byte
|
||||
var err error
|
||||
|
||||
|
|
|
@ -8,18 +8,18 @@ import (
|
|||
gocnjhelper "git.clickandjoin.umbach.dev/ClickandJoin/go-cnj-helper"
|
||||
)
|
||||
|
||||
func BroadcastLogMessage(rabbitMqLogMessage gocnjhelper.RabbitMqLogMessage) {
|
||||
func BroadcastLogMessage(rabbitMqLogMessage []gocnjhelper.RabbitMqLogMessage) {
|
||||
for _, client := range cache.GetSocketClients() {
|
||||
client.SendMessage(rabbitMqLogMessage)
|
||||
}
|
||||
}
|
||||
|
||||
func BroadcastViewersCountMessage(joined int) {
|
||||
BroadcastLogMessage(gocnjhelper.RabbitMqLogMessage{
|
||||
BroadcastLogMessage([]gocnjhelper.RabbitMqLogMessage{{
|
||||
MessageType: 100,
|
||||
ServiceName: 100,
|
||||
ServiceType: uint8(joined),
|
||||
Msg: strconv.Itoa(len(cache.GetSocketClients())),
|
||||
Timestamp: time.Now().UnixMilli(),
|
||||
})
|
||||
}})
|
||||
}
|
||||
|
|
|
@ -35,13 +35,13 @@ func RunHub() {
|
|||
continue
|
||||
}
|
||||
|
||||
socketClient.SendMessage(gocnjhelper.RabbitMqLogMessage{
|
||||
socketClient.SendMessage([]gocnjhelper.RabbitMqLogMessage{{
|
||||
MessageType: 101,
|
||||
ServiceName: 101,
|
||||
ServiceType: 101,
|
||||
Msg: string(lastMessages),
|
||||
Timestamp: time.Now().Unix(),
|
||||
})
|
||||
}})
|
||||
}
|
||||
|
||||
case data := <-broadcast:
|
||||
|
|
Loading…
Reference in New Issue