Files
ruvnet--RuView/rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/Cargo.toml
T
Reuven 285bb0ad37 feat(desktop): v0.4.4 - WiFi configuration via serial port
## New Features
- WiFi Configuration Modal: Configure ESP32 WiFi credentials directly from the desktop app
- Serial port WiFi commands: Sends wifi_config/wifi/set ssid commands via serial
- Improved feedback UI with status indicators (Success/Commands Sent/Error)

## API Improvements
- New Tauri command: configure_esp32_wifi(port, ssid, password)
- 21 new integration tests covering all API functionality
- ESP32 VID/PID detection for CP210x, CH340, FTDI, and native USB

## UI Enhancements
- WiFi button in Serial Ports table for ESP32-compatible devices
- Modal with SSID/password inputs and clear status feedback
- "Done" button after configuration with "Try Again" option

## Testing
- 18 unit tests + 21 integration tests = 39 total tests passing
- Tests cover: discovery, settings, server, flash, OTA, provision, WASM, state, domain models

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-03-10 10:35:30 -04:00

67 lines
1.4 KiB
TOML

[package]
name = "wifi-densepose-desktop"
version.workspace = true
edition.workspace = true
description = "Tauri v2 desktop frontend for RuView WiFi DensePose"
license.workspace = true
authors.workspace = true
[lib]
name = "wifi_densepose_desktop"
crate-type = ["staticlib", "cdylib", "rlib"]
[build-dependencies]
tauri-build = { version = "2", features = [] }
[dependencies]
tauri = { version = "2", features = [] }
tauri-plugin-shell = "2"
tauri-plugin-dialog = "2"
serde = { workspace = true }
serde_json = { workspace = true }
tokio = { workspace = true }
thiserror = { workspace = true }
chrono = { version = "0.4", features = ["serde"] }
# Discovery (mDNS + UDP)
mdns-sd = "0.11"
flume = "0.11"
# Serial port (cross-platform)
tokio-serial = "5.4"
# HTTP client for OTA/WASM (native-tls for Windows compatibility)
reqwest = { version = "0.12", default-features = false, features = ["json", "multipart", "native-tls"] }
# Crypto for OTA PSK
sha2 = "0.10"
hmac = "0.12"
# System info for server management
sysinfo = "0.32"
# Async utilities
futures = "0.3"
# Logging
tracing = "0.1"
# UUID for session IDs
uuid = { version = "1.0", features = ["v4", "serde"] }
# Hex encoding for hashes
hex = "0.4"
# Regex for parsing espflash output
regex = "1.10"
# Serial port for WiFi configuration
serialport.workspace = true
# Unix signals for graceful process termination
[target.'cfg(unix)'.dependencies]
libc = "0.2"
[dev-dependencies]