fix(electron): improve error handling during app initialization and updater events (#461)

This commit is contained in:
Haze
2026-03-13 13:24:50 +08:00
committed by GitHub
Unverified
parent abc0c6e7d5
commit e7923d0120
3 changed files with 13 additions and 4 deletions

View File

@@ -365,7 +365,9 @@ app.on('second-instance', () => {
// Application lifecycle
app.whenReady().then(() => {
initialize();
void initialize().catch((error) => {
logger.error('Application initialization failed:', error);
});
// Register activate handler AFTER app is ready to prevent
// "Cannot create BrowserWindow before app is ready" on macOS.

View File

@@ -52,6 +52,12 @@ export class AppUpdater extends EventEmitter {
constructor() {
super();
// EventEmitter treats an unhandled 'error' event as fatal. Keep a default
// listener so updater failures surface in logs/UI without terminating main.
this.on('error', (error: Error) => {
logger.error('[Updater] AppUpdater emitted error:', error);
});
autoUpdater.autoDownload = false;
autoUpdater.autoInstallOnAppQuit = true;