[PR #2136] feat: multi-address client support and stale connection fix on reconnect #1849

Open
opened 2026-05-05 08:03:17 -06:00 by gitea-mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/debauchee/barrier/pull/2136
Author: @gdcodedev
Created: 4/24/2026
Status: 🔄 Open

Base: masterHead: feature/multi-address-reconnect-fix


📝 Commits (4)

  • 58fd5b5 feat: add multi-address support and fix stale client reconnection
  • 99c45a9 fix: use correct bin path in installer for MSBuild vs Ninja generators
  • fb6a6fd fix: avoid batch parser issue with parentheses in Program Files path
  • d5dfa88 fix: use x64 instead of x64compatible in ArchitecturesInstallIn64BitMode

📊 Changes

23 files changed (+230 additions, -125 deletions)

View changed files

📝 CMakeLists.txt (+9 -1)
📝 azure-pipelines.yml (+10 -26)
📝 azure-pipelines/build_env_tmpl.bat (+2 -3)
📝 azure-pipelines/download_install_qt.ps1 (+8 -19)
📝 build_installer.bat (+53 -34)
📝 clean_build.bat (+3 -1)
📝 cmake/Version.cmake (+1 -1)
📝 dist/inno/barrier.iss.in (+4 -4)
📝 dist/inno/scripts/products.pas (+2 -10)
📝 src/gui/CMakeLists.txt (+1 -1)
📝 src/gui/src/MainWindow.cpp (+20 -1)
📝 src/gui/src/MainWindowBase.ui (+1 -1)
📝 src/lib/barrier/ClientApp.cpp (+69 -14)
📝 src/lib/barrier/ClientApp.h (+8 -4)
📝 src/lib/base/String.cpp (+1 -0)
📝 src/lib/base/String.h (+1 -0)
📝 src/lib/client/Client.cpp (+6 -0)
📝 src/lib/client/Client.h (+7 -0)
📝 src/lib/net/FingerprintData.h (+1 -0)
📝 src/lib/net/SecureUtils.cpp (+1 -0)

...and 3 more files

📄 Description

Summary

  • Multi-address / hostname support: Server address field accepts comma-separated list (e.g. 192.168.1.1, myserver.ddns.net). Client cycles automatically when a connection fails.
  • Stale connection replaced on reconnect: Server closes the dead connection and accepts the new one instead of rejecting the reconnecting client.
  • Build modernisation: CMake 4.x compatibility, VS 2022 support, Inno Setup 6 compatibility.

Test Plan

  • Multi-address: configure 192.168.1.x, yourdomain.ddns.net — verify LAN uses local IP
  • Change network — verify client reconnects via hostname within seconds
  • Abrupt disconnect — verify server accepts reconnection without already connected warning
  • CMake 4.x build — no cmake_minimum_required error
  • 139 unit tests pass

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/debauchee/barrier/pull/2136 **Author:** [@gdcodedev](https://github.com/gdcodedev) **Created:** 4/24/2026 **Status:** 🔄 Open **Base:** `master` ← **Head:** `feature/multi-address-reconnect-fix` --- ### 📝 Commits (4) - [`58fd5b5`](https://github.com/debauchee/barrier/commit/58fd5b5940111a2c0f49ba82ef27f210ac256548) feat: add multi-address support and fix stale client reconnection - [`99c45a9`](https://github.com/debauchee/barrier/commit/99c45a95e4a82bc5b22602484ed98b57ef8c3424) fix: use correct bin path in installer for MSBuild vs Ninja generators - [`fb6a6fd`](https://github.com/debauchee/barrier/commit/fb6a6fd5a859533b78920b5020849b3200bf125f) fix: avoid batch parser issue with parentheses in Program Files path - [`d5dfa88`](https://github.com/debauchee/barrier/commit/d5dfa88f5b83f970b4591494d9661efa7f2a8948) fix: use x64 instead of x64compatible in ArchitecturesInstallIn64BitMode ### 📊 Changes **23 files changed** (+230 additions, -125 deletions) <details> <summary>View changed files</summary> 📝 `CMakeLists.txt` (+9 -1) 📝 `azure-pipelines.yml` (+10 -26) 📝 `azure-pipelines/build_env_tmpl.bat` (+2 -3) 📝 `azure-pipelines/download_install_qt.ps1` (+8 -19) 📝 `build_installer.bat` (+53 -34) 📝 `clean_build.bat` (+3 -1) 📝 `cmake/Version.cmake` (+1 -1) 📝 `dist/inno/barrier.iss.in` (+4 -4) 📝 `dist/inno/scripts/products.pas` (+2 -10) 📝 `src/gui/CMakeLists.txt` (+1 -1) 📝 `src/gui/src/MainWindow.cpp` (+20 -1) 📝 `src/gui/src/MainWindowBase.ui` (+1 -1) 📝 `src/lib/barrier/ClientApp.cpp` (+69 -14) 📝 `src/lib/barrier/ClientApp.h` (+8 -4) 📝 `src/lib/base/String.cpp` (+1 -0) 📝 `src/lib/base/String.h` (+1 -0) 📝 `src/lib/client/Client.cpp` (+6 -0) 📝 `src/lib/client/Client.h` (+7 -0) 📝 `src/lib/net/FingerprintData.h` (+1 -0) 📝 `src/lib/net/SecureUtils.cpp` (+1 -0) _...and 3 more files_ </details> ### 📄 Description ## Summary - **Multi-address / hostname support**: Server address field accepts comma-separated list (e.g. 192.168.1.1, myserver.ddns.net). Client cycles automatically when a connection fails. - **Stale connection replaced on reconnect**: Server closes the dead connection and accepts the new one instead of rejecting the reconnecting client. - **Build modernisation**: CMake 4.x compatibility, VS 2022 support, Inno Setup 6 compatibility. ## Test Plan - [x] Multi-address: configure 192.168.1.x, yourdomain.ddns.net — verify LAN uses local IP - [x] Change network — verify client reconnects via hostname within seconds - [x] Abrupt disconnect — verify server accepts reconnection without already connected warning - [x] CMake 4.x build — no cmake_minimum_required error - [x] 139 unit tests pass --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
gitea-mirror added the
pull-request
label 2026-05-05 08:03:17 -06:00
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#1849
No description provided.