From 66bbf05918693f300314ccb961c8fb24e1fe0ec3 Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Mon, 10 Jul 2023 13:46:31 -0700 Subject: [PATCH] start server in both dev and when packaged --- app/src/index.ts | 81 ++++++++++++++++++-------------------------- app/src/telemetry.ts | 2 -- 2 files changed, 33 insertions(+), 50 deletions(-) diff --git a/app/src/index.ts b/app/src/index.ts index 19115e9d..b0428f2a 100644 --- a/app/src/index.ts +++ b/app/src/index.ts @@ -38,27 +38,10 @@ if (require('electron-squirrel-startup')) { const ollama = path.join(process.resourcesPath, 'ollama') -// if the app is packaged then run the server -if (app.isPackaged) { - // Start the executable - console.log(`Starting server`) - const proc = spawn(ollama, ['serve']) - proc.stdout.on('data', data => { - console.log(`server: ${data}`) - }) - proc.stderr.on('data', data => { - console.error(`server: ${data}`) - }) - - process.on('exit', () => { - proc.kill() - }) -} - function server() { const binary = app.isPackaged ? path.join(process.resourcesPath, 'ollama') - : path.resolve(__dirname, '..', '..', 'ollama') + : path.resolve(process.cwd(), '..', 'ollama') console.log(`Starting server`) const proc = spawn(binary, ['serve']) @@ -118,44 +101,46 @@ app.on('ready', () => { app.setLoginItemSettings({ openAtLogin: app.getLoginItemSettings().openAtLogin }) } - if (!app.isInApplicationsFolder()) { - const chosen = dialog.showMessageBoxSync({ - type: 'question', - buttons: ['Move to Applications', 'Do Not Move'], - message: 'Ollama works best when run from the Applications directory.', - defaultId: 0, - cancelId: 1, - }) + if (app.isPackaged) { + if (!app.isInApplicationsFolder()) { + const chosen = dialog.showMessageBoxSync({ + type: 'question', + buttons: ['Move to Applications', 'Do Not Move'], + message: 'Ollama works best when run from the Applications directory.', + defaultId: 0, + cancelId: 1, + }) - if (chosen === 0) { - try { - app.moveToApplicationsFolder({ - conflictHandler: conflictType => { - if (conflictType === 'existsAndRunning') { - dialog.showMessageBoxSync({ - type: 'info', - message: 'Cannot move to Applications directory', - detail: - 'Another version of Ollama is currently running from your Applications directory. Close it first and try again.', - }) - } - return true - }, - }) - return - } catch (e) { - console.error('Failed to move to applications folder') - console.error(e) + if (chosen === 0) { + try { + app.moveToApplicationsFolder({ + conflictHandler: conflictType => { + if (conflictType === 'existsAndRunning') { + dialog.showMessageBoxSync({ + type: 'info', + message: 'Cannot move to Applications directory', + detail: + 'Another version of Ollama is currently running from your Applications directory. Close it first and try again.', + }) + } + return true + }, + }) + return + } catch (e) { + console.error('Failed to move to applications folder') + console.error(e) + } } } + + installCLI() } } createSystemtray() - if (app.isPackaged) { - installCLI() - } + server() }) // Quit when all windows are closed, except on macOS. There, it's common diff --git a/app/src/telemetry.ts b/app/src/telemetry.ts index 33101b10..248db23a 100644 --- a/app/src/telemetry.ts +++ b/app/src/telemetry.ts @@ -4,8 +4,6 @@ import Store from 'electron-store' const store = new Store() -console.log(process.env) - export const analytics = new Analytics({ writeKey: process.env.TELEMETRY_WRITE_KEY || '' }) export function id(): string {