diff --git a/app/src/index.ts b/app/src/index.ts index 54c81c28..bad6637c 100644 --- a/app/src/index.ts +++ b/app/src/index.ts @@ -5,7 +5,7 @@ import winston from 'winston' import 'winston-daily-rotate-file' import * as path from 'path' -import { analytics, id } from './telemetry' +import { v4 as uuidv4 } from 'uuid' import { installed } from './install' require('@electron/remote/main').initialize() @@ -164,11 +164,11 @@ app.on('before-quit', () => { function init() { if (app.isPackaged) { - heartbeat() autoUpdater.checkForUpdates() setInterval(() => { - heartbeat() - autoUpdater.checkForUpdates() + if (!updateAvailable) { + autoUpdater.checkForUpdates() + } }, 60 * 60 * 1000) } @@ -234,28 +234,26 @@ app.on('window-all-closed', () => { } }) -// In this file you can include the rest of your app's specific main process -// code. You can also put them in separate files and import them here. -let aid = '' -try { - aid = id() -} catch (e) {} +function id(): string { + const id = store.get('id') as string -autoUpdater.setFeedURL({ - url: `https://ollama.ai/api/update?os=${process.platform}&arch=${process.arch}&version=${app.getVersion()}&id=${aid}`, -}) + if (id) { + return id + } -async function heartbeat() { - analytics.track({ - anonymousId: aid, - event: 'heartbeat', - properties: { - version: app.getVersion(), - }, - }) + const uuid = uuidv4() + store.set('id', uuid) + return uuid } +autoUpdater.setFeedURL({ + url: `https://ollama.ai/api/update?os=${process.platform}&arch=${ + process.arch + }&version=${app.getVersion()}&id=${id()}`, +}) + autoUpdater.on('error', e => { + logger.error(`update check failed - ${e.message}`) console.error(`update check failed - ${e.message}`) }) diff --git a/app/src/telemetry.ts b/app/src/telemetry.ts deleted file mode 100644 index 248db23a..00000000 --- a/app/src/telemetry.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Analytics } from '@segment/analytics-node' -import { v4 as uuidv4 } from 'uuid' -import Store from 'electron-store' - -const store = new Store() - -export const analytics = new Analytics({ writeKey: process.env.TELEMETRY_WRITE_KEY || '' }) - -export function id(): string { - const id = store.get('id') as string - - if (id) { - return id - } - - const uuid = uuidv4() - store.set('id', uuid) - return uuid -}