From 4d63459d67bedf35cb6f8c6eee25b1b9521ea670 Mon Sep 17 00:00:00 2001 From: Richard Wei <54336863+WaysonWei@users.noreply.github.com> Date: Tue, 21 Sep 2021 10:19:22 +1200 Subject: [PATCH] fix edge heartbeat show red when use search filter (#5682) --- .../endpoint-list/endpoint-item/endpoint-item-controller.js | 3 +-- .../components/endpoint-list/endpoint-item/endpointItem.js | 1 + app/portainer/components/endpoint-list/endpoint-list.js | 1 + app/portainer/components/endpoint-list/endpointList.html | 2 ++ app/portainer/views/home/home.html | 1 + app/portainer/views/home/homeController.js | 2 ++ 6 files changed, 8 insertions(+), 2 deletions(-) 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) {