diff --git a/gui/app.js b/gui/app.js index ccf29b10..56a56350 100644 --- a/gui/app.js +++ b/gui/app.js @@ -301,20 +301,19 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca } } for(var folder in $scope.progress){ - var refresh = false; if (!(folder in progress)) { - refresh = true; refreshFolder(folder); - } else { + if ($scope.neededFolder == folder) { + refreshNeed(folder); + } + } else if ($scope.neededFolder == folder) { for(file in $scope.progress[folder]){ if (!(file in progress[folder])) { - refresh = true; + refreshNeed(folder); + break; } } } - if (refresh) { - refreshNeed(folder); - } } $scope.progress = progress; console.log("DownloadProgress", $scope.progress); @@ -444,15 +443,13 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca }); } - function refreshNeed (folder) { - if ($scope.neededFolder == folder) { - $http.get(urlbase + "/need?folder=" + encodeURIComponent(folder)).success(function (data) { - if ($scope.neededFolder == folder) { - console.log("refreshNeed", folder, data); - $scope.needed = data; - } - }); - } + function refreshNeed(folder) { + $http.get(urlbase + "/need?folder=" + encodeURIComponent(folder)).success(function (data) { + if ($scope.neededFolder == folder) { + console.log("refreshNeed", folder, data); + $scope.needed = data; + } + }); } var refreshDeviceStats = debounce(function () { @@ -536,7 +533,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca } var pct = 100 * $scope.model[folder].inSyncBytes / $scope.model[folder].globalBytes; - return Math.min(Math.floor(pct), 100); + return Math.floor(pct); }; $scope.deviceIcon = function (deviceCfg) { @@ -1037,7 +1034,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca $scope.showNeed = function (folder) { $scope.neededFolder = folder; refreshNeed(folder); - $('#needed').modal().result.finally(function(){ + $('#needed').modal().on('hidden.bs.modal', function(){ $scope.neededFolder = undefined; $scope.needed = undefined; }); diff --git a/internal/auto/gui.files.go b/internal/auto/gui.files.go index b49485f5..60d5ca14 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 diff --git a/internal/model/model.go b/internal/model/model.go index 46abf97d..6564bdaa 100644 --- a/internal/model/model.go +++ b/internal/model/model.go @@ -145,7 +145,9 @@ func NewModel(cfg *config.ConfigWrapper, deviceName, clientName, clientVersion s finder: files.NewBlockFinder(db, cfg), progressEmitter: NewProgressEmitter(cfg), } - go m.progressEmitter.Serve() + if cfg.Options().ProgressUpdateIntervalS > -1 { + go m.progressEmitter.Serve() + } var timeout = 20 * 60 // seconds if t := os.Getenv("STDEADLOCKTIMEOUT"); len(t) > 0 { diff --git a/internal/model/progressemitter.go b/internal/model/progressemitter.go index e7bc0532..9adaf7ea 100755 --- a/internal/model/progressemitter.go +++ b/internal/model/progressemitter.go @@ -120,10 +120,9 @@ func (t *ProgressEmitter) BytesCompleted(folder string) (bytes int64) { t.mut.Lock() defer t.mut.Unlock() - files, ok := t.last[folder] - if ok { - for _, s := range files { - bytes += s.BytesDone + for _, s := range t.registry { + if s.folder == folder { + bytes += s.Progress().BytesDone } } if debug {