clients icon indicating copy to clipboard operation
clients copied to clipboard

Flatpak + Wayland - Clipboard / Copy-Paste not working

Open mpern opened this issue 10 months ago • 12 comments

Steps To Reproduce

  1. go to any entry
  2. click on copy username (or password)

Expected Result

user or pass copied to system clipboard

Actual Result

clipboard unchanged

Screenshots or Videos

No response

Additional Context

log output:

Error occurred in handler for 'clipboard.write': [Error: Unknown error while interacting with the clipboard: X11 server connection timed out because it was unreachable] {
  code: 'GenericFailure'
}

Electron's Wayland support enabled via env var

ELECTRON_OZONE_PLATFORM_HINT=auto

Operating System

Linux

Operating System Version

Pop!_OS 24.04 LTS

Installation method

Other

Build Version

Version 2025.2.0 SDK 'main (28c7e29)' Shell 34.0.0 Renderer 132.0.6834.83 Node 20.18.1 Architecture x64

Issue Tracking Info

  • [x] I understand that work is tracked outside of GitHub. A PR will be linked to this issue should one be opened to address it, but Bitwarden doesn't use fields like "assigned", "milestone", or "project" to track progress.

mpern avatar Feb 16 '25 20:02 mpern

Thank you for reporting this issue! We've added this to our internal tracking system. ID: PM-18344

bitwarden-bot avatar Feb 16 '25 20:02 bitwarden-bot

Interestingly enough, the "Copy" button in the version popup (Help -> About Bitwarden) does work.

mpern avatar Feb 16 '25 20:02 mpern

Hi there,

I am unable to reproduce this issue, it has been escalated for further investigation. If you have more information that can help us, please add it below.

Thanks!

daniellbw avatar Feb 17 '25 12:02 daniellbw

I'm not the only one, check the latest comments on #6812

mpern avatar Feb 17 '25 19:02 mpern

I'm facing the same issue - as @mpern said, when launching bitwarden on the console via flatpak run com.bitwarden.desktop with the env var ELECTRON_OZONE_PLATFORM_HINT=auto, an error occurs when you try to copy the username or password, even though the notification shows it has worked:

Image

The console shows:

10:07:23.301 › Finished search indexing
Error occurred in handler for 'clipboard.write': [Error: Unknown error while interacting with the clipboard: X11 server connection timed out because it was unreachable] {
  code: 'GenericFailure'
}
Error occurred in handler for 'clipboard.write': [Error: Unknown error while interacting with the clipboard: X11 server connection timed out because it was unreachable] {
  code: 'GenericFailure'
}

@mpern mentioned, the copy & paste of the bitwarden "about information" works fine:

Image

I was able to reproduce this, but I'm currently not - I see this message in the console:

[2:0314/101028.549356:ERROR:browser_main_loop.cc(278)] GLib-GObject: ../gobject/gsignal.c:2684: instance '0x137c02ace880' has no handler with id '2545'

hhenkel avatar Mar 14 '25 09:03 hhenkel

What is possible though is, that you can mark the username/password with the mouse and press CTRL+c or right click to copy the entry.

hhenkel avatar Mar 14 '25 09:03 hhenkel

The main problem for me is that I cannot import existing SSH keys.

This can only be done via the desktop client + clipboard.

https://bitwarden.com/help/ssh-agent/#import-key-to-bitwarden

mpern avatar Mar 28 '25 05:03 mpern

I have the same issue with the Flatpak version, tested on Fedora (Bazzite) with Niri.

bakrhaso avatar Apr 21 '25 11:04 bakrhaso

The full error is:

10:04:11.791 › [NAPI] Tried to initialize the wayland data control protocol clipboard, but failed. Falling back to the X11 clipboard protocol. The error was: Unknown error while interacting with the clipboard: A required Wayland protocol (zwlr_data_control_manager_v1 version 1) is not supported by the compositor
Error occurred in handler for 'clipboard.write': [Error: Unknown error while interacting with the clipboard: X11 server connection timed out because it was unreachable] {
  code: 'GenericFailure'
}

This appears to be caused by Mutter not supporting the zwlr_data_control_manager_v1 protocol. Since GNOME ~~and Niri both~~ uses Mutter, the copy buttons just can't work if running without a fallback X11 socket.

tangowithfoxtrot avatar May 21 '25 17:05 tangowithfoxtrot

For me the error is:

18:52:10.019 › Unhandled error in angular Error: Error invoking remote method 'clipboard.read': Error: Unknown error while interacting with the clipboard: X11 server connection timed out because it was unreachable

As suggested online, I ran:

flatpak override --user --env=ELECTRON_OZONE_PLATFORM_HINT=auto com.bitwarden.desktop
flatpak override --user --socket=wayland com.bitwarden.desktop
flatpak override --user --nosocket=x11 com.bitwarden.desktop
flatpak override --user --unshare=ipc com.bitwarden.desktop

mrusme avatar May 26 '25 23:05 mrusme

Hey everyone, arboard maintainer here 👋. I noticed this issue doing some issue triage today.

Wayland copy/paste support should work as long as your compositor supports the one of the *-data-control extensions. Almost all Wayland compositors do with the exception of GNOME's Mutter as mentioned above. At this time my recommendation would be to expose both the Wayland and fallback X11 socket to the Flatpak so that arboard can fallback to XWayland for clipboard operations in these unsupported environments.

I don't know enough about XWayland and Flatpak to say if --socket fallback-x11 will work or if --socket x11 is needed. My hunch is that the former should be fine but I would appreciate someone testing so I can document this in the README for all users of the library. I don't think Bitwarden is the first to hit this problem.

complexspaces avatar Jun 15 '25 21:06 complexspaces

This issue should be resolved for Bitwarden Flatpak users with #10359, specifically this commit.

trmartin4 avatar Jun 19 '25 18:06 trmartin4

The fix for this issue has merged with https://github.com/bitwarden/clients/pull/10359, so we'll be closing this issue as completed. It will be included in an upcoming release. Thank you for reporting it and for your patience.

trmartin4 avatar Jul 16 '25 20:07 trmartin4

I am a bit confused. I am running Bitwarden Flatpak on Niri (which is in fact not Mutter, but its own compositor based on Smithay). socket=wayland is enabled and I set ELECTRON_OZONE_HINT=auto to ensure it starts even with no X / Xwayland present. The copy button does not work, even though Niri does implement the zwlr_data_control_manager_v1 protocol.

$ wayland-info | grep "data_control"
interface: 'zwlr_data_control_manager_v1',              version:  2, name: 19
interface: 'ext_data_control_manager_v1',               version:  1, name: 20

When I run the Flatpak with WAYLAND_DEBUG=client I can fin the following in the logs:

[...]
[ 490469.825] {Default Queue} wl_registry#2.global(19, "zwlr_data_control_manager_v1", 2)
[ 490469.828] {Default Queue} wl_registry#2.global(20, "ext_data_control_manager_v1", 1)
[...]
11:52:30.852 > [NAPI] Tried to initialize the wayland data control protocol clipboard, but failed. Falling back to the X11 clipboard protocol. The error was: Unknown error while interacting with the clipboard: A required Wayland protocol (zwlr_data_control_manager_v1, version 1) is not supported by the compositor
Error occurred in handler for 'clipboard.write': [Error: Unknown error while interacting with the clipboard: X11 server connection timed out because it was unreachable] {
  code: 'GenericFailure'
}
[...]

The second error is expected as I have no X server running. My current assumption is, that this is an upstream problem in wl-clipboard-rs, but I am unsure. wl-clipboard works just fine using this protocol. @complexspaces maybe you have a more specific idea what might be going wrong here.

Gamer92000 avatar Aug 13 '25 10:08 Gamer92000

I am running:

Version 2025.7.0
SDK 'main (f2bc708)'
Shell 36.4.0
Renderer 136.0.7103.149
Node 22.15.1
Architecture x64

When I click copy on e.g. a username, the UI shows the green bubble saying "Username copied", but in the terminal I can see:

[NAPI] Tried to initialize the wayland data control protocol clipboard, but failed. Falling back to the X11 clipboard protocol. The error was: Unknown error while interacting with the clipboard: A required Wayland protocol (zwlr_data_control_manager_v1 version 1) is not supported by the compositor
Error occurred in handler for 'clipboard.write': [Error: Unknown error while interacting with the clipboard: X11 server connection timed out because it was unreachable] {
  code: 'GenericFailure'

However, weirdly enough, when I open Help->About Bitwarden and press the Copy button it works, as shown with the version info above.

mrusme avatar Aug 13 '25 14:08 mrusme

@complexspaces It also doesn't work on compositors that do expose zwlr_data_control_manager_v1.

For example on sway:

wayland-info | grep zwlr_data_control_manager_v1
interface: 'zwlr_data_control_manager_v1',               version:  2, name: 34

debug log (with no x11 permission) :

› [NAPI] Tried to initialize the wayland data control protocol clipboard, but failed. Falling back to the X11 clipboard protocol. The error was: Unknown error while interacting with the clipboard: A required Wayland protocol (zwlr_data_control_manager_v1 version 1) is not supported by the compositor
Error occurred in handler for 'clipboard.read': [Error: Unknown error while interacting with the clipboard: X11 server connection timed out because it was unreachable] {
  code: 'GenericFailure'
}
› Unhandled error in angular Error: Error invoking remote method 'clipboard.read': Error: Unknown error while interacting with the clipboard: X11 server connection timed out because it was unreachable

sand-r avatar Aug 24 '25 19:08 sand-r

For me, the “About” ^1 doesn't work. I see no logs, with flatpak run -vvv, ^1 except those caused by the window's destruction:

[2:1125/173426.059788:ERROR:content/browser/browser_main_loop.cc:278] GLib-GObject: ../gobject/gsignal.c:2699: instance '0x2e740256b040' has no handler with id '3610'
[56:1125/173426.067817:ERROR:ui/gl/gl_surface_presentation_helper.cc:260] GetVSyncParametersIfAvailable() failed for 1 times!

^1:

Image

RokeJulianLockhart avatar Nov 25 '25 17:11 RokeJulianLockhart