From be52fd4e461c6807afb885ebe6483adcfeacd914 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Wed, 6 Mar 2024 19:34:12 +0000 Subject: [PATCH] More status page polish --- .../bitcoin/bitcoin-api-abstract-factory.ts | 1 + backend/src/api/bitcoin/esplora-api.ts | 4 +++- .../components/footer/footer.component.html | 2 +- .../components/footer/footer.component.scss | 6 +++++ .../app/components/footer/footer.component.ts | 4 +++- .../server-health.component.html | 12 ++++++---- .../server-health.component.scss | 17 ++++++++------ .../server-health/server-health.component.ts | 23 ++++++++++++++++--- .../server-status.component.html | 12 +++++----- .../server-status.component.scss | 8 ++----- .../server-health/server-status.component.ts | 4 ++-- .../src/app/interfaces/websocket.interface.ts | 1 + frontend/src/app/master-page.module.ts | 4 ++-- 13 files changed, 65 insertions(+), 33 deletions(-) diff --git a/backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts b/backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts index abd4c47a5..cc0c801b5 100644 --- a/backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts +++ b/backend/src/api/bitcoin/bitcoin-api-abstract-factory.ts @@ -49,4 +49,5 @@ export interface HealthCheckHost { outOfSync: boolean; unreachable: boolean; checked: boolean; + lastChecked: number; } diff --git a/backend/src/api/bitcoin/esplora-api.ts b/backend/src/api/bitcoin/esplora-api.ts index 9289ab4d1..a9dadf4a0 100644 --- a/backend/src/api/bitcoin/esplora-api.ts +++ b/backend/src/api/bitcoin/esplora-api.ts @@ -18,6 +18,7 @@ interface FailoverHost { unreachable?: boolean, preferred?: boolean, checked: boolean, + lastChecked?: number, } class FailoverRouter { @@ -122,7 +123,7 @@ class FailoverRouter { } } host.checked = true; - + host.lastChecked = Date.now(); // switch if the current host is out of sync or significantly slower than the next best alternative const rankOrder = this.sortHosts(); @@ -361,6 +362,7 @@ class ElectrsApi implements AbstractBitcoinApi { outOfSync: !!host.outOfSync, unreachable: !!host.unreachable, checked: !!host.checked, + lastChecked: host.lastChecked || 0, })); } else { return []; diff --git a/frontend/src/app/components/footer/footer.component.html b/frontend/src/app/components/footer/footer.component.html index 9c0369827..f89e780ff 100644 --- a/frontend/src/app/components/footer/footer.component.html +++ b/frontend/src/app/components/footer/footer.component.html @@ -1,4 +1,4 @@ -