Files
ChatApp/apps/desktop
byGalax 854c4b91a8 perf(P6C.T11): bundle audit + opt-in visualizer for future audits
Audited the renderer bundle with rollup-plugin-visualizer. Top offenders
(libsodium-sumo 292KB gz, livekit-client 177KB gz, @supabase 149KB gz)
all have justified usage and no viable swap. Mediapipe + track-processors
are already lazy-loaded into a separate chunk on first BackgroundBlur
activation. Bundle has zero duplicate packages, no moment/lodash/dayjs,
no syntax-highlight libs, no polyfills — already lean from T1+T6.

Added rollup-plugin-visualizer as a dev-dep, gated behind ANALYZE=true
so production builds pay no cost. Run with:
  ANALYZE=true pnpm --filter @chat-app/desktop build
to regenerate stats.html (treemap) + stats.json (raw) for future audits.
2026-05-17 00:35:41 +02:00
..
2026-04-18 23:11:35 +02:00
2026-04-18 23:11:35 +02:00
2026-04-18 23:11:35 +02:00

@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 into dist/).
  • src-tauri/ — Rust backend. main.rs wires Tauri plugins.
  • vite.config.ts — port 1420, HMR on 1421, 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.