aboutsummaryrefslogtreecommitdiffstats
path: root/packages/main/src/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/main/src/index.ts')
-rw-r--r--packages/main/src/index.ts27
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 = {
123let mainWindow: BrowserWindow | undefined; 123let mainWindow: BrowserWindow | undefined;
124 124
125const store = createMainStore(); 125const store = createMainStore();
126
126init(store) 127init(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);