From e50469d84e5dcde96c5696da5f08f2af4045b722 Mon Sep 17 00:00:00 2001 From: Audrius Butkevicius Date: Mon, 6 Oct 2014 23:42:13 +0100 Subject: [PATCH] Better version change detection (fixes #808, fixes #810) --- gui/app.js | 32 +++++++++++++++++++++----------- internal/auto/gui.files.go | 2 +- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/gui/app.js b/gui/app.js index 8cd3f3a8d..a0a867f1c 100644 --- a/gui/app.js +++ b/gui/app.js @@ -20,10 +20,24 @@ var syncthing = angular.module('syncthing', ['pascalprecht.translate']); var urlbase = 'rest'; +var guiVersion = null; syncthing.config(function ($httpProvider, $translateProvider) { $httpProvider.defaults.xsrfHeaderName = 'X-CSRF-Token'; $httpProvider.defaults.xsrfCookieName = 'CSRF-Token'; + $httpProvider.interceptors.push(function() { + return { + response: function(response) { + var responseVersion = response.headers()['x-syncthing-version']; + if (!guiVersion) { + guiVersion = responseVersion; + } else if (guiVersion != responseVersion) { + document.location.reload(true); + } + return response; + } + }; + }); $translateProvider.useStaticFilesLoader({ prefix: 'lang/lang-', @@ -164,17 +178,13 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca return; } - if (restarting) { - document.location.reload(true); - } else { - console.log('UIOnline'); - $scope.init(); - online = true; - restarting = false; - $('#networkError').modal('hide'); - $('#restarting').modal('hide'); - $('#shutdown').modal('hide'); - } + console.log('UIOnline'); + $scope.init(); + online = true; + restarting = false; + $('#networkError').modal('hide'); + $('#restarting').modal('hide'); + $('#shutdown').modal('hide'); }); $scope.$on('UIOffline', function (event, arg) { diff --git a/internal/auto/gui.files.go b/internal/auto/gui.files.go index 8221fb5af..4872d3d39 100644 --- a/internal/auto/gui.files.go +++ b/internal/auto/gui.files.go @@ -27,7 +27,7 @@ func Assets() map[string][]byte { bs, _ = ioutil.ReadAll(gr) assets["angular/angular.min.js"] = bs - bs, _ = base64.StdEncoding.DecodeString("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") + bs, _ = base64.StdEncoding.DecodeString("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") gr, _ = gzip.NewReader(bytes.NewBuffer(bs)) bs, _ = ioutil.ReadAll(gr) assets["app.js"] = bs