diff --git a/app/portainer/components/endpoint-list/endpoint-item/endpoint-item-controller.js b/app/portainer/components/endpoint-list/endpoint-item/endpoint-item-controller.js index 0a0a944ea..1ca24a0a1 100644 --- a/app/portainer/components/endpoint-list/endpoint-item/endpoint-item-controller.js +++ b/app/portainer/components/endpoint-list/endpoint-item/endpoint-item-controller.js @@ -35,10 +35,9 @@ class EndpointItemController { return false; } const checkInInterval = this.model.EdgeCheckinInterval; - const now = Math.floor(Date.now() / 1000); // give checkIn some wiggle room - return now - this.model.LastCheckInDate <= checkInInterval * 2 + 20; + return this.endpointInitTime - this.model.LastCheckInDate <= checkInInterval * 2; } $onInit() { diff --git a/app/portainer/components/endpoint-list/endpoint-item/endpointItem.js b/app/portainer/components/endpoint-list/endpoint-item/endpointItem.js index ec8f2b1fa..a22f5f0e3 100644 --- a/app/portainer/components/endpoint-list/endpoint-item/endpointItem.js +++ b/app/portainer/components/endpoint-list/endpoint-item/endpointItem.js @@ -10,6 +10,7 @@ angular.module('portainer.app').component('endpointItem', { onEdit: '<', isAdmin: '<', tags: '<', + endpointInitTime: '<', }, controller: EndpointItemController, }); diff --git a/app/portainer/components/endpoint-list/endpoint-list.js b/app/portainer/components/endpoint-list/endpoint-list.js index c9d16826c..04914d268 100644 --- a/app/portainer/components/endpoint-list/endpoint-list.js +++ b/app/portainer/components/endpoint-list/endpoint-list.js @@ -14,5 +14,6 @@ angular.module('portainer.app').component('endpointList', { isAdmin: '<', totalCount: '<', retrievePage: '<', + endpointInitTime: '<', }, }); diff --git a/app/portainer/components/endpoint-list/endpointList.html b/app/portainer/components/endpoint-list/endpointList.html index 7f835a95b..98e12d2b6 100644 --- a/app/portainer/components/endpoint-list/endpointList.html +++ b/app/portainer/components/endpoint-list/endpointList.html @@ -38,6 +38,7 @@ on-edit="($ctrl.editAction)" is-admin="$ctrl.isAdmin" tags="$ctrl.tags" + endpoint-init-time="$ctrl.endpointInitTime" >
Loading... diff --git a/app/portainer/views/home/home.html b/app/portainer/views/home/home.html index 3b1a4d47c..6d780165b 100644 --- a/app/portainer/views/home/home.html +++ b/app/portainer/views/home/home.html @@ -56,6 +56,7 @@ is-admin="isAdmin" total-count="totalCount" retrieve-page="getPaginatedEndpoints" + endpoint-init-time="state.homepageLoadTime" >
diff --git a/app/portainer/views/home/homeController.js b/app/portainer/views/home/homeController.js index 9083090e4..9fae5b1b6 100644 --- a/app/portainer/views/home/homeController.js +++ b/app/portainer/views/home/homeController.js @@ -18,6 +18,7 @@ angular ) { $scope.state = { connectingToEdgeEndpoint: false, + homepageLoadTime: '', }; $scope.goToEdit = function (id) { @@ -92,6 +93,7 @@ angular } async function initView() { + $scope.state.homepageLoadTime = Math.floor(Date.now() / 1000); $scope.isAdmin = Authentication.isAdmin(); MotdService.motd().then(function success(data) {