Bug 8296 - Input can be blocked if client disconnects while shadowing
Summary: Input can be blocked if client disconnects while shadowing
Status: NEW
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: VNC (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: LowPrio
Assignee: Bugzilla mail exporter
Keywords: upstream
Depends on:
Reported: 2024-01-26 17:25 CET by Samuel Mannehed
Modified: 2024-01-30 13:27 CET (History)
0 users

See Also:
Acceptance Criteria:


Description Samuel Mannehed cendio 2024-01-26 17:25:46 CET
Shadowers have the same input control as the original user.

When a shadower is connected, and either the shadower or the original user, is dragging a window. The other user cannot interfere while the first user is dragging. Control of mouse input is locked to one client while a mouse button is down. The system was designed this way to ensure a sane user experience.

However, this design has one problem; if the client that currently has control of the pointer disconnects, input for the other client is locked for a very long time. Allegedly, it releases after ~10 minutes, but I haven't verified that.

Steps to reproduce:

1. Configure your server to have at least two users
2. Add at least one of them to '/shadowing/allowed_shadowers'
3. Log in to ThinLinc from a client on a VM where you can control the network connection
4. Start `glxgears` to show continuous graphical updates and have a window to that can be dragged.
5. Find a colleague to help you
6. Ask your colleague to open a second ThinLinc client and connect as a shadower
7. Start dragging the `glxgears` window in the first client
8. While dragging, ask your colleague to disable the network connection on the VM running the first client
9. In the second client, note that input (both keyboard and mouse) are blocked. Also note that you still get graphical updates.
Comment 1 Samuel Mannehed cendio 2024-01-26 17:26:15 CET
This has been resolved upstream in TigerVNC:

Comment 2 Samuel Mannehed cendio 2024-01-26 17:27:38 CET
It probably doesn't matter if the shadower or the original user disconnects. Note however that we have only tested disconnecting the original user.

Note You need to log in before you can comment on or make changes to this bug.