gui: Wait for config commit before setting ignores (ref #4095)
Given the saveConfig() is async, it might not have happened before we try to save the ignores and unpause. Likewise must wait for saving ignores before unpausing or the scan might start before ignores are on disk. Javsacript <3
This commit is contained in:
@@ -1042,7 +1042,7 @@ angular.module('syncthing.core')
|
|||||||
$('#settings').modal();
|
$('#settings').modal();
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.saveConfig = function () {
|
$scope.saveConfig = function (cb) {
|
||||||
var cfg = JSON.stringify($scope.config);
|
var cfg = JSON.stringify($scope.config);
|
||||||
var opts = {
|
var opts = {
|
||||||
headers: {
|
headers: {
|
||||||
@@ -1052,6 +1052,9 @@ angular.module('syncthing.core')
|
|||||||
$http.post(urlbase + '/system/config', cfg, opts).success(function () {
|
$http.post(urlbase + '/system/config', cfg, opts).success(function () {
|
||||||
$http.get(urlbase + '/system/config/insync').success(function (data) {
|
$http.get(urlbase + '/system/config/insync').success(function (data) {
|
||||||
$scope.configInSync = data.configInSync;
|
$scope.configInSync = data.configInSync;
|
||||||
|
if (cb) {
|
||||||
|
cb();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}).error($scope.emitHTTPError);
|
}).error($scope.emitHTTPError);
|
||||||
};
|
};
|
||||||
@@ -1512,12 +1515,13 @@ angular.module('syncthing.core')
|
|||||||
$scope.folders[folderCfg.id] = folderCfg;
|
$scope.folders[folderCfg.id] = folderCfg;
|
||||||
$scope.config.folders = folderList($scope.folders);
|
$scope.config.folders = folderList($scope.folders);
|
||||||
|
|
||||||
$scope.saveConfig();
|
$scope.saveConfig(function () {
|
||||||
|
if (!$scope.editingExisting && ignores) {
|
||||||
if (!$scope.editingExisting && ignores) {
|
$scope.saveIgnores(function () {
|
||||||
$scope.saveIgnores();
|
$scope.setFolderPause(folderCfg.id, false);
|
||||||
$scope.setFolderPause(folderCfg.id, false);
|
});
|
||||||
};
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
$scope.dismissFolderRejection = function (folder, device) {
|
$scope.dismissFolderRejection = function (folder, device) {
|
||||||
@@ -1605,9 +1609,13 @@ angular.module('syncthing.core')
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
$scope.saveIgnores = function () {
|
$scope.saveIgnores = function (cb) {
|
||||||
$http.post(urlbase + '/db/ignores?folder=' + encodeURIComponent($scope.currentFolder.id), {
|
$http.post(urlbase + '/db/ignores?folder=' + encodeURIComponent($scope.currentFolder.id), {
|
||||||
ignore: $('#editIgnores textarea').val().split('\n')
|
ignore: $('#editIgnores textarea').val().split('\n')
|
||||||
|
}).success(function () {
|
||||||
|
if (cb) {
|
||||||
|
cb();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user