Repository navigation
fix(linux): backport XDG argument quoting to 0.5 - #2
Draft
vincentkoc wants to merge 1 commit into
Draft
vincentkoc wants to merge 1 commit into
vincentkoc wants to merge 1 commit into
Conversation
Backport the XDG serializer and real-launch test from 1572384 without changing the 0.5 dependencies or platform support.
This was referenced Sep 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport the XDG argument serializer from zzzgydi#39 to the published auto-launch 0.5.0 source, fedaeba.
This is the Linux XDG portion of zzzgydi#32. It preserves the executable path and each literal argument through Desktop Entry string escaping and Exec quoting. Ordinary commands retain their current representation. The 0.5 constructor, dependencies, filesystem behavior, macOS and Windows implementations remain unchanged. This does not add FreeBSD support.
The separate real
gio launchtest uses a disposable HOME, a copied executable with spaces and special characters in its path, and an atomic receipt of the original arguments. It seeds the normal.configparent required by 0.5; it does not change the production directory-creation behavior. The GLib percent-in-executable-name limitation recorded in the current-source candidate still applies.Validation at
f6f40dae45d0b010fcd6f5e558d293c57c4d36f3:cargo test --locked --lib --test xdg_execpassed on native Linux in a disposable secretless Crabbox (Rust 1.98.1, gio 2.88.0). One unit test passed, zero tests were ignored, and the real-launch fixture verified the executable path and every argument. Cargo.lock remained unchanged. Independent source and native-proof review completed; rustfmt and git diff --check pass. This does not claim desktop login/session or GUI coverage.This fork-local draft makes a compatible maintenance fix reviewable without a global 0.5-to-0.6 dependency upgrade. An upstream maintainer must choose and publish an actual maintenance release before downstream consumers can receive it. No release version is invented or published.