feat: Added reconnect button on error page

This commit is contained in:
Ivan Prodanov
2022-10-01 17:37:07 +03:00
parent ca0cb4bc54
commit 6c259a34ae
2 changed files with 31 additions and 0 deletions

21
app.js
View File

@@ -17,6 +17,7 @@ const Bonjour = require('bonjour-service');
const bonjour = new Bonjour.Bonjour();
const logger = require('electron-log');
const config = require('./config');
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
autoUpdater.logger = logger;
logger.catchErrors();
@@ -114,6 +115,10 @@ function availabilityCheck() {
if (config.get('automaticSwitching')) {
checkForAvailableInstance();
}
await delay(60 * 1000);
reinitMainWindow();
});
request.end();
@@ -531,6 +536,18 @@ function createMainWindow(show = false) {
toggleFullScreen(!!config.get('fullScreen'));
}
function reinitMainWindow() {
logger.info('Re-initialized main window');
mainWindow.destroy();
mainWindow = null;
createMainWindow(!config.has('currentInstance'));
if (!availabilityCheckerInterval) {
logger.info('Re-initialized availability check');
availabilityCheckerInterval = setInterval(availabilityCheck, 3000);
}
}
function showWindow() {
if (!config.get('detachedMode')) {
changePosition();
@@ -736,3 +753,7 @@ ipcMain.on('ha-instance', (event, url) => {
event.reply('ha-instance', currentInstance());
}
});
ipcMain.on('reconnect', () => {
reinitMainWindow();
});