Skip to content

[Bug] Invite dialog "Copy link" reports success but leaves the clipboard empty on Linux/Wayland #2896

Description

@shawnyeager

Describe the bug
"Copy link" in the community invite dialog reports success — the button flips to the "Copied" check state and the "Invite link copied" toast appears — but nothing lands on the system clipboard. Pasting afterwards yields empty or stale content.

Steps to reproduce

  1. Open the community invite dialog (Invite people).
  2. In the "Share with a link" section, click Copy link.
  3. Button shows "Copied" and the success toast fires.
  4. Paste anywhere: the clipboard is empty (or still holds its previous content).

Expected behavior
The minted invite URL is on the clipboard after the success state is shown.

Version and platform

  • Buzz version: dev build from main (20bff59)
  • OS: Arch Linux, Hyprland (Wayland session)

Logs / additional context
Code path: InviteLinkSection.handleCopy (desktop/src/features/community-members/ui/InviteLinkSection.tsx) → writeTextToClipboard → Tauri copy_text_to_clipboard (desktop/src-tauri/src/commands/media_download.rs) → with_clipboard (desktop/src-tauri/src/commands/clipboard.rs) → arboard::Clipboard::set_text.

Since the UI reaches the "Copied" state, mintInvite and the whole native chain resolve Ok — so arboard returns success while the clipboard stays empty. The app-lifetime ClipboardState already covers the X11 "clipboard dies with the setter" case, which points at the Wayland side:

  • If arboard is built without the wayland-data-control feature (or the compositor handshake fails), it falls back to the X11 backend via XWayland. Under Hyprland an X11 clipboard set by a window that doesn't hold XWayland focus doesn't propagate to the Wayland clipboard, so set_text succeeds against a clipboard no Wayland client ever reads.
  • Hyprland does support zwlr_data_control_manager_v1, so the data-control backend should work when it's actually compiled in and selected.

Worth verifying which backend arboard picks at runtime in the release build, and whether Cargo.toml's arboard = "3" resolves with wayland-data-control enabled.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions