fix missing string crash

This commit is contained in:
Jeffrey Morgan 2023-07-06 18:02:37 -04:00
parent da74384a3e
commit f93ffb9695
2 changed files with 14 additions and 17 deletions

View File

@ -28,10 +28,7 @@ const createSystemtray = () => {
}) })
} }
const contextMenu = Menu.buildFromTemplate([{ role: 'quit', label: 'Quit Ollama', accelerator: 'Command+Q' }])
const contextMenu = Menu.buildFromTemplate([
{ role: 'quit', label: 'Quit Ollama', accelerator: 'Command+Q' },
])
tray.setContextMenu(contextMenu) tray.setContextMenu(contextMenu)
tray.setToolTip('Ollama') tray.setToolTip('Ollama')
@ -91,7 +88,7 @@ function installCLI() {
.showMessageBox({ .showMessageBox({
type: 'info', type: 'info',
title: 'Ollama CLI installation', title: 'Ollama CLI installation',
message: 'To install the Ollama CLI, we need to ask you for administrator privileges.', message: 'To make the Ollama command line work in your terminal, it needs administrator privileges.',
buttons: ['OK'], buttons: ['OK'],
}) })
.then(result => { .then(result => {
@ -111,35 +108,36 @@ function installCLI() {
}) })
} }
if (!SingleInstanceLock) { if (!SingleInstanceLock) {
app.quit() app.quit()
} else { } else {
app.on('ready', () => { app.on('ready', () => {
if (process.platform === 'darwin') { if (process.platform === 'darwin') {
app.dock.hide() app.dock.hide()
if (!app.isInApplicationsFolder()) { if (!app.isInApplicationsFolder()) {
const chosen = dialog.showMessageBoxSync({ const chosen = dialog.showMessageBoxSync({
type: 'question', type: 'question',
buttons: ['Move to Applications', 'Do Not Move'], buttons: ['Move to Applications', 'Do Not Move'],
message: 'Move Ollama to the Applications directory?', message: 'Ollama works best when run from the Applications directory.',
defaultId: 0, defaultId: 0,
cancelId: 1 cancelId: 1,
}) })
if (chosen === 0) { if (chosen === 0) {
try { try {
app.moveToApplicationsFolder({ app.moveToApplicationsFolder({
conflictHandler: (conflictType) => { conflictHandler: conflictType => {
if (conflictType === 'existsAndRunning') { if (conflictType === 'existsAndRunning') {
dialog.showMessageBoxSync({ dialog.showMessageBoxSync({
type: 'info', type: 'info',
message: 'Cannot move to Applications directory', message: 'Cannot move to Applications directory',
detail: 'Another version of Ollama is currently running from your Applications directory. Close it first and try again.' detail:
'Another version of Ollama is currently running from your Applications directory. Close it first and try again.',
}) })
} }
return true return true
} },
}) })
return return
} catch (e) { } catch (e) {
@ -149,16 +147,15 @@ if (!SingleInstanceLock) {
} }
} }
} }
createSystemtray() createSystemtray()
if (app.isPackaged) { if (app.isPackaged) {
installCLI() installCLI()
} }
}) })
} }
// Quit when all windows are closed, except on macOS. There, it's common // Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits // for applications and their menu bar to stay active until the user quits
// explicitly with Cmd + Q. // explicitly with Cmd + Q.

View File

@ -4,7 +4,7 @@ import { v4 as uuidv4 } from 'uuid'
const Store = require('electron-store') const Store = require('electron-store')
const store = new Store() const store = new Store()
export const analytics = new Analytics({ writeKey: process.env.TELEMETRY_WRITE_KEY || '' }) export const analytics = new Analytics({ writeKey: process.env.TELEMETRY_WRITE_KEY || '<empty>' })
export function id(): string { export function id(): string {
const id = store.get('id') const id = store.get('id')