[package] name = "mumble-web2-gui" version = "0.1.0" edition = "2021" [dependencies] # Web Dependencies # ================ dioxus-web = { version = "0.7.2", optional = true } wasm-bindgen = { version = "^0.2.92", optional = true } wasm-bindgen-futures = { version = "^0.4.42", optional = true } wasm-streams = { version = "^0.4.0", optional = true } serde-wasm-bindgen = { version = "^0.6.5", optional = true } js-sys = { version = "^0.3.70", optional = true } web-sys = { version = "^0.3.72", features = [ "WebTransport", "console", "WebTransportOptions", "WebTransportBidirectionalStream", "WebTransportSendStream", "WebTransportReceiveStream", "Navigator", "MediaDevices", "AudioDecoder", "AudioDecoderInit", "AudioData", "AudioEncoderConfig", "AudioDecoderConfig", "EncodedAudioChunk", "EncodedAudioChunkInit", "EncodedAudioChunkType", "CodecState", "MediaStreamTrackGenerator", "MediaStreamTrackGeneratorInit", "AudioContext", "AudioContextOptions", "MediaStream", "GainNode", "MediaStreamAudioSourceNode", "BaseAudioContext", "AudioDestinationNode", "AudioWorkletNode", "AudioWorklet", "AudioWorkletProcessor", "MediaStreamConstraints", "WorkletOptions", "AudioEncoder", "AudioEncoderInit", "AudioDataInit", "HtmlAnchorElement", "Url", "Blob", "AudioDataCopyToOptions", "AudioSampleFormat", "Storage", ], optional = true } gloo-timers = { version = "^0.3.0", features = ["futures"], optional = true } tracing-web = { version = "^0.1.3", optional = true } # Desktop Dependecies # =================== tokio = { version = "^1.41.1", features = ["net", "rt"], optional = true } tokio-rustls = { version = "^0.26.0", optional = true } opus = { version = "0.3.0", optional = true } cpal = { version = "0.15.3", optional = true } dasp_ring_buffer = { version = "0.11.0", optional = true } # Base Dependencies # ================ dioxus = { version = "0.7.2" } once_cell = "1.19.0" asynchronous-codec = { workspace = true } futures = "^0.3.30" merge-io = "^0.3.0" mumble-protocol = { workspace = true } serde_json = "1" tokio-util = { version = "^0.7.11", features = ["codec", "compat"] } byteorder = "1.5" ogg = "^0.9.1" ordermap = "^0.5.3" html-purifier = "^0.3.0" markdown = "^0.3.0" futures-channel = "^0.3.30" mumble-web2-common = { workspace = true } serde = { workspace = true } tracing-subscriber = { version = "^0.3.18", features = ["ansi"] } tracing = "^0.1.40" color-eyre = "^0.6.3" crossbeam-queue = "^0.3.11" lol_html = "^2.2.0" rfd = { git = "https://github.com/samsartor/rfd.git", version = "^0.16.0", default-features = false } base64 = "^0.22" mime_guess = "^2.0.5" async_cell = "^0.2.3" reqwest = { version = "^0.12.22", features = ["json"] } dioxus-asset-resolver = "0.7.2" # Denoising # ========= deep_filter = { git = "https://github.com/Rikorose/DeepFilterNet.git", rev = "d375b2d8309e0935d165700c91da9de862a99c31", features = ["tract"] } crossbeam = "0.8.4" [patch.crates-io] tract-hir = "=0.12.4" tract-core = "=0.12.4" tract-onnx = "=0.12.4" tract-pulse = "=0.12.4" [features] web = [ "dioxus/web", "dioxus-web", "wasm-bindgen", "wasm-bindgen-futures", "wasm-streams", "serde-wasm-bindgen", "js-sys", "web-sys", "gloo-timers", "tracing-web", "deep_filter/wasm", ] desktop = [ "dioxus/desktop", "tokio", "tokio-rustls", "tracing-subscriber/env-filter", "opus", "cpal", "dasp_ring_buffer", "rfd/xdg-portal", "rfd/tokio", ]