diff --git a/dist/script.js b/dist/script.js
index 12e1b42..caa138b 100644
--- a/dist/script.js
+++ b/dist/script.js
@@ -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("––––––––– START OF OLD MESSAGES –––––––––")
+ 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("––––––––– START OF OLD MESSAGES –––––––––")
+
+ for (const i in lastMessages) {
+ addMessage(lastMessages[i].MessageType, lastMessages[i].ServiceType, lastMessages[i].ServiceName, lastMessages[i].Msg, lastMessages[i].Timestamp)
+ }
+
+ addCustomMessage("––––––––– END OF OLD MESSAGES –––––––––")
}
+ } else {
+ if (serviceType == 0 && !checkboxAlpha.checked) return
+ if (serviceType == 1 && !checkboxBeta.checked) return
+ if (serviceType == 2 && !checkboxStable.checked) return
- addCustomMessage("––––––––– END OF OLD MESSAGES –––––––––")
+ 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)
}
}
diff --git a/go.mod b/go.mod
index b800c15..458378e 100644
--- a/go.mod
+++ b/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
diff --git a/go.sum b/go.sum
index e77c97a..b73f779 100644
--- a/go.sum
+++ b/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=
diff --git a/modules/cache/cache.go b/modules/cache/cache.go
index ee98db0..728fe86 100644
--- a/modules/cache/cache.go
+++ b/modules/cache/cache.go
@@ -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()
}
diff --git a/modules/rabbitmq/helper.go b/modules/rabbitmq/helper.go
index cde12e9..179df9d 100644
--- a/modules/rabbitmq/helper.go
+++ b/modules/rabbitmq/helper.go
@@ -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)
}
diff --git a/modules/structs/socketclient.go b/modules/structs/socketclient.go
index 42dd49b..9c28bee 100644
--- a/modules/structs/socketclient.go
+++ b/modules/structs/socketclient.go
@@ -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
diff --git a/socketclients/socketclients.go b/socketclients/socketclients.go
index 014e998..b92ba40 100644
--- a/socketclients/socketclients.go
+++ b/socketclients/socketclients.go
@@ -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(),
- })
+ }})
}
diff --git a/socketserver/hub.go b/socketserver/hub.go
index 8eea9f4..6fd920a 100644
--- a/socketserver/hub.go
+++ b/socketserver/hub.go
@@ -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: