-
Notifications
You must be signed in to change notification settings - Fork 0
Home
HlexNC edited this page Mar 14, 2026
·
3 revisions
Welcome to the technical documentation for Zelara's desktop application (Tauri + React + Rust).
- Device Pairing Troubleshooting - Diagnose and fix connection issues between Desktop and Mobile
- Framework: Tauri 2 (Rust backend + Vite/React frontend)
- Language: TypeScript (frontend) + Rust (backend)
- WebSocket Server: tokio-tungstenite on port 8765
- TLS: tokio-rustls + rcgen (self-signed cert generated on first launch)
-
BLE Advertising: WinRT
BluetoothLEAdvertisementPublisherviawindowscrate (Windows-only; no-op stub on macOS/Linux) - CV Processing: ONNX Runtime (image validation)
- Storage: SQLite (rusqlite) + file system
| Module | Purpose |
|---|---|
device_linking.rs |
WebSocket server, TLS, QR generation, handshake, task dispatch |
ble_advertising.rs |
BLE peripheral advertising (Windows WinRT); BleAdvertisingState, BleStatus
|
cv_processor.rs |
Heuristic paper bag detection (brown pixel ratio) |
storage.rs |
Progress persistence, unlock_module command |
lib.rs |
Tauri setup, command registration, managed state |
| Command | Description |
|---|---|
start_ble_advertising |
Start BLE advertisement (auto-called on launch) |
stop_ble_advertising |
Stop BLE advertisement |
get_ble_status |
Returns current BleStatus (notSupported | idle | advertising | error) |
| Event | Payload |
|---|---|
ble-status-changed |
{ status, ip?, port?, message? } |
- Target platforms: Windows (NSIS installer), macOS, Linux
- Rust edition: 2021
- Dev URL: http://localhost:1420
- Main README - Project overview and quick start
- Back to Core Repo - Zelara core repository
The main technical documentation lives in the Zelara Core Wiki. Key pages relevant to the desktop app:
- Device Linking Architecture — Protocol design, QR pairing spec, task offloading
- Device Linking — Production Testing — v0.1.2-test: production bugs found & fixed (firewall, multi-interface QR, server binding)
- Architecture — System-wide design decisions
- Technology Stack — Framework and language decisions