Files
ChatApp/apps/desktop
byGalax 0d65a134fd feat(settings): click own avatar in profile preview to view fullscreen
Lightbox was previously a file-private component inside AttachmentImage
(used for enlarging chat image attachments). Extracted to a standalone
components/Lightbox.tsx so other surfaces can reuse the same dialog
without duplicating Esc/backdrop/body-overflow plumbing.

In SettingsPage's profile live-preview, the round avatar overlapping the
banner is now wrapped in a transparent button that opens the Lightbox
with the full-resolution avatar URL on click. Cursor switches to
zoom-in. Disabled when the user only has the initial-letter placeholder
(nothing meaningful to enlarge). Native button chrome (border, padding,
button-face background) is reset to keep the avatar circle's appearance
unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 22:58:22 +02:00
..
2026-04-18 23:11:35 +02:00
2026-05-12 22:24:32 +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.