[GH-ISSUE #570] Support multiple clients on the same edge #450

Open
opened 2026-05-05 06:24:26 -06:00 by gitea-mirror · 3 comments
Owner

Originally created by @deckar01 on GitHub (Feb 19, 2020).
Original GitHub issue: https://github.com/debauchee/barrier/issues/570

Operating Systems

Server: MacOS 10.14

Client: Ubuntu 19.4, Windows 10

Barrier Version

2.3.1

Steps to reproduce bug

  1. Setup a config file for a server and a client
  2. Move to a different client
  3. Add the second client to the config linked to the same edge
  4. Move back to the original client

The link no longer works. I expected the config to ignore any devices that are not connected, but repeating a starting edge in a screen's link list only keeps the last entry.

Other info

  • This is an issue with using a laptop as a server with multiple clients.

  • This can be worked around by creating a new config for each client.

  • This can be worked around by modifying the config to move the active client to the bottom of the servers links list.

  • Using the range syntax and specifying overlapping starting edges causes the server process to crash in a loop.

  • Use the range syntax and giving the clients non-overlapping regions on the same edge works correctly.

  • Not supplying a range implies (0, 100), yet specifying overlapping links without the range syntax does not crash and silently overwrites previous links.

Originally created by @deckar01 on GitHub (Feb 19, 2020). Original GitHub issue: https://github.com/debauchee/barrier/issues/570 ### Operating Systems ### Server: MacOS 10.14 Client: Ubuntu 19.4, Windows 10 ### Barrier Version ### 2.3.1 ### Steps to reproduce bug ### 1. Setup a config file for a server and a client 2. Move to a different client 3. Add the second client to the config linked to the same edge 4. Move back to the original client The link no longer works. I expected the config to ignore any devices that are not connected, but repeating a starting edge in a screen's link list only keeps the last entry. ### Other info ### - This is an issue with using a laptop as a server with multiple clients. - This can be worked around by creating a new config for each client. - This can be worked around by modifying the config to move the active client to the bottom of the servers links list. - Using the range syntax and specifying overlapping starting edges causes the server process to crash in a loop. - Use the range syntax and giving the clients non-overlapping regions on the same edge works correctly. - Not supplying a range implies `(0, 100)`, yet specifying overlapping links without the range syntax does not crash and silently overwrites previous links.
gitea-mirror added the
macOS
enhancement
windows
linux
labels 2026-05-05 06:24:26 -06:00
Author
Owner

@the-wes commented on GitHub (Mar 3, 2020):

Could you please include a sample config file stanza to illustrate the way to trigger the problem?

If I understand your description correctly, it would look something like this:

section: links
host:
right = client1
right = client2

If this is accurate, I think the bug here is allowing the server to start up using this config without complaint. We should probably add a check to the config parser to look for things like this and at the very least issue a warning, if not refuse to start entirely. If this is not accurate, please help me to understand what I'm missing.

I think the best workaround suggestion I can think of is to add client2 as an alias to client1.

Another possibility would be to place client2 to the right of client1. Barrier will skip a non-connected client and move on to the next. Both of these have potential drawbacks depending on other aspects of the config.

Actually supporting specifying a list of clients in a given position would be a major project to implement. For example, what happens if client1 is connected and then client2 connects? I'm sure there are a number of considerations one would have to account for.

<!-- gh-comment-id:593814843 --> @the-wes commented on GitHub (Mar 3, 2020): Could you please include a sample config file stanza to illustrate the way to trigger the problem? If I understand your description correctly, it would look something like this: section: links host: right = client1 right = client2 If this is accurate, I think the bug here is allowing the server to start up using this config without complaint. We should probably add a check to the config parser to look for things like this and at the very least issue a warning, if not refuse to start entirely. If this is not accurate, please help me to understand what I'm missing. I think the best workaround suggestion I can think of is to add client2 as an alias to client1. Another possibility would be to place client2 to the right of client1. Barrier will skip a non-connected client and move on to the next. Both of these have potential drawbacks depending on other aspects of the config. Actually supporting specifying a list of clients in a given position would be a major project to implement. For example, what happens if client1 is connected and then client2 connects? I'm sure there are a number of considerations one would have to account for.
Author
Owner

@github-actions[bot] commented on GitHub (Sep 28, 2020):

This issue has been automatically marked as stale due to inactivity. It will be closed if no further activity occurs. Thank you for your contributions.

<!-- gh-comment-id:699724371 --> @github-actions[bot] commented on GitHub (Sep 28, 2020): This issue has been automatically marked as stale due to inactivity. It will be closed if no further activity occurs. Thank you for your contributions.
Author
Owner

@p12tic commented on GitHub (Jan 10, 2021):

I think this feature makes sense in principle, but it will take time to implement this.

<!-- gh-comment-id:757521509 --> @p12tic commented on GitHub (Jan 10, 2021): I think this feature makes sense in principle, but it will take time to implement this.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/barrier#450
No description provided.