summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--api/web_hub.go5
-rw-r--r--model/websocket_message.go1
-rw-r--r--webapp/actions/websocket_actions.jsx9
-rw-r--r--webapp/utils/constants.jsx3
4 files changed, 17 insertions, 1 deletions
diff --git a/api/web_hub.go b/api/web_hub.go
index 89f9891f8..c4abc5a7a 100644
--- a/api/web_hub.go
+++ b/api/web_hub.go
@@ -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) {
diff --git a/model/websocket_message.go b/model/websocket_message.go
index 0ad455997..18e070afd 100644
--- a/model/websocket_message.go
+++ b/model/websocket_message.go
@@ -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 {
diff --git a/webapp/actions/websocket_actions.jsx b/webapp/actions/websocket_actions.jsx
index 28faf4733..68853c229 100644
--- a/webapp/actions/websocket_actions.jsx
+++ b/webapp/actions/websocket_actions.jsx
@@ -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();
+}
diff --git a/webapp/utils/constants.jsx b/webapp/utils/constants.jsx
index 1ec20d3e8..b4eb1d11a 100644
--- a/webapp/utils/constants.jsx
+++ b/webapp/utils/constants.jsx
@@ -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: {