From 0768b1b9079ea75c22b453e1856e1f2841ff8571 Mon Sep 17 00:00:00 2001 From: Eva Ho Date: Fri, 21 Jul 2023 12:47:54 -0400 Subject: [PATCH 1/7] restart server with condition and timeout --- app/src/index.ts | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/app/src/index.ts b/app/src/index.ts index a88afdc2..5e3fa9fc 100644 --- a/app/src/index.ts +++ b/app/src/index.ts @@ -102,30 +102,34 @@ if (require('electron-squirrel-startup')) { function server() { const binary = app.isPackaged - ? path.join(process.resourcesPath, 'ollama') - : path.resolve(process.cwd(), '..', 'ollama') + ? path.join(process.resourcesPath, 'ollama') + : path.resolve(process.cwd(), '..', 'ollama'); - const proc = spawn(binary, ['serve']) + const proc = spawn(binary, ['serve']); proc.stdout.on('data', data => { - logger.info(data.toString().trim()) - }) + logger.info(data.toString().trim()); + }); proc.stderr.on('data', data => { - logger.error(data.toString().trim()) - }) + logger.error(data.toString().trim()); + }); + - function restart() { - logger.info('Restarting the server...') - server() - } - - proc.on('exit', restart) + proc.on('exit', (code, signal) => { + if (code === 0 || code === null) { + logger.info('Server has stopped.'); + setTimeout(server, 5000); + } else { + logger.error(`Server exited with code: ${code}, signal: ${signal}`); + setTimeout(server, 3000); + } + }); app.on('before-quit', () => { - proc.off('exit', restart) - proc.kill() - }) + proc.off('exit', server); + proc.kill(); + }); } if (process.platform === 'darwin') { From d2bfaeac63c14af4e3b02b7246be16f11505f706 Mon Sep 17 00:00:00 2001 From: Eva Ho Date: Fri, 21 Jul 2023 12:49:40 -0400 Subject: [PATCH 2/7] format code --- app/src/index.ts | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/app/src/index.ts b/app/src/index.ts index 5e3fa9fc..8394ff0b 100644 --- a/app/src/index.ts +++ b/app/src/index.ts @@ -103,33 +103,33 @@ if (require('electron-squirrel-startup')) { function server() { const binary = app.isPackaged ? path.join(process.resourcesPath, 'ollama') - : path.resolve(process.cwd(), '..', 'ollama'); + : path.resolve(process.cwd(), '..', 'ollama') - const proc = spawn(binary, ['serve']); + const proc = spawn(binary, ['serve']) proc.stdout.on('data', data => { - logger.info(data.toString().trim()); - }); + logger.info(data.toString().trim()) + }) proc.stderr.on('data', data => { - logger.error(data.toString().trim()); - }); + logger.error(data.toString().trim()) + }) proc.on('exit', (code, signal) => { if (code === 0 || code === null) { - logger.info('Server has stopped.'); - setTimeout(server, 5000); + logger.info('Server has stopped.') + setTimeout(server, 5000) } else { - logger.error(`Server exited with code: ${code}, signal: ${signal}`); - setTimeout(server, 3000); + logger.error(`Server exited with code: ${code}, signal: ${signal}`) + setTimeout(server, 3000) } - }); + }) app.on('before-quit', () => { - proc.off('exit', server); - proc.kill(); - }); + proc.off('exit', server) + proc.kill() + }) } if (process.platform === 'darwin') { From 734892f1e25d1214f19c4fc1bcb94dc4b70cb437 Mon Sep 17 00:00:00 2001 From: Eva Ho Date: Fri, 21 Jul 2023 13:09:28 -0400 Subject: [PATCH 3/7] address comment --- app/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/index.ts b/app/src/index.ts index 8394ff0b..f061034a 100644 --- a/app/src/index.ts +++ b/app/src/index.ts @@ -117,7 +117,7 @@ function server() { proc.on('exit', (code, signal) => { - if (code === 0 || code === null) { + if (!code) { logger.info('Server has stopped.') setTimeout(server, 5000) } else { From b08c4ca2bd058e6aef6c0f2b54be46cb5698b105 Mon Sep 17 00:00:00 2001 From: hoyyeva <63033505+hoyyeva@users.noreply.github.com> Date: Fri, 21 Jul 2023 16:52:20 -0400 Subject: [PATCH 4/7] Update app/src/index.ts Co-authored-by: Jeffrey Morgan <251292+jmorganca@users.noreply.github.com> --- app/src/index.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/app/src/index.ts b/app/src/index.ts index f061034a..e4192a3d 100644 --- a/app/src/index.ts +++ b/app/src/index.ts @@ -117,13 +117,8 @@ function server() { proc.on('exit', (code, signal) => { - if (!code) { - logger.info('Server has stopped.') - setTimeout(server, 5000) - } else { - logger.error(`Server exited with code: ${code}, signal: ${signal}`) - setTimeout(server, 3000) - } + logger.error(`Server exited with code: ${code}`) + setTimeout(server, 3000) }) app.on('before-quit', () => { From e0a73d7fbe28b29d7e0a56c84a5b9f118ebf562e Mon Sep 17 00:00:00 2001 From: Eva Ho Date: Fri, 21 Jul 2023 16:53:27 -0400 Subject: [PATCH 5/7] address comment --- app/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/index.ts b/app/src/index.ts index e4192a3d..c49ff4e5 100644 --- a/app/src/index.ts +++ b/app/src/index.ts @@ -116,7 +116,7 @@ function server() { }) - proc.on('exit', (code, signal) => { + proc.on('exit', (code) => { logger.error(`Server exited with code: ${code}`) setTimeout(server, 3000) }) From 3f7d2336c77f09286c6ecf281fd6fa16c3ce64a5 Mon Sep 17 00:00:00 2001 From: Eva Ho Date: Fri, 21 Jul 2023 17:10:05 -0400 Subject: [PATCH 6/7] add prettier and address comments --- app/package.json | 4 +++- app/src/declarations.d.ts | 6 +++--- app/src/index.ts | 31 ++++++++++++++++--------------- 3 files changed, 22 insertions(+), 19 deletions(-) diff --git a/app/package.json b/app/package.json index 5633ca40..0c35a3eb 100644 --- a/app/package.json +++ b/app/package.json @@ -11,7 +11,9 @@ "make": "electron-forge make", "make:sign": "SIGN=1 electron-forge make", "publish": "SIGN=1 electron-forge publish", - "lint": "eslint --ext .ts,.tsx ." + "lint": "eslint --ext .ts,.tsx .", + "format": "prettier --check . --ignore-path .gitignore", + "format:fix": "prettier --write . --ignore-path .gitignore" }, "keywords": [], "author": { diff --git a/app/src/declarations.d.ts b/app/src/declarations.d.ts index fc52f076..a97fbda7 100644 --- a/app/src/declarations.d.ts +++ b/app/src/declarations.d.ts @@ -1,4 +1,4 @@ declare module '*.svg' { - const content: string; - export default content; -} \ No newline at end of file + const content: string + export default content +} diff --git a/app/src/index.ts b/app/src/index.ts index c49ff4e5..8dfae2d7 100644 --- a/app/src/index.ts +++ b/app/src/index.ts @@ -67,25 +67,25 @@ function firstRunWindow() { function createSystemtray() { let iconPath = nativeTheme.shouldUseDarkColors - ? path.join(__dirname, '..', '..', 'assets', 'ollama_icon_16x16Template.png') + ? path.join(__dirname, '..', '..', 'assets', 'ollama_icon_16x16Template.png') : path.join(__dirname, '..', '..', 'assets', 'ollama_outline_icon_16x16Template.png') if (app.isPackaged) { iconPath = nativeTheme.shouldUseDarkColors - ? path.join(process.resourcesPath, 'ollama_icon_16x16Template.png') - : path.join(process.resourcesPath, 'ollama_outline_icon_16x16Template.png') + ? path.join(process.resourcesPath, 'ollama_icon_16x16Template.png') + : path.join(process.resourcesPath, 'ollama_outline_icon_16x16Template.png') } tray = new Tray(iconPath) - nativeTheme.on('updated', function theThemeHasChanged () { + nativeTheme.on('updated', function theThemeHasChanged() { if (nativeTheme.shouldUseDarkColors) { - app.isPackaged - ? tray.setImage(path.join(process.resourcesPath, 'ollama_icon_16x16Template.png')) + app.isPackaged + ? tray.setImage(path.join(process.resourcesPath, 'ollama_icon_16x16Template.png')) : tray.setImage(path.join(__dirname, '..', '..', 'assets', 'ollama_icon_16x16Template.png')) } else { - app.isPackaged - ? tray.setImage(path.join(process.resourcesPath, 'ollama_outline_icon_16x16Template.png')) + app.isPackaged + ? tray.setImage(path.join(process.resourcesPath, 'ollama_outline_icon_16x16Template.png')) : tray.setImage(path.join(__dirname, '..', '..', 'assets', 'ollama_outline_icon_16x16Template.png')) } }) @@ -102,8 +102,8 @@ if (require('electron-squirrel-startup')) { function server() { const binary = app.isPackaged - ? path.join(process.resourcesPath, 'ollama') - : path.resolve(process.cwd(), '..', 'ollama') + ? path.join(process.resourcesPath, 'ollama') + : path.resolve(process.cwd(), '..', 'ollama') const proc = spawn(binary, ['serve']) @@ -114,15 +114,16 @@ function server() { proc.stderr.on('data', data => { logger.error(data.toString().trim()) }) - - proc.on('exit', (code) => { - logger.error(`Server exited with code: ${code}`) + function restart(code: number) { + logger.info(`Server exited with code: ${code}`) setTimeout(server, 3000) - }) + } + + proc.on('exit', code => restart(code)) app.on('before-quit', () => { - proc.off('exit', server) + proc.off('exit', code => restart(code)) proc.kill() }) } From 9657314ae2afb887370cdf4da57aa24aa5d718ed Mon Sep 17 00:00:00 2001 From: Eva Ho Date: Fri, 21 Jul 2023 17:29:07 -0400 Subject: [PATCH 7/7] address comment --- app/src/index.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/app/src/index.ts b/app/src/index.ts index 8dfae2d7..25475992 100644 --- a/app/src/index.ts +++ b/app/src/index.ts @@ -115,15 +115,14 @@ function server() { logger.error(data.toString().trim()) }) - function restart(code: number) { - logger.info(`Server exited with code: ${code}`) + function restart() { setTimeout(server, 3000) } - proc.on('exit', code => restart(code)) + proc.on('exit', restart) app.on('before-quit', () => { - proc.off('exit', code => restart(code)) + proc.off('exit', restart) proc.kill() }) }