Currently, a disconnected device is marked as "Disconnected" without any consideration whether the state is just temporary or rather it has been like that for a long time, potentially requiring user intervention. This commit adds a new state called "Disconnected (Inactive)" which is shown for devices that have been disconnected for longer than a week. It also changes the "Last seen" information, so that "Never" is used only when the device hasn't connected at all, and the exact date is displayed otherwise. Additionally, when the date is older than 1 week, a note about that is displayed below the date. Furthermore, when the date becomes older than 1 month, the note text colour changes to orange, and when it exceeds 1 year, the colour changes again to red. This is done to provide the user with a visual clue that something may potentially be wrong and requires a manual fix. Signed-off-by: Tomasz Wilczyński <twilczynski@naver.com> Co-authored-by: André Colomb <src@andre.colomb.de>
This commit is contained in:
co-authored by
André Colomb
parent
06a1635d1d
commit
d8296ce111
@@ -865,7 +865,9 @@ angular.module('syncthing.core')
|
||||
$scope.deviceStats = data;
|
||||
for (var device in $scope.deviceStats) {
|
||||
$scope.deviceStats[device].lastSeen = new Date($scope.deviceStats[device].lastSeen);
|
||||
$scope.deviceStats[device].lastSeenDays = (new Date() - $scope.deviceStats[device].lastSeen) / 1000 / 86400;
|
||||
if ($scope.deviceStats[device].lastSeen.toISOString() !== '1970-01-01T00:00:00.000Z') {
|
||||
$scope.deviceStats[device].lastSeenDays = (new Date() - $scope.deviceStats[device].lastSeen) / 1000 / 86400;
|
||||
}
|
||||
}
|
||||
console.log("refreshDeviceStats", data);
|
||||
}).error($scope.emitHTTPError);
|
||||
@@ -1073,8 +1075,9 @@ angular.module('syncthing.core')
|
||||
|
||||
$scope.deviceStatus = function (deviceCfg) {
|
||||
var status = '';
|
||||
var unused = $scope.deviceFolders(deviceCfg).length === 0;
|
||||
|
||||
if ($scope.deviceFolders(deviceCfg).length === 0) {
|
||||
if (unused) {
|
||||
status = 'unused-';
|
||||
}
|
||||
|
||||
@@ -1095,7 +1098,11 @@ angular.module('syncthing.core')
|
||||
}
|
||||
|
||||
// Disconnected
|
||||
return status + 'disconnected';
|
||||
if (!unused && $scope.deviceStats[deviceCfg.deviceID].lastSeenDays >= 7) {
|
||||
return status + 'disconnected-inactive';
|
||||
} else {
|
||||
return status + 'disconnected';
|
||||
}
|
||||
};
|
||||
|
||||
$scope.deviceClass = function (deviceCfg) {
|
||||
|
||||
Reference in New Issue
Block a user