11import 'reflect-metadata'
22
3+ import { app , dialog } from 'electron'
4+ import log from 'electron-log'
5+
36import { NestFactory } from '@nestjs/core'
47import * as Sentry from '@sentry/electron/main'
58
@@ -15,15 +18,38 @@ if (process.env.NODE_ENV !== 'development') {
1518}
1619
1720const bootstrap = async ( ) => {
18- const app = await NestFactory . createApplicationContext ( AppModule )
21+ try {
22+ const app = await NestFactory . createApplicationContext ( AppModule )
23+
24+ const leagueService = app . get ( LeagueService )
25+ const updateService = app . get ( UpdateService )
26+ const electronService = app . get ( ElectronService )
27+
28+ await leagueService . clientInitialize ( )
29+ await updateService . autoUpdate ( )
30+ await electronService . start ( )
31+ } catch ( error : any ) {
32+ log . error ( 'Failed to bootstrap application' )
33+ log . error ( error ?. message , error )
34+
35+ await app . whenReady ( )
1936
20- const leagueService = app . get ( LeagueService )
21- const updateService = app . get ( UpdateService )
22- const electronService = app . get ( ElectronService )
37+ if ( error ?. message === 'unable to verify the first certificate' ) {
38+ dialog . showErrorBox (
39+ 'μ± μ€ν μ€λ₯' ,
40+ `μΈμ¦μ μ€λ₯λ‘ μΈν΄ μ±μ μ€νν μ μμ΅λλ€.\nλ€νΈμν¬λ₯Ό λ³κ²½νλ μ±μ΄ μ€ν μ€μ΄λΌλ©΄ μ΄ μ±μ μ μΈν΄μ£ΌμΈμ. (μμ: μ λμ½ Pro)\nμμΈν λ‘κ·Έλ ${
41+ log . transports . file . getFile ( ) . path
42+ } `,
43+ )
44+ } else {
45+ dialog . showErrorBox (
46+ 'μ± μ€ν μ€λ₯' ,
47+ `${ error ?. message } \nμμΈν λ‘κ·Έλ ${ log . transports . file . getFile ( ) . path } ` ,
48+ )
49+ }
2350
24- await leagueService . clientInitialize ( )
25- await updateService . autoUpdate ( )
26- await electronService . start ( )
51+ process . exit ( 1 )
52+ }
2753}
2854
2955bootstrap ( )
0 commit comments