diff --git a/src/api/limits.go b/src/api/limits.go index b559355..034912b 100644 --- a/src/api/limits.go +++ b/src/api/limits.go @@ -7,4 +7,4 @@ const MaxMessageContentLen uint = 500 const MaxMessagesRemembered uint = 50 // Max filesize to accept as attachment -const MaxAttachmentSize uint64 = 31457280 // 30MB +const MaxAttachmentSize uint64 = 104857600 // 100MB diff --git a/src/api/message.go b/src/api/message.go index c17850f..a190b25 100644 --- a/src/api/message.go +++ b/src/api/message.go @@ -48,7 +48,7 @@ func (db *DB) AddMessage(message Message) error { } if count >= uint64(MaxMessagesRemembered) { - // remove the last one + // remove the last one if the max messages threshold has been exceeded command = fmt.Sprintf("DELETE FROM %s WHERE timestamp = (SELECT MIN(timestamp) FROM %s)", MessagesTablename, MessagesTablename) _, err := db.Exec(command) if err != nil { diff --git a/src/api/websocket.go b/src/api/websocket.go index 1c05b64..6d24214 100644 --- a/src/api/websocket.go +++ b/src/api/websocket.go @@ -70,8 +70,9 @@ func (holder *WSHolder) HandleNewWebSocketMessages(ws *WS, output chan Message) holder.Remove(ws.User.Name) disconnectionMessage := Message{ - From: UserSystem, - Contents: fmt.Sprintf("%s has disconnected", ws.User.Name), + TimeStamp: uint64(time.Now().UnixMilli()), + From: UserSystem, + Contents: fmt.Sprintf("%s has disconnected", ws.User.Name), } output <- disconnectionMessage break @@ -83,8 +84,9 @@ func (holder *WSHolder) HandleNewWebSocketMessages(ws *WS, output chan Message) holder.Remove(ws.User.Name) disconnectionMessage := Message{ - From: UserSystem, - Contents: fmt.Sprintf("%s has disconnected", ws.User.Name), + TimeStamp: uint64(time.Now().UnixMilli()), + From: UserSystem, + Contents: fmt.Sprintf("%s has disconnected", ws.User.Name), } output <- disconnectionMessage diff --git a/src/main.go b/src/main.go index 672fcc1..7654f98 100644 --- a/src/main.go +++ b/src/main.go @@ -26,7 +26,7 @@ import ( "unbewohnte/gochat/server" ) -const version string = "0.1.1" +const version string = "0.1.2" var ( port *uint = flag.Uint("port", 8080, "Set working port") diff --git a/src/server/server.go b/src/server/server.go index bc6fef7..a54864c 100644 --- a/src/server/server.go +++ b/src/server/server.go @@ -139,7 +139,11 @@ func (s *Server) Start() { go s.BroadcastMessages() // clean attachments storage from time to time // max attachment filesize * 50 is the limit, check every 5 sec - go manageAttachmentsStorage(filepath.Join(s.workingDir, attachmentsDirName), api.MaxAttachmentSize*50, time.Second*5) + go manageAttachmentsStorage( + filepath.Join(s.workingDir, attachmentsDirName), + api.MaxAttachmentSize, + time.Second*5, + ) // fire up either a TLS or non-TLS server if s.keyFile != "" && s.certFile != "" { diff --git a/src/server/userHandler.go b/src/server/userHandler.go index d5155e8..5030f76 100644 --- a/src/server/userHandler.go +++ b/src/server/userHandler.go @@ -108,20 +108,6 @@ func (s *Server) HandlerUsers(w http.ResponseWriter, req *http.Request) { w.Write(responseBytes) } - // users, err := db.getAllUsers() - // if err != nil { - // http.Error(w, "", http.StatusInternalServerError) - // return - // } - - // w.Header().Add("Content-type", "application/json") - // userBytes, err := json.Marshal(*users) - // if err != nil { - // break - // } - - // w.Write(userBytes) - default: http.Error(w, "wrong method", http.StatusMethodNotAllowed) } diff --git a/src/server/websocketHandler.go b/src/server/websocketHandler.go index 7ceb360..a826d9f 100644 --- a/src/server/websocketHandler.go +++ b/src/server/websocketHandler.go @@ -82,8 +82,9 @@ func (s *Server) HandlerWebsockets(w http.ResponseWriter, req *http.Request) { // notify chat that a new user has connected newConnectionMessage := api.Message{ - From: api.UserSystem, - Contents: fmt.Sprintf("%s has connected", newWS.User.Name), + TimeStamp: uint64(time.Now().UnixMilli()), + From: api.UserSystem, + Contents: fmt.Sprintf("%s has connected", newWS.User.Name), } s.incomingMessages <- newConnectionMessage } @@ -96,11 +97,6 @@ func (s *Server) BroadcastMessages() { break } - if message.From.Name == api.UserSystem.Name { - // add timestapm manually for the system user - message.TimeStamp = uint64(time.Now().Unix()) - } - // add incoming message to the db err := s.db.AddMessage(message) if err != nil {