Skip to content

Commit 1d3168d

Browse files
jjvn84jkelleyrtp
andauthored
Allows desktop apps to open mailto links (#4282)
* Allows desktop apps to open mailto links * Drop webbrowser, use `open` only * switch to that_detached * use workspace `open` --------- Co-authored-by: Jonathan Kelley <[email protected]>
1 parent af6fc3a commit 1d3168d

File tree

6 files changed

+9
-24
lines changed

6 files changed

+9
-24
lines changed

Cargo.lock

Lines changed: 1 addition & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,6 @@ memfd = "0.6.4"
314314
# desktop
315315
wry = { version = "0.45.0", default-features = false }
316316
tao = { version = "0.33.0", features = ["rwh_05"] }
317-
webbrowser = "1.0.3"
318317
infer = "0.19.0"
319318
dunce = "1.0.5"
320319
percent-encoding = "2.3.1"

packages/cli/src/build/request.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4148,7 +4148,7 @@ r#" <script>
41484148
.trim()
41494149
.into();
41504150
let path_to_sim = path_to_xcode.join("Applications").join("Simulator.app");
4151-
open::that(path_to_sim)?;
4151+
open::that_detached(path_to_sim)?;
41524152
}
41534153

41544154
Platform::Android => {

packages/desktop/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ tokio = { workspace = true, features = [
3737
"fs",
3838
"io-util",
3939
], optional = true }
40-
webbrowser = { workspace = true }
4140
infer = { workspace = true }
4241
dunce = { workspace = true }
4342
slab = { workspace = true }
@@ -49,6 +48,7 @@ async-trait = { workspace = true }
4948
tao = { workspace = true, features = ["rwh_05"] }
5049
dioxus-history = { workspace = true }
5150
base64 = { workspace = true }
51+
open = { workspace = true }
5252
libc = "0.2.170"
5353

5454
[target.'cfg(unix)'.dependencies]

packages/desktop/src/app.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ impl App {
271271
if let Some(temp) = msg.params().as_object() {
272272
if temp.contains_key("href") {
273273
if let Some(href) = temp.get("href").and_then(|v| v.as_str()) {
274-
if let Err(e) = webbrowser::open(href) {
274+
if let Err(e) = open::that_detached(href) {
275275
tracing::error!("Open Browser error: {:?}", e);
276276
}
277277
}

packages/desktop/src/webview.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -346,8 +346,11 @@ impl WebviewInstance {
346346
if var.starts_with("dioxus://") || var.starts_with("http://dioxus.") {
347347
true
348348
} else {
349-
if var.starts_with("http://") || var.starts_with("https://") {
350-
_ = webbrowser::open(&var);
349+
if var.starts_with("http://")
350+
|| var.starts_with("https://")
351+
|| var.starts_with("mailto:")
352+
{
353+
_ = open::that_detached(&var);
351354
}
352355
false
353356
}

0 commit comments

Comments
 (0)