package websocket import ( "ChronoTomato/internal/notifications" "encoding/json" "fmt" "git.smsvc.net/pomodoro/GoTomato/pkg/models" "github.com/charmbracelet/log" "github.com/gorilla/websocket" ) var Done = make(chan struct{}) func ProcessServerMessages(conn *websocket.Conn) { var serverMessage models.ServerMessage defer close(Done) for { _, message, err := conn.ReadMessage() if err != nil { fmt.Println() log.Error("Read error!", "reason", err) return } err = json.Unmarshal(message, &serverMessage) if err != nil { log.Error("Error unmarshalling!", "reason", err) continue } notifications.DesktopNotifications(serverMessage) notifications.TerminalOutput(serverMessage) } }