summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Goldberg <george@gberg.me>2017-04-05 19:10:20 +0100
committerGitHub <noreply@github.com>2017-04-05 19:10:20 +0100
commit87343176fcc01eb064def97a913157e3967ffcc6 (patch)
treeff122a153da562c2d49d193a7f815ffbd2382c2d
parent997b35d2fc482e2629251ed4c9d298644bbdf097 (diff)
downloadchat-87343176fcc01eb064def97a913157e3967ffcc6.tar.gz
chat-87343176fcc01eb064def97a913157e3967ffcc6.tar.bz2
chat-87343176fcc01eb064def97a913157e3967ffcc6.zip
PLT-5977: Only reload clients when client config changes. (#5989)
-rw-r--r--api/context.go2
-rw-r--r--api4/context.go2
-rw-r--r--app/web_conn.go2
-rw-r--r--utils/config.go3
4 files changed, 6 insertions, 3 deletions
diff --git a/api/context.go b/api/context.go
index ff6018920..bc5855345 100644
--- a/api/context.go
+++ b/api/context.go
@@ -149,7 +149,7 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
c.SetSiteURLHeader(app.GetProtocol(r) + "://" + r.Host)
w.Header().Set(model.HEADER_REQUEST_ID, c.RequestId)
- w.Header().Set(model.HEADER_VERSION_ID, fmt.Sprintf("%v.%v.%v.%v", model.CurrentVersion, model.BuildNumber, utils.CfgHash, utils.IsLicensed))
+ w.Header().Set(model.HEADER_VERSION_ID, fmt.Sprintf("%v.%v.%v.%v", model.CurrentVersion, model.BuildNumber, utils.ClientCfgHash, utils.IsLicensed))
if einterfaces.GetClusterInterface() != nil {
w.Header().Set(model.HEADER_CLUSTER_ID, einterfaces.GetClusterInterface().GetClusterId())
}
diff --git a/api4/context.go b/api4/context.go
index 36a48eb9d..484a6432f 100644
--- a/api4/context.go
+++ b/api4/context.go
@@ -128,7 +128,7 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
c.SetSiteURLHeader(app.GetProtocol(r) + "://" + r.Host)
w.Header().Set(model.HEADER_REQUEST_ID, c.RequestId)
- w.Header().Set(model.HEADER_VERSION_ID, fmt.Sprintf("%v.%v.%v.%v", model.CurrentVersion, model.BuildNumber, utils.CfgHash, utils.IsLicensed))
+ w.Header().Set(model.HEADER_VERSION_ID, fmt.Sprintf("%v.%v.%v.%v", model.CurrentVersion, model.BuildNumber, utils.ClientCfgHash, utils.IsLicensed))
if einterfaces.GetClusterInterface() != nil {
w.Header().Set(model.HEADER_CLUSTER_ID, einterfaces.GetClusterInterface().GetClusterId())
}
diff --git a/app/web_conn.go b/app/web_conn.go
index 11290b67d..8d604ff3e 100644
--- a/app/web_conn.go
+++ b/app/web_conn.go
@@ -190,7 +190,7 @@ func (webCon *WebConn) IsAuthenticated() bool {
func (webCon *WebConn) SendHello() {
msg := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_HELLO, "", "", webCon.UserId, nil)
- msg.Add("server_version", fmt.Sprintf("%v.%v.%v.%v", model.CurrentVersion, model.BuildNumber, utils.CfgHash, utils.IsLicensed))
+ msg.Add("server_version", fmt.Sprintf("%v.%v.%v.%v", model.CurrentVersion, model.BuildNumber, utils.ClientCfgHash, utils.IsLicensed))
webCon.Send <- msg
}
diff --git a/utils/config.go b/utils/config.go
index 2e41f8431..8c80d5349 100644
--- a/utils/config.go
+++ b/utils/config.go
@@ -35,6 +35,7 @@ var watcher *fsnotify.Watcher
var Cfg *model.Config = &model.Config{}
var CfgDiagnosticId = ""
var CfgHash = ""
+var ClientCfgHash = ""
var CfgFileName string = ""
var ClientCfg map[string]string = map[string]string{}
var originalDisableDebugLvl l4g.Level = l4g.DEBUG
@@ -313,6 +314,8 @@ func LoadConfig(fileName string) {
Cfg = &config
CfgHash = fmt.Sprintf("%x", md5.Sum([]byte(Cfg.ToJson())))
ClientCfg = getClientConfig(Cfg)
+ clientCfgJson, _ := json.Marshal(ClientCfg)
+ ClientCfgHash = fmt.Sprintf("%x", md5.Sum(clientCfgJson))
// Actions that need to run every time the config is loaded
if ldapI := einterfaces.GetLdapInterface(); ldapI != nil {