d67a19c478f7174b7ade8ced6fb1059d81e09809
Build Mumble Web 2 / macos_build (push) Successful in 55s
Build Mumble Web 2 / linux_build (push) Successful in 1m18s
Build Mumble Web 2 / android_build (push) Successful in 5m36s
Build Mumble Web 2 / windows_build (push) Successful in 8m4s
Build android container / android-release-builder-container-build (push) Successful in 7s
Build Mumble Web 2 release builder containers / windows-release-builder-container-build (push) Successful in 14s
This change migrates the config logic to a new generic key+value abstraction. This allows config parameters to be get and set with arbitrary string keys. Config value types can be anything that serde knows how to serialize / deserialize.
Implementations:
Desktop:
Uses a json file in a platform specific directory (pulled from etcetera). This is mostly the same as the existing code. Implemented in `native_config.rs`
Android:
Uses the same mechanism as desktop, with a different path selection that calls out to the android apis (via jni) to get the correct directory.
Web:
Uses browser local storage. Values are stored as strings instead of actual json objects to keep things simple for now. We might want to update this at some point.
Desktop support:

```
% cat ~/.config/mumble-web2/config.json
{
"username": "restitux-test",
"server_url": "voip.ohea.xyz"
}%
```
Web support:

Android support:

```
root@c053bdd1b4da:/# adb shell
tokay:/ $ run-as xyz.ohea.mumble_web_2
tokay:/data/user/0/xyz.ohea.mumble_web_2 $ ls
app_textures app_webview cache code_cache files no_backup shared_prefs
tokay:/data/user/0/xyz.ohea.mumble_web_2 $ ls files
config.json oat permission_manager.dex
tokay:/data/user/0/xyz.ohea.mumble_web_2 $ cat files/config.json
{
"server_url": "voip.ohea.xyz",
"username": "test"
}tokay:/data/user/0/xyz.ohea.mumble_web_2 $
```
Reviewed-on: #25
Reviewed-by: Sam Sartor <cap@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%