The previous std::net::ToSocketAddrs call blocked the runtime during
DNS lookup. This change allows the server ping status to be resolved
asynchronously.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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>
Remove public_url config option
Use proxy_url instead for example configs
Get status from relative endpoint, like /config
Show version on login page
Reviewed-on: #5
Co-authored-by: Sam Sartor <me@samsartor.com>
Co-committed-by: Sam Sartor <me@samsartor.com>