e72bb6d4c43cb6978c5b6f578caf2f7003253429
The desktop GUI doesn't go through the proxy to reach the Mumble server, so its login screen needs to ping directly. Rather than duplicate the ping logic, move it into the common crate behind an optional `networking` feature (so common stays lightweight when the feature isn't requested). - common: add `ping_server(address, port)` behind `networking` feature - proxy: replace the inline UdpSocket ping + ping.rs codec with a call to common::ping_server; drop the rand dep - client: PlatformInterface::get_status now takes an address; desktop and mobile call common::ping_server directly, web still uses the proxy's /status endpoint - gui: thread the address from the login input through get_status, so it re-pings when the user edits the address Assisted-by: claude-opus-4-7 Reviewed-on: #33 Reviewed-by: restitux <restitux@ohea.xyz> Co-authored-by: Sam Sartor <me@samsartor.com> Co-committed-by: Sam Sartor <me@samsartor.com>
GUI Development
Running Desktop
cargo install dioxus-cli --version 0.7.1dx run -p mumble-web2-gui --platform desktop --release
Running Web (development)
cargo install dioxus-cli --version 0.7.1dx serve -p mumble-web2-gui --platform webcd docker && docker compose up- connect to
https://localhost:64444 - fill in the proxy url as
https://127.0.0.1:4433/proxy(this should autofill)
Running Web (with proxy only)
cargo install dioxus-cli --version 0.7.1dx build -p mumble-web2-gui --platform web --releasecp config.toml.example config.tomlcargo run -p mumble-web2-proxyin the background- connect to
localhost:8080
Description
Languages
Rust
87.7%
SCSS
5.4%
JavaScript
3.1%
Dockerfile
3%
Shell
0.8%