diff --git a/.vscode/settings.json b/.vscode/settings.json index 41c2b61..ec51234 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -70,6 +70,7 @@ "turbopack", "unlisten", "unrs", + "urlencoding", "vercel", "winreg", "wiremock", diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 439feb3..56729a6 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -1018,6 +1018,7 @@ dependencies = [ "tauri-plugin-macos-permissions", "tauri-plugin-opener", "tauri-plugin-shell", + "tauri-plugin-single-instance", "tempfile", "tokio", "tokio-test", @@ -4500,6 +4501,22 @@ dependencies = [ "tokio", ] +[[package]] +name = "tauri-plugin-single-instance" +version = "2.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97d0e07b40fb2eb13778e30778f5979347a2bf30e1b9d47f78ff7fe92d2e4b3d" +dependencies = [ + "serde", + "serde_json", + "tauri", + "tauri-plugin-deep-link", + "thiserror 2.0.12", + "tracing", + "windows-sys 0.59.0", + "zbus", +] + [[package]] name = "tauri-runtime" version = "2.6.0" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 3fc9785..8ac06dd 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -39,6 +39,9 @@ async-trait = "0.1" futures-util = "0.3" urlencoding = "2.1" +[target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\"))".dependencies] +tauri-plugin-single-instance = { version = "2", features = ["deep-link"] } + [target.'cfg(target_os = "macos")'.dependencies] core-foundation="0.10" objc2 = "0.6.1" diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json index b5ace9a..f09517a 100644 --- a/src-tauri/capabilities/default.json +++ b/src-tauri/capabilities/default.json @@ -19,6 +19,7 @@ "shell:allow-spawn", "shell:allow-stdin-write", "deep-link:default", + "deep-link:allow-register", "dialog:default", "dialog:allow-open", "macos-permissions:default",