diff --git a/Cargo.lock b/Cargo.lock index d7d3f7b98..685cc5f3a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5316,7 +5316,6 @@ dependencies = [ "ndk-sys 0.6.0+11769913", "objc", "objc_id", - "open", "openssl", "percent-encoding", "pollster", @@ -5336,6 +5335,7 @@ dependencies = [ "tracing", "tray-icon", "tungstenite 0.27.0", + "webbrowser", "wry", ] @@ -18196,6 +18196,22 @@ dependencies = [ "string_cache_codegen", ] +[[package]] +name = "webbrowser" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aaf4f3c0ba838e82b4e5ccc4157003fb8c324ee24c058470ffb82820becbde98" +dependencies = [ + "core-foundation 0.10.1", + "jni 0.21.1", + "log", + "ndk-context", + "objc2 0.6.1", + "objc2-foundation 0.3.1", + "url", + "web-sys", +] + [[package]] name = "webkit2gtk" version = "2.0.1" diff --git a/packages/desktop/Cargo.toml b/packages/desktop/Cargo.toml index 96bab28e4..dc2840e97 100644 --- a/packages/desktop/Cargo.toml +++ b/packages/desktop/Cargo.toml @@ -47,11 +47,11 @@ async-trait = { workspace = true } tao = { workspace = true, features = ["rwh_05"] } dioxus-history = { workspace = true } base64 = { workspace = true } -open = { workspace = true } libc = "0.2.174" pollster = "0.4.0" rand = { workspace = true, features = ["std_rng"] } subtle = { version = "2.6", features = ["const-generics"] } +webbrowser = { version = "1.0" } [target.'cfg(unix)'.dependencies] signal-hook = "0.3.18" diff --git a/packages/desktop/src/app.rs b/packages/desktop/src/app.rs index cd91a67fe..bcf36203f 100644 --- a/packages/desktop/src/app.rs +++ b/packages/desktop/src/app.rs @@ -268,8 +268,8 @@ impl App { if let Some(temp) = msg.params().as_object() { if temp.contains_key("href") { if let Some(href) = temp.get("href").and_then(|v| v.as_str()) { - if let Err(e) = open::that_detached(href) { - tracing::error!("Open Browser error: {:?}", e); + if let Err(err) = webbrowser::open(href) { + tracing::error!("Failed to open URL: {}", err); } } } diff --git a/packages/desktop/src/webview.rs b/packages/desktop/src/webview.rs index e8fbc96bc..d46583148 100644 --- a/packages/desktop/src/webview.rs +++ b/packages/desktop/src/webview.rs @@ -321,7 +321,7 @@ impl WebviewInstance { || var.starts_with("https://") || var.starts_with("mailto:") { - _ = open::that_detached(&var); + _ = webbrowser::open(&var); } false }