Files
tauri-plugins-workspace/plugins/deep-link/Cargo.toml
T
Vincent KocandLucas Nogueira 2d541bc0d1 fix(deep-link): preserve XDG registration ownership and report failures (#3585)
* fix(deep-link): honor XDG failures and unregister associations

* test(deep-link): isolate other application handlers

* chore: satisfy release metadata and test header checks

* fix(deep-link): gate XDG helpers to Linux

The plugin only supports Linux, so FreeBSD builds warned about dead code.

* refactor(deep-link): add run_command helper

Share the spawn, status check and logging for XDG commands.

* refactor(deep-link): share desktop file list helpers

register and unregister now edit MimeType lists the same way.

* fix(deep-link): keep desktop file quoting on register

Parse raw values so a quoted Exec matches and isn't rewritten each time.

* fix(deep-link): clean mimeapps.list first on unregister

A failing update-desktop-database no longer leaves the app as the default.

* fix(deep-link): keep mimeapps.list comments on unregister

Edit it line by line instead of re-serializing it through rust-ini.

* fix(deep-link): skip cache refresh when nothing to unregister

Only run update-desktop-database if the desktop file changed or the cache still lists the app.

* fix(deep-link): treat no default handler as unregistered

xdg-mime exits with 4 on KDE and LXQt when no handler is set.

* fix(deep-link): tolerate padded xdg-mime query output

Compare the trimmed first line instead of the raw output.

* test(deep-link): run XDG tests in CI

Drop #[ignore], skip when the tools are missing, and install them on Linux CI.

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2026-10-11 06:19:37 -03:00

58 lines
1.7 KiB
TOML

[package]
name = "tauri-plugin-deep-link"
version = "2.6.1"
description = "Set your Tauri application as the default handler for an URL"
authors = { workspace = true }
license = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }
repository = { workspace = true }
links = "tauri-plugin-deep-link"
exclude = [
"/banner.png",
"/examples",
"/guest-js",
"/package.json",
"/rollup.config.js",
"/tsconfig.json",
]
[package.metadata.docs.rs]
targets = ["x86_64-linux-android"]
[package.metadata.platforms.support]
windows = { level = "full", notes = "" }
linux = { level = "full", notes = "" }
macos = { level = "partial", notes = "Deep links must be registered in config. Dynamic registration at runtime is not supported." }
android = { level = "partial", notes = "Deep links must be registered in config. Dynamic registration at runtime is not supported." }
ios = { level = "partial", notes = "Deep links must be registered in config. Dynamic registration at runtime is not supported." }
[build-dependencies]
serde = { workspace = true }
serde_json = { workspace = true }
tauri-utils = { workspace = true }
tauri-plugin = { workspace = true, features = ["build"] }
[target."cfg(target_os = \"macos\")".build-dependencies]
plist = "1"
[dependencies]
serde = { workspace = true }
serde_json = { workspace = true }
tauri = { workspace = true }
tauri-utils = { workspace = true }
tracing = { workspace = true }
thiserror = { workspace = true }
url = { workspace = true }
[dev-dependencies]
tauri = { workspace = true, features = ["test"] }
[target."cfg(windows)".dependencies]
dunce = "1"
windows-registry = "0.6"
windows-result = "0.4"
[target."cfg(target_os = \"linux\")".dependencies]
rust-ini = "0.21"