From 5f63c287b3354155ff0c7755f2a1a7841764a676 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Fri, 8 May 2026 14:35:28 +0200 Subject: [PATCH] chore: show server connection status in service state icon Service state icon goes grey if connection to server is lost. Test-bot: skip --- .../src/app/datasocket/datasocket.service.ts | 22 +++++++++++++++++++ public/src/app/home/home.component.html | 2 +- .../service-state-popup.component.css | 4 ++++ .../service-state-popup.component.html | 2 +- .../service-state-popup.component.ts | 3 +++ 5 files changed, 31 insertions(+), 2 deletions(-) diff --git a/public/src/app/datasocket/datasocket.service.ts b/public/src/app/datasocket/datasocket.service.ts index ffbf67f..afee9e5 100644 --- a/public/src/app/datasocket/datasocket.service.ts +++ b/public/src/app/datasocket/datasocket.service.ts @@ -2,15 +2,37 @@ import { environment } from '../../environments/environment'; export class DataSocket { private client = null; + private _isConnected: boolean = false; public onMessage; constructor() { + // WebSockHop.logger = function(type, message) { + // console.log("WebSockHop: " + type + "-" + message); + // }; + this.reconnect(); } + isConnected() { + return this._isConnected; + } + reconnect = () => { this.client = new WebSockHop(environment.webSocketUrl); + this.client.on('opened', () => { + console.log('WebSocket: connected to server'); + this._isConnected = true; + }); + + this.client.on('opening', () => { + // this happens immediately after a disconnection for network or other + // reasons, and 'closed' does not appear to be issued except for a + // disconnect from client code. + console.log('WebSocket: disconnected from server, will attempt reconnection'); + this._isConnected = false; + }); + this.client.formatter = new WebSockHop.StringFormatter(); this.client.formatter.pingMessage = 'ping'; this.client.formatter.handlePong = function (message) { diff --git a/public/src/app/home/home.component.html b/public/src/app/home/home.component.html index 20f2b30..136834f 100644 --- a/public/src/app/home/home.component.html +++ b/public/src/app/home/home.component.html @@ -3,7 +3,7 @@