From 45c9537cc91a1b5b635e5f4ffc024c27c902caeb Mon Sep 17 00:00:00 2001 From: Fabio Di Stasio Date: Sun, 16 Apr 2023 10:15:23 +0200 Subject: [PATCH] perf: improved performance in console trace render, closes #7 --- src/main/main.ts | 31 +++++++++-------- src/renderer/components/ClientTab.vue | 48 ++++++++++++++++++--------- src/renderer/components/ServerTab.vue | 25 +++++++++----- 3 files changed, 66 insertions(+), 38 deletions(-) diff --git a/src/main/main.ts b/src/main/main.ts index 8772553..55ae0f4 100644 --- a/src/main/main.ts +++ b/src/main/main.ts @@ -1,5 +1,4 @@ import { app, BrowserWindow, nativeImage, ipcMain, Menu } from 'electron'; -import * as fs from 'fs'; import * as path from 'path'; import * as Store from 'electron-store'; import { ChildProcess, fork, Serializable } from 'child_process'; @@ -42,14 +41,6 @@ async function createMainWindow () { spellcheck: false }, autoHideMenuBar: true, - // titleBarStyle: isLinux ? 'default' :'hidden', - // titleBarOverlay: isWindows - // ? { - // color: appTheme === 'dark' ? '#383e42' : '#fff', - // symbolColor: appTheme === 'dark' ? '#fff' : '#000', - // height: 30 - // } - // : false, trafficLightPosition: isMacOS ? { x: 10, y: 8 } : undefined, backgroundColor: '#1d1d1d' }); @@ -84,9 +75,6 @@ if (!gotTheLock) app.quit(); else { require('@electron/remote/main').initialize(); - // Initialize ipcHandlers - // ipcHandlers(); - ipcMain.on('refresh-theme-settings', () => { const appTheme = settingsStore.get('application_theme'); if (isWindows && mainWindow) { @@ -175,6 +163,16 @@ ipcMain.on('start-test', (event, { params, hosts, messages }) => { clientProcess.send(testParams); else { mainWindow.webContents.send('test-finish', message.content); + setTimeout(() => { + clientProcess.kill(); + }, 1000); + } + break; + case 'abort': + if (params.loop) + clientProcess.send(testParams); + else { + mainWindow.webContents.send('abort-test', message.content); clientProcess.kill(); } break; @@ -190,10 +188,15 @@ ipcMain.on('send-messages', (event) => { event.sender.send('client-log', { i18n: 'sendingMessages', color: '' }); }); -ipcMain.on('stop-test', (event) => { +ipcMain.on('stop-test', () => { try { clientProcess.send({ event: 'stop' }); - event.sender.send('test-finish', 'testAborted'); + setTimeout(() => { + if (clientProcess) { + mainWindow.webContents.send('abort-test', 'testAborted'); + clientProcess.kill(); + } + }, 500); } catch (error) { clientProcess.kill(); diff --git a/src/renderer/components/ClientTab.vue b/src/renderer/components/ClientTab.vue index e14ed89..9e33a88 100644 --- a/src/renderer/components/ClientTab.vue +++ b/src/renderer/components/ClientTab.vue @@ -183,7 +183,7 @@ diff --git a/src/renderer/components/ServerTab.vue b/src/renderer/components/ServerTab.vue index ecf4489..d7ce581 100644 --- a/src/renderer/components/ServerTab.vue +++ b/src/renderer/components/ServerTab.vue @@ -82,7 +82,7 @@