Send hello event containing server version on WebSocket connect (#3936)
Этот коммит содержится в:
коммит произвёл
enahum
родитель
6c085594e4
Коммит
9d11dd437f
@@ -4,6 +4,7 @@
|
|||||||
package api
|
package api
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
l4g "github.com/alecthomas/log4go"
|
l4g "github.com/alecthomas/log4go"
|
||||||
|
|
||||||
"github.com/mattermost/platform/einterfaces"
|
"github.com/mattermost/platform/einterfaces"
|
||||||
@@ -61,6 +62,10 @@ func InvalidateCacheForChannel(channelId string) {
|
|||||||
|
|
||||||
func (h *Hub) Register(webConn *WebConn) {
|
func (h *Hub) Register(webConn *WebConn) {
|
||||||
h.register <- 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) {
|
func (h *Hub) Unregister(webConn *WebConn) {
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ const (
|
|||||||
WEBSOCKET_EVENT_PREFERENCE_CHANGED = "preference_changed"
|
WEBSOCKET_EVENT_PREFERENCE_CHANGED = "preference_changed"
|
||||||
WEBSOCKET_EVENT_EPHEMERAL_MESSAGE = "ephemeral_message"
|
WEBSOCKET_EVENT_EPHEMERAL_MESSAGE = "ephemeral_message"
|
||||||
WEBSOCKET_EVENT_STATUS_CHANGE = "status_change"
|
WEBSOCKET_EVENT_STATUS_CHANGE = "status_change"
|
||||||
|
WEBSOCKET_EVENT_HELLO = "hello"
|
||||||
)
|
)
|
||||||
|
|
||||||
type WebSocketMessage interface {
|
type WebSocketMessage interface {
|
||||||
|
|||||||
@@ -156,6 +156,10 @@ function handleEvent(msg) {
|
|||||||
handleStatusChangedEvent(msg);
|
handleStatusChangedEvent(msg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case SocketEvents.HELLO:
|
||||||
|
handleHelloEvent(msg);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -284,3 +288,8 @@ function handleUserTypingEvent(msg) {
|
|||||||
function handleStatusChangedEvent(msg) {
|
function handleStatusChangedEvent(msg) {
|
||||||
UserStore.setStatus(msg.user_id, msg.data.status);
|
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',
|
TYPING: 'typing',
|
||||||
PREFERENCE_CHANGED: 'preference_changed',
|
PREFERENCE_CHANGED: 'preference_changed',
|
||||||
EPHEMERAL_MESSAGE: 'ephemeral_message',
|
EPHEMERAL_MESSAGE: 'ephemeral_message',
|
||||||
STATUS_CHANGED: 'status_change'
|
STATUS_CHANGED: 'status_change',
|
||||||
|
HELLO: 'hello'
|
||||||
},
|
},
|
||||||
|
|
||||||
UserUpdateEvents: {
|
UserUpdateEvents: {
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user