mirror of
https://github.com/octoleo/syncthing.git
synced 2024-12-22 19:08:58 +00:00
Don't trust response header (fixes #2186)
Either Angular or the browser sometimes returns cached repsonse header, causing a flap between requests that return the new version and requests that return the old one. Here, instead, we trust the actual data returned by the uncached /rest/system/version call.
This commit is contained in:
parent
feffc0416f
commit
ace8451604
@ -24,7 +24,6 @@ var urlbase = 'rest';
|
||||
|
||||
syncthing.config(function ($httpProvider, $translateProvider, LocaleServiceProvider) {
|
||||
$httpProvider.interceptors.push(function xHeadersResponseInterceptor() {
|
||||
var guiVersion = null;
|
||||
var deviceId = null;
|
||||
|
||||
return {
|
||||
@ -38,14 +37,6 @@ syncthing.config(function ($httpProvider, $translateProvider, LocaleServiceProvi
|
||||
return response;
|
||||
}
|
||||
|
||||
responseVersion = headers['x-syncthing-version'];
|
||||
|
||||
if (!guiVersion) {
|
||||
guiVersion = responseVersion;
|
||||
} else if (guiVersion != responseVersion) {
|
||||
document.location.reload(true);
|
||||
}
|
||||
|
||||
if (!deviceId) {
|
||||
deviceId = headers['x-syncthing-id'];
|
||||
if (deviceId) {
|
||||
|
@ -89,6 +89,12 @@ angular.module('syncthing.core')
|
||||
refreshFolderStats();
|
||||
|
||||
$http.get(urlbase + '/system/version').success(function (data) {
|
||||
if ($scope.version.version && $scope.version.version != data.version) {
|
||||
// We already have a version response, but it differs from
|
||||
// the new one. Reload the full GUI in case it's changed.
|
||||
document.location.reload(true);
|
||||
}
|
||||
|
||||
$scope.version = data;
|
||||
}).error($scope.emitHTTPError);
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user