Skip to content

fix(deep-link): compose FreeBSD XDG failure handling - #8

Draft
vincentkoc wants to merge 5 commits into
fix/deep-link-freebsd-xdgfrom
proof/freebsd-xdg-stack-refresh
Draft

vincentkoc wants to merge 5 commits into
fix/deep-link-freebsd-xdgfrom
proof/freebsd-xdg-stack-refresh

Conversation

@vincentkoc

Copy link
Copy Markdown
Owner

Compose the FreeBSD XDG platform gates with command-failure and association-ownership handling. This fork PR is stacked on fix/deep-link-freebsd-xdg at 4244c2e34da55dc56fb155b52bcea48ef514168f; its exact signed head ba965506d5695149737a086596d40ab6a1a04250 merges that head with 89545c825d433739ac905463cb4514cee0644626.

The underlying proposals remain tauri-apps#3583 and tauri-apps#3585. Their upstream acceptance and release are still required. This draft delivers the reviewed composition and its proof; it does not produce an application build or release.

The composition preserves FreeBSD/Linux eligibility, exact desktop-ID matching, visible command errors, and removal of only the app's own default/added associations. Linux AppImage selection and other handlers remain intact. Failed operations can leave partial state; no transactional rollback is promised. Merge resolutions combine the existing platform and tool-requirement documentation.

Validation at exact head ba965506d5695149737a086596d40ab6a1a04250:

  • Linux x86_64 and FreeBSD 15.1 amd64: locked all-targets build/tests passed. All three default-ignored cases were explicitly selected with --ignored --exact and passed: xdg_registration, xdg_command_results, and xdg_unregister.
  • Rust/Cargo 1.98.1. Cargo.lock SHA-256 c72f7a8948c4a9d65d3bb0c527391587b05f93cca3f285a9aa078b975f0d326d; complete source/lock inventories were equal before and after both jobs. Original manifests and reports were independently verified.
  • The actual plugin uses isolated HOME/XDG state, installed XDG utilities, Tauri mock application/runtime, and executable stubs for controlled failures. Parent/child summaries are one execution of each named case.

This covers registration and error/ownership behavior. It does not establish a GUI session, desktop launch, existing-instance IPC, package installation, or release readiness. Test commands joined and hosted jobs completed; independent VM-deletion and temporary-directory cleanup receipts were not retained.

Diff against the stacked base: production Rust +103/-12 (net +91); tests +448/-0; documentation/release metadata +7/-1. Production growth belongs to command-status checks and owned-association removal from the existing upstream error-handling proposal, with no new production flow in the merge resolution.

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.

1 participant