// src/main/lifecycle.ts — 종료 시퀀스 import { app } from 'electron' import { getLogger } from './services/LoggerService' import { getConfigService } from './services/ConfigService' const logger = getLogger('lifecycle') let isQuitting = false export function getIsQuitting(): boolean { return isQuitting } export function setIsQuitting(value: boolean): void { isQuitting = value } export function setupLifecycle(): void { app.on('before-quit', () => { logger.info('[lifecycle] before-quit') isQuitting = true }) app.on('will-quit', () => { logger.info('[lifecycle] will-quit — flushing config') try { const configService = getConfigService() if (configService) { // electron-store는 동기적으로 디스크에 쓰므로 별도 flush 불필요 logger.info('[lifecycle] config flush complete') } } catch (error) { logger.warn('[lifecycle] config flush failed:', error) } }) }