diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c1e9a25..2b78378 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,6 +37,12 @@ jobs: env: NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Cache Electron binary + uses: actions/cache@v4 + with: + path: ~/Library/Caches/electron + key: electron-${{ runner.os }}-${{ runner.arch }}-v42.2.0 + - name: Import signing certificate env: CERTIFICATE_BASE64: ${{ secrets.APPLE_CERTIFICATE }} diff --git a/package-lock.json b/package-lock.json index 93db764..011e558 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "openconduit", - "version": "2.0.0-beta.9", + "version": "2.0.0-beta.10", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "openconduit", - "version": "2.0.0-beta.9", + "version": "2.0.0-beta.10", "license": "AGPL-3.0-only", "dependencies": { "@anthropic-ai/foundry-sdk": "^0.2.3", @@ -14,7 +14,7 @@ "@aws-sdk/client-bedrock-runtime": "^3.1053.0", "@google/genai": "^2.3.0", "@modelcontextprotocol/sdk": "^1.29.0", - "@openconduit/core": "^2.0.0-beta.8", + "@openconduit/core": "^2.0.0-beta.9", "@sentry/electron": "^7.13.0", "@types/pdf-parse": "^1.1.5", "electron-squirrel-startup": "^1.0.1", @@ -3120,7 +3120,9 @@ } }, "node_modules/@openconduit/core": { - "version": "2.0.0-beta.8", + "version": "2.0.0-beta.9", + "resolved": "https://npm.pkg.github.com/download/@openconduit/core/2.0.0-beta.9/bba0be420af650ca9b4d40bd0ff0b363d187082a", + "integrity": "sha512-RaZIiC7hiXcnLoYWDcfrK3eYXuqok889xSBOIfU3lhPKRjmbuMlEoyGAWFqLpAzizhXVumvkEb5FDh6bT/uUGQ==", "license": "AGPL-3.0", "dependencies": { "@codemirror/commands": "^6.10.3", diff --git a/package.json b/package.json index f2a57fa..98a20d8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "openconduit", "productName": "OpenConduit", - "version": "2.0.0-beta.9", + "version": "2.0.0-beta.10", "description": "Cross-platform desktop AI chat client — OpenAI, Anthropic, LM Studio, and MCP tool servers", "main": ".vite/build/main.js", "private": true, @@ -61,7 +61,7 @@ "@aws-sdk/client-bedrock-runtime": "^3.1053.0", "@google/genai": "^2.3.0", "@modelcontextprotocol/sdk": "^1.29.0", - "@openconduit/core": "^2.0.0-beta.8", + "@openconduit/core": "^2.0.0-beta.9", "@sentry/electron": "^7.13.0", "@types/pdf-parse": "^1.1.5", "electron-squirrel-startup": "^1.0.1", diff --git a/src/index.css b/src/index.css index 3b5cefa..f1b0f29 100644 --- a/src/index.css +++ b/src/index.css @@ -1,6 +1,6 @@ @import "tailwindcss"; @import "./styles/brand_tokens.css"; -@source "../../../node_modules/@openconduit/core/src"; +@source "../node_modules/@openconduit/core/src"; /* Tailwind v4: class-based dark mode — must be declared in CSS, not config */ @variant dark (&:where(.dark, .dark *)); diff --git a/src/main/store/settings.ts b/src/main/store/settings.ts index 6f744fb..974fdfe 100644 --- a/src/main/store/settings.ts +++ b/src/main/store/settings.ts @@ -93,7 +93,11 @@ export function getSettings(): AppSettings { export function setSettings(partial: Partial): AppSettings { for (const [k, v] of Object.entries(partial)) { - settingsStore.set(k, v); + if (v === undefined) { + settingsStore.delete(k as keyof AppSettings); + } else { + settingsStore.set(k, v); + } } return settingsStore.store as AppSettings; }