When `select!` drops a JoinHandle, it doesn't abort the spawned task - it detaches it. From tokio docs:
A JoinHandle detaches the associated task when it is dropped, which means that there is no
longer any handle to the task, and no way to join on it.
This means the spawn task is still spinning in the background:
1. c2s completes (client disconnected)
2. select! drops the s2c JoinHandle
3. The s2c task continues running in the background, detached
4. That task holds the Mumble server connection open
The fix is to hand the async calls directly to select! instead of
calling tokio::spawn.
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>