From 9549c409fe56e5a53bc808734f19a359fa1c0cdb Mon Sep 17 00:00:00 2001 From: Louis Date: Tue, 9 Jan 2024 01:06:04 +0700 Subject: [PATCH] fix: suppress all main node JS error messages --- electron/main.ts | 19 ++++++++----------- electron/utils/clean.ts | 14 ++++++++++++++ 2 files changed, 22 insertions(+), 11 deletions(-) create mode 100644 electron/utils/clean.ts diff --git a/electron/main.ts b/electron/main.ts index 257842cf5a..97b3e79e36 100644 --- a/electron/main.ts +++ b/electron/main.ts @@ -2,7 +2,6 @@ import { app, BrowserWindow } from 'electron' import { join } from 'path' import { setupMenu } from './utils/menu' import { createUserSpace } from './utils/path' - /** * Managers **/ @@ -19,7 +18,7 @@ import { handleAppIPCs } from './handlers/app' import { handleAppUpdates } from './handlers/update' import { handleFsIPCs } from './handlers/fs' import { migrateExtensions } from './utils/migration' -import { dispose } from './utils/disposable' +import { cleanUpAndQuit } from './utils/clean' app .whenReady() @@ -89,12 +88,10 @@ function handleIPCs() { handleFileMangerIPCs() } -function cleanUpAndQuit() { - if (!ModuleManager.instance.cleaningResource) { - ModuleManager.instance.cleaningResource = true - WindowManager.instance.currentWindow?.destroy() - dispose(ModuleManager.instance.requiredModules) - ModuleManager.instance.clearImportedModules() - app.quit() - } -} +/* +** Suppress Node error messages +*/ +process.on('uncaughtException', function (err) { + // TODO: Write error to log file in #1447 + console.error(err) +}) diff --git a/electron/utils/clean.ts b/electron/utils/clean.ts new file mode 100644 index 0000000000..2334b589a1 --- /dev/null +++ b/electron/utils/clean.ts @@ -0,0 +1,14 @@ +import { ModuleManager } from '@janhq/core/node' +import { WindowManager } from './../managers/window' +import { dispose } from './disposable' +import { app } from 'electron' + +export function cleanUpAndQuit() { + if (!ModuleManager.instance.cleaningResource) { + ModuleManager.instance.cleaningResource = true + WindowManager.instance.currentWindow?.destroy() + dispose(ModuleManager.instance.requiredModules) + ModuleManager.instance.clearImportedModules() + app.quit() + } +}