Skip to content

fix(deep-link): skip update-desktop-database when not installed (fix #2265) - #3475

Open
btsouth wants to merge 1 commit into
tauri-apps:v2from
btsouth:fix/deep-link-check-update-desktop-database
Open

btsouth wants to merge 1 commit into
tauri-apps:v2from
btsouth:fix/deep-link-check-update-desktop-database

Conversation

@btsouth

@btsouth btsouth commented Jul 7, 2026

Copy link
Copy Markdown

Closes #2265

On Linux, register() shells out to update-desktop-database (from the desktop-file-utils package) to refresh the desktop database. That package isn't always installed, e.g. some KDE setups don't need it, so the call fails with ErrorKind::NotFound and the whole registration errors out.

This skips the update-desktop-database step when the command isn't present (logging a warn) and still propagates any other error, matching the existing "binary not found" handling used elsewhere in the workspace (e.g. single-instance). No new dependency is added. xdg-mime is left as-is since it's genuinely required to set the handler.

This is Linux-only. Built and checked on Debian (in a Rust container that does not have desktop-file-utils installed): cargo build, cargo clippy --all-targets -- -D warnings, cargo fmt --check, and cargo test all pass for tauri-plugin-deep-link.

Follow-up (out of scope here): the issue also suggests a KDE fallback (kbuildsycoca6/kbuildsycoca5) to refresh the cache; happy to do that separately if you'd like it.

@btsouth
btsouth requested a review from a team as a code owner July 7, 2026 00:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[bug][deep-link] Check the existence of command update-desktop-database before executing

1 participant