diff --git a/webui.dev/js/marshaller.js b/webui.dev/js/marshaller.js index 440e041..0d894c4 100644 --- a/webui.dev/js/marshaller.js +++ b/webui.dev/js/marshaller.js @@ -528,3 +528,19 @@ window.addEventListener('popstate', (e) => { changeDirectory(e.state.dir) } }) + +export function refreshServerConnectionLabel () { + if (window.restAvailable) { + document.querySelector('#serverConnectionRest').classList.remove('error') + } else { + document.querySelector('#serverConnectionRest').classList.add('error') + } + + if (window.websocketAvailable) { + document.querySelector('#serverConnectionWebSocket').classList.remove('error') + document.querySelector('#serverConnectionWebSocket').innerText = 'WebSocket' + } else { + document.querySelector('#serverConnectionWebSocket').classList.add('error') + document.querySelector('#serverConnectionWebSocket').innerText = 'WebSocket Error' + } +} diff --git a/webui.dev/js/websocket.js b/webui.dev/js/websocket.js index 33e2d72..fed2f74 100644 --- a/webui.dev/js/websocket.js +++ b/webui.dev/js/websocket.js @@ -1,3 +1,7 @@ +import { + refreshServerConnectionLabel +} from './marshaller.js' + window.ws = null export function checkWebsocketConnection () { @@ -34,6 +38,8 @@ function websocketOnOpen (evt) { window.ws.send('monitor') + refreshServerConnectionLabel() + window.refreshLoop() } @@ -58,9 +64,15 @@ function websocketOnMessage (msg) { function websocketOnError (err) { window.websocketAvailable = false window.refreshLoop() - console.error(err) + console.log(err) + + window.showBigError('ws-connect-error', 'connecting to the websocket', 'Please see your browser console for debugging information.', true) + + refreshServerConnectionLabel() } function websocketOnClose () { window.websocketAvailable = false + + refreshServerConnectionLabel() } diff --git a/webui.dev/main.js b/webui.dev/main.js index 5aa1e36..ebd770a 100644 --- a/webui.dev/main.js +++ b/webui.dev/main.js @@ -4,7 +4,8 @@ import { initMarshaller, setupSectionNavigation, marshalDashboardComponentsJsonToHtml, - marshalLogsJsonToHtml + marshalLogsJsonToHtml, + refreshServerConnectionLabel } from './js/marshaller.js' import { checkWebsocketConnection } from './js/websocket.js' @@ -52,20 +53,6 @@ function refreshLoop () { refreshServerConnectionLabel() } -function refreshServerConnectionLabel () { - if (window.restAvailable) { - document.querySelector('#serverConnectionRest').classList.remove('error') - } else { - document.querySelector('#serverConnectionRest').classList.add('error') - } - - if (window.websocketAvailable) { - document.querySelector('#serverConnectionWebSocket').classList.remove('error') - } else { - document.querySelector('#serverConnectionWebSocket').classList.add('error') - } -} - function fetchGetDashboardComponents () { window.fetch(window.restBaseUrl + 'GetDashboardComponents', { cors: 'cors'