diff options
Diffstat (limited to 'packages')
-rw-r--r-- | packages/main/src/index.ts | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/packages/main/src/index.ts b/packages/main/src/index.ts index 02e6cda..2830fa7 100644 --- a/packages/main/src/index.ts +++ b/packages/main/src/index.ts | |||
@@ -123,7 +123,9 @@ const serviceInject: WebSource = { | |||
123 | let mainWindow: BrowserWindow | undefined; | 123 | let mainWindow: BrowserWindow | undefined; |
124 | 124 | ||
125 | const store = createMainStore(); | 125 | const store = createMainStore(); |
126 | |||
126 | init(store) | 127 | init(store) |
128 | // eslint-disable-next-line promise/always-return -- `then` instead of top-level await. | ||
127 | .then((disposeCompositionRoot) => { | 129 | .then((disposeCompositionRoot) => { |
128 | app.on('will-quit', disposeCompositionRoot); | 130 | app.on('will-quit', disposeCompositionRoot); |
129 | }) | 131 | }) |
@@ -241,6 +243,15 @@ async function createWindow(): Promise<unknown> { | |||
241 | return getSnapshot(store.shared); | 243 | return getSnapshot(store.shared); |
242 | }); | 244 | }); |
243 | 245 | ||
246 | async function reloadServiceInject() { | ||
247 | try { | ||
248 | serviceInject.code = await readFile(serviceInjectPath, 'utf8'); | ||
249 | } catch (error) { | ||
250 | log.error('Error while reloading', serviceInjectPath, error); | ||
251 | } | ||
252 | browserView.webContents.reload(); | ||
253 | } | ||
254 | |||
244 | ipcMain.on(RendererToMainIpcMessage.DispatchAction, (event, rawAction) => { | 255 | ipcMain.on(RendererToMainIpcMessage.DispatchAction, (event, rawAction) => { |
245 | if (event.sender.id !== webContents.id) { | 256 | if (event.sender.id !== webContents.id) { |
246 | log.warn( | 257 | log.warn( |
@@ -261,19 +272,9 @@ async function createWindow(): Promise<unknown> { | |||
261 | store.config.setThemeSource(actionToDispatch.themeSource); | 272 | store.config.setThemeSource(actionToDispatch.themeSource); |
262 | break; | 273 | break; |
263 | case 'reload-all-services': | 274 | case 'reload-all-services': |
264 | readFile(serviceInjectPath, 'utf8') | 275 | reloadServiceInject().catch((error) => { |
265 | .then((data) => { | 276 | log.error('Failed to reload browserView', error); |
266 | serviceInject.code = data; | 277 | }); |
267 | }) | ||
268 | .catch((error) => { | ||
269 | log.error('Error while reloading', serviceInjectPath, error); | ||
270 | }) | ||
271 | .then(() => { | ||
272 | browserView.webContents.reload(); | ||
273 | }) | ||
274 | .catch((error) => { | ||
275 | log.error('Failed to reload browserView', error); | ||
276 | }); | ||
277 | break; | 278 | break; |
278 | default: | 279 | default: |
279 | log.error('Unexpected action from UI renderer:', actionToDispatch); | 280 | log.error('Unexpected action from UI renderer:', actionToDispatch); |