Send hello event containing server version on WebSocket connect (#3936)

Этот коммит содержится в:
Joram Wilander
2016-09-04 19:45:35 -04:00
коммит произвёл enahum
родитель 6c085594e4
Коммит 9d11dd437f
4 изменённых файлов: 17 добавлений и 1 удалений

Просмотреть файл

@@ -4,6 +4,7 @@
package api
import (
"fmt"
l4g "github.com/alecthomas/log4go"
"github.com/mattermost/platform/einterfaces"
@@ -61,6 +62,10 @@ func InvalidateCacheForChannel(channelId string) {
func (h *Hub) Register(webConn *WebConn) {
h.register <- webConn
msg := model.NewWebSocketEvent("", "", webConn.UserId, model.WEBSOCKET_EVENT_HELLO)
msg.Add("server_version", fmt.Sprintf("%v.%v", model.CurrentVersion, utils.CfgHash))
go Publish(msg)
}
func (h *Hub) Unregister(webConn *WebConn) {

Просмотреть файл

@@ -24,6 +24,7 @@ const (
WEBSOCKET_EVENT_PREFERENCE_CHANGED = "preference_changed"
WEBSOCKET_EVENT_EPHEMERAL_MESSAGE = "ephemeral_message"
WEBSOCKET_EVENT_STATUS_CHANGE = "status_change"
WEBSOCKET_EVENT_HELLO = "hello"
)
type WebSocketMessage interface {

Просмотреть файл

@@ -156,6 +156,10 @@ function handleEvent(msg) {
handleStatusChangedEvent(msg);
break;
case SocketEvents.HELLO:
handleHelloEvent(msg);
break;
default:
}
}
@@ -284,3 +288,8 @@ function handleUserTypingEvent(msg) {
function handleStatusChangedEvent(msg) {
UserStore.setStatus(msg.user_id, msg.data.status);
}
function handleHelloEvent(msg) {
Client.serverVersion = msg.data.server_version;
AsyncClient.checkVersion();
}

Просмотреть файл

@@ -198,7 +198,8 @@ export const Constants = {
TYPING: 'typing',
PREFERENCE_CHANGED: 'preference_changed',
EPHEMERAL_MESSAGE: 'ephemeral_message',
STATUS_CHANGED: 'status_change'
STATUS_CHANGED: 'status_change',
HELLO: 'hello'
},
UserUpdateEvents: {