87c2e45bb4
`appVersion: process.env.npm_package_version ?? '0.0.0'` only worked in dev — pnpm sets that env var while running its lifecycle scripts. In the packaged Electron build npm_package_version is unset, so every installed user saw `v0.0.0` on the Changelog page and the version badge permanently flagged them as "Update verfügbar" against their own actually-current version. Replace with a static `import pkg from '../package.json'` so Vite inlines the version string into the preload bundle at build time. The release script bumps package.json before electron-builder runs, so the inlined value always matches the freshly-released version. resolveJsonModule + esModuleInterop are already on in tsconfig.node. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@chat-app/desktop
Tauri v2 + React + Vite + Tailwind desktop client (macOS / Windows / Linux).
Prerequisites
- Node 22+, pnpm 9+
- Rust + Cargo (install via https://rustup.rs)
- Platform build deps:
- macOS: Xcode Command Line Tools
- Linux:
libwebkit2gtk-4.1-dev,build-essential,libssl-dev(Debian/Ubuntu) - Windows: Microsoft C++ Build Tools + WebView2
Dev
# from repo root
pnpm install
pnpm desktop:dev # tauri dev — launches Vite + native window
pnpm desktop:build # production bundle per platform
Layout
src/— React app (Vite bundles intodist/).src-tauri/— Rust backend.main.rswires Tauri plugins.vite.config.ts— port1420, HMR on1421, aliases to shared packages.
Secure Storage
Session tokens + user private keys live in Stronghold (tauri-plugin-stronghold).
Local message history lives in SQLite (tauri-plugin-sql), DB file encrypted at rest.