Project
Building and developing Velta
Velta is free software (GPL-3.0). The repo lives at github.com/pbuzdin/velta.
git clone https://github.com/pbuzdin/velta.git
cd velta
Repository layout
app/— the entire web frontend: plain HTML/CSS/ES modules, no bundler and no build stepvelta-app/— the Tauri 2 shell for Windows, macOS and Androidcore/— the vendored Delta Chat core (Rust), patched via a quilt script intools/docs/— architecture and planning documents
Quick start: run the UI in 30 seconds
The frontend runs standalone in demo mode with a mock core — no Rust toolchain needed:
python3 -m http.server 8080 -d app
# open http://localhost:8080 in a browser
Run the frontend regression suites (Node's built-in test runner, no dependencies):
node --test tests/
Desktop (Windows / macOS)
Requires Rust and the Tauri CLI.
cd velta-app
cargo tauri dev # dev run with hot reload
cargo tauri build # produce the installer
Desktop builds must run natively on the target OS. Note that the debug exe embeds app/ at compile time — after editing the frontend, force a rebuild (cargo clean -p velta-app) before relaunching.
Android
Requires the Android SDK and NDK (an arm64 device or emulator for testing).
cd velta-app
cargo tauri android init # once
cargo tauri android dev
cargo tauri android build
Browser PWA (WebAssembly core)
The PWA ships the Delta Chat core compiled to WebAssembly, built from packages/deltachat-wasm (see its README). Assemble a deployable dist:
# put wasm core assets into build/wasm-dist (CI artifact or wasm-pack)
node scripts/build-pwa.mjs # → build/dist-pwa
node scripts/verify-pwa-dist.mjs # 10 in-browser checks
To self-host the PWA, see docs/pwa-self-host.md — it is a static site, any web server works.
Core (Rust)
Build and test the vendored core from WSL/Linux (native Windows cargo fails on openssl-sys):
cd core
cargo test
python3 ../tools/apply-core-patches.py verify # quilt patches intact
Changes inside core/ must go through the quilt tool (tools/apply-core-patches.py) so re-vendoring stays reproducible.
Contributing
Issues and pull requests are welcome on GitHub. For deeper architecture notes, start with AGENTS.md and docs/as-built-architecture.md.