diff options
author | George Goldberg <george@gberg.me> | 2017-04-05 19:10:20 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-05 19:10:20 +0100 |
commit | 87343176fcc01eb064def97a913157e3967ffcc6 (patch) | |
tree | ff122a153da562c2d49d193a7f815ffbd2382c2d | |
parent | 997b35d2fc482e2629251ed4c9d298644bbdf097 (diff) | |
download | chat-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.go | 2 | ||||
-rw-r--r-- | api4/context.go | 2 | ||||
-rw-r--r-- | app/web_conn.go | 2 | ||||
-rw-r--r-- | utils/config.go | 3 |
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 { |