mirror of
https://github.com/anomalyco/opencode.git
synced 2026-05-31 05:15:32 +00:00
The main process was resetting webContents zoom to 1 on every \zoom-changed\ event, which fires not just for native Chromium zoom gestures but also for the renderer's own setZoomFactor IPC calls. Paired with a keydown listener that re-sent the current zoom on every ctrl-combination (ctrl+backspace, ctrl+z, ctrl+v, ...), this created a self-triggered race that intermittently snapped the factor back to 1. Make the renderer the single source of zoom truth: keyboard, wheel, and menu all drive the same Solid signal, preventDefault blocks Chromium's built-in accelerators before they race, and the main process disables pinch zoom and no longer listens to zoom-changed. |
||
|---|---|---|
| .. | ||
| icons | ||
| resources | ||
| scripts | ||
| src | ||
| .gitignore | ||
| AGENTS.md | ||
| electron-builder.config.ts | ||
| electron.vite.config.ts | ||
| package.json | ||
| README.md | ||
| sst-env.d.ts | ||
| tsconfig.json | ||
OpenCode Desktop
Native OpenCode desktop app, built with Tauri v2.
Development
From the repo root:
bun install
bun run --cwd packages/desktop tauri dev
This starts the Vite dev server on http://localhost:1420 and opens the native window.
If you only want the web dev server (no native shell):
bun run --cwd packages/desktop dev
Build
To create a production dist/ and build the native app bundle:
bun run --cwd packages/desktop tauri build
Prerequisites
Running the desktop app requires additional Tauri dependencies (Rust toolchain, platform-specific libraries). See the Tauri prerequisites for setup instructions.