gui/untrusted: Mirror changes from #7205 and #7192 (#7302)

This commit is contained in:
André Colomb
2021-01-25 20:19:55 +01:00
committed by GitHub
parent 76cf326290
commit d7e86af6c6
@@ -122,6 +122,7 @@ angular.module('syncthing.core')
refreshSystem(); refreshSystem();
refreshDiscoveryCache(); refreshDiscoveryCache();
refreshConfig(); refreshConfig();
refreshCluster();
refreshConnectionStats(); refreshConnectionStats();
refreshDeviceStats(); refreshDeviceStats();
refreshFolderStats(); refreshFolderStats();
@@ -244,32 +245,69 @@ angular.module('syncthing.core')
} }
}); });
$scope.$on(Events.DEVICE_REJECTED, function (event, arg) { $scope.$on(Events.PENDING_DEVICES_CHANGED, function (event, arg) {
var pendingDevice = { if (!(arg.data.added || arg.data.removed)) {
time: arg.time, // Not enough information to update in place, just refresh it completely
name: arg.data.name, refreshCluster();
address: arg.data.address return;
}; }
console.log("rejected device:", arg.data.device, pendingDevice);
$scope.pendingDevices[arg.data.device] = pendingDevice; if (arg.data.added) {
arg.data.added.forEach(function (rejected) {
var pendingDevice = {
time: arg.time,
name: rejected.name,
address: rejected.address
};
console.log("rejected device:", rejected.deviceID, pendingDevice);
$scope.pendingDevices[rejected.deviceID] = pendingDevice;
});
}
if (arg.data.removed) {
arg.data.removed.forEach(function (dev) {
console.log("no longer pending device:", dev.deviceID);
delete $scope.pendingDevices[dev.deviceID];
});
}
}); });
$scope.$on(Events.FOLDER_REJECTED, function (event, arg) { $scope.$on(Events.PENDING_FOLDERS_CHANGED, function (event, arg) {
var offeringDevice = { if (!(arg.data.added || arg.data.removed)) {
time: arg.time, // Not enough information to update in place, just refresh it completely
label: arg.data.folderLabel refreshCluster();
}; return;
console.log("rejected folder", arg.data.folder, "from device:", arg.data.device, offeringDevice); }
var pendingFolder = $scope.pendingFolders[arg.data.folder]; if (arg.data.added) {
if (pendingFolder === undefined) { arg.data.added.forEach(function (rejected) {
pendingFolder = { var offeringDevice = {
offeredBy: {} time: arg.time,
}; label: rejected.folderLabel
};
console.log("rejected folder", rejected.folderID, "from device:", rejected.deviceID, offeringDevice);
var pendingFolder = $scope.pendingFolders[rejected.folderID];
if (pendingFolder === undefined) {
pendingFolder = {
offeredBy: {}
};
}
pendingFolder.offeredBy[rejected.deviceID] = offeringDevice;
$scope.pendingFolders[rejected.folderID] = pendingFolder;
});
}
if (arg.data.removed) {
arg.data.removed.forEach(function (folderDev) {
console.log("no longer pending folder", folderDev.folderID, "from device:", folderDev.deviceID);
if (folderDev.deviceID === undefined) {
delete $scope.pendingFolders[folderDev.folderID];
} else if ($scope.pendingFolders[folderDev.folderID]) {
delete $scope.pendingFolders[folderDev.folderID].offeredBy[folderDev.deviceID];
}
});
} }
pendingFolder.offeredBy[arg.data.device] = offeringDevice;
$scope.pendingFolders[arg.data.folder] = pendingFolder;
}); });
$scope.$on('ConfigLoaded', function () { $scope.$on('ConfigLoaded', function () {
@@ -421,7 +459,6 @@ angular.module('syncthing.core')
}); });
}); });
refreshCluster();
refreshNoAuthWarning(); refreshNoAuthWarning();
setDefaultTheme(); setDefaultTheme();
@@ -2418,6 +2455,8 @@ angular.module('syncthing.core')
$scope.advanced = function () { $scope.advanced = function () {
$scope.advancedConfig = angular.copy($scope.config); $scope.advancedConfig = angular.copy($scope.config);
$scope.advancedConfig.devices.sort(deviceCompare);
$scope.advancedConfig.folders.sort(folderCompare);
$('#advanced').modal('show'); $('#advanced').modal('show');
}; };