Commit graph

7152 commits

Author SHA1 Message Date
Nick Bolton
f2a3fc6596 fix: resend only the grabbed clipboard, not all clipboards
fixes assert fail in `src/lib/server/Server.cpp` `onClipboardChanged`:
`assert(sender == m_clients.find(clipboard.m_clipboardOwner)->second);`
2026-06-18 22:06:37 +01:00
Nick Bolton
1b27a5405d fix: simplify clipboard size limit logging 2026-06-18 22:06:37 +01:00
sithlord48
8a68513261 fix(win32): Do not need to set manifest scaling anymore Qt uses this as default 2026-06-18 09:58:58 +01:00
sithlord48
c26717f38a fix(win32): Create QApp Early as possible 2026-06-18 09:58:58 +01:00
Charles Le (cle-air-m3)
13f98475a2 fix: remove ClipboardSending handler in proxy destructors (UAF)
fixes: #9842
2026-06-17 12:28:51 +01:00
sithlord48
750fdbeb34 refactor: rename the defaultLockToScreenState checkbox to defaultLockToComputerState 2026-06-17 10:59:37 +01:00
sithlord48
eb6930a062 refactor(Settings): move defaultLockToScreenState to general settings 2026-06-16 09:59:51 +01:00
sithlord48
b665c730b7 refactor(Settings): move disableLockToComputer to general settings 2026-06-16 09:59:51 +01:00
sithlord48
69b9baaaeb refactor(Settings): move win32keepForeground to general settings 2026-06-16 09:59:51 +01:00
sithlord48
46e90e12ff refactor(Settings): move relative Mouse movement setting to general settings 2026-06-16 09:59:51 +01:00
sithlord48
ba37ff854f chore: remove unused clientAddress var in ServerConfig 2026-06-16 09:59:51 +01:00
sithlord48
261335d6c3 refactor(Settings): move switchDoubleTap to general settings 2026-06-16 09:59:51 +01:00
sithlord48
ea8f3881fe refactor(Settings): move switchDelay to general settings 2026-06-16 09:59:51 +01:00
sithlord48
488d620b3b refactor(Settings): Move heartbeat to general settings 2026-06-16 09:59:51 +01:00
sithlord48
f51fb4affb refactor: move hasSwitchDoubleTap to general settings 2026-06-12 17:51:41 +01:00
sithlord48
f686e3c503 refactor: mv hasSwitchDelay to general settings 2026-06-12 17:51:41 +01:00
sithlord48
d665b55111 refactor: move hasHeartbeat to general settings 2026-06-12 17:51:41 +01:00
sithlord48
c66c356665 refactor(ServerConfigDialog): add new init connections method to centeralize all connections 2026-06-12 17:51:41 +01:00
sithlord48
493e2f374c refactor(ServerConfigDialog): Add a loadFromConfig method to centeralize loading 2026-06-12 17:51:41 +01:00
sithlord48
b0fe4a508a doc: remove unused numColumns and numRows from the deskflow-server.conf section documentation 2026-06-12 17:51:41 +01:00
sithlord48
76673b8cc3 refactor(ServerSettingsDialog): Always allow configuration of server protocol 2026-06-10 17:37:56 +01:00
sithlord48
516f24a0ba refactor(Settings): add helper method to get network protocol as NetworkProtocol directly 2026-06-10 17:37:56 +01:00
sithlord48
b91a39492f refactor(settings): exclusively read proto from the general settings 2026-06-10 17:37:56 +01:00
sithlord48
c4f65c04a3 refactor: remove public access to serverConfig row and column info 2026-06-10 15:52:17 +01:00
sithlord48
6105e4025a refactor: move numRows to general configuation server/gridHeight 2026-06-10 15:52:17 +01:00
sithlord48
cd1ceccda5 refactor: move numColumns to general configuation server/gridWidth 2026-06-10 15:52:17 +01:00
Momoyama
16141d7156 fix(client): restore relative cursor positions locally
Avoid stale server enter coordinates in relative mouse mode by saving and reusing the client's local cursor position around leave and enter.

Store Windows restore positions per desktop so UAC and secure desktop transitions do not reuse normal desktop coordinates. This affects relative mouse movement restore behavior while preserving the existing center-on-leave path.
2026-06-10 15:34:27 +01:00
sithlord48
8420d61d34 ci: update sonar-cube-action/install-build-action to v8 2026-06-10 06:52:25 +01:00
Nick Bolton
4e121dac30 chore: update 'Synergy App Ltd' copyright (company renamed) 2026-06-09 00:06:11 -04:00
sithlord48
f8eb50e0cd ci: Use custom git log format to make release comments for continuous build 2026-06-08 09:25:56 +01:00
sithlord48
7f09f4b42d ci: update continuous tag on continuous releease 2026-06-06 09:14:43 -04:00
sithlord48
c4c955b674 ci: enable release note generation and make sure tag release is give latest release status 2026-06-06 08:43:29 -04:00
sithlord48
852842dbda ci: switch to softprop release v3 2026-06-05 17:18:52 +01:00
sithlord48
29965dfc75 ci: update gh-page-deploy to v4.8.0 2026-06-05 17:18:52 +01:00
Kentaro Hayashi
faf83d7824 fix: drop misleading SSL_set1_host for OpenSSL 4.0.0
It will fix the following warning:

  In member function 'int SecureSocket::secureConnect(int)':
  /build/deskflow.work/src/lib/net/SecureSocket.cpp:479:16: warning: 'int SSL_set1_host(SSL*, const char*)' is deprecated: Since OpenSSL 4.0 [
  -Wdeprecated-declarations]
    479 |   SSL_set1_host(m_ssl->m_ssl, name.c_str());
        |   ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from /build/deskflow.work/src/lib/net/SslLogger.h:8,
                   from /build/deskflow.work/src/lib/net/SecureSocket.cpp:20:
  /usr/include/openssl/ssl.h:1922:34: note: declared here
   1922 | OSSL_DEPRECATEDIN_4_0 __owur int SSL_set1_host(SSL *s, const char *host);
        |                                  ^~~~~~~~~~~~~

NOTE: It seems that SSL_set1_host setup params for hostname verification, but
it will not be used correctly afterward (See
SSL_CTX_set_cert_verify_callback
in SecureSocket::initContext). This implicit behavior cause misleading
and harmful.

Signed-off-by: Kentaro Hayashi <kenhys@xdump.org>
2026-06-05 10:59:58 +01:00
Kentaro Hayashi
fdb100649b fix: invalid type conversion for OpenSSL 4.0.0
Since OpenSSL 4.0.0, X509_get_subject_name returns const X509_NAME
pointer, thus X509_NAME_add_entry_by_txt does not accept it anymore.

See /usr/include/openssl/x509.h.

Instead, explicitly operates it via mutable X509_NAME object.

It is safe operation without using X509_get_subject_name() because
subject name was not modified after cert = X509_new() assignment.

It will fix the following error.

  error: invalid conversion from 'const X509_name_st*' to 'X509_NAME*' {aka 'X509_name
  _st*'} [-fpermissive]
     87 |   X509_NAME_add_entry_by_txt(name, "CN", MBSTRING_ASC, reinterpret_cast<const unsigned char *>("Deskflow"), -1, -1, 0);
        |                              ^~~~
        |                              |
        |                              const X509_name_st*

Signed-off-by: Kentaro Hayashi <kenhys@xdump.org>
2026-06-05 10:59:58 +01:00
sithlord48
19a7dc622c refactor(FingerprintDialog): Adjust header to span the dialog 2026-06-05 10:32:06 +01:00
sithlord48
8ed7a3efe1 refactor(FingerprintPreview): Adjust width so hash is not longer slighty cutoff in some cases 2026-06-05 10:32:06 +01:00
sithlord48
8d1b33b9f1 refactor: move fixed font to styleUtils, use this where fixed fonts are used 2026-06-05 10:32:06 +01:00
sithlord48
6bbf5338ef refactor(FingerprintPreview): remove unneeded innsersha256layout 2026-06-05 10:32:06 +01:00
extra-salad
5e79e49966 fix(wayland): map portal activations by barrier id
Track InputCapture pointer barrier metadata so activation callbacks can identify the fired edge. Portal activations may report cursor positions on zone boundaries, while Deskflow switches using aggregate screen coordinates. Clamp the activation position to the portal zone, then project the fired edge onto Deskflow's aggregate screen before dispatching primary motion.

Keep barrier metadata in sync when zones are rebuilt or when the compositor rejects a requested barrier.
2026-06-02 13:17:01 +01:00
extra-salad
be3cc0ff7a refactor(wayland): factor portal barrier creation
Move repeated InputCapture pointer barrier construction into a helper and add a small side-to-name utility for logging. This keeps the existing barrier geometry and activation handling unchanged while making later barrier metadata changes easier to review.
2026-06-02 13:17:01 +01:00
sithlord48
babef9c307 fix: crash on windows if fixed font is missing 2026-06-01 14:36:12 +01:00
sithlord48
80cc64c238 fix: use Qt localized path for open cert
fixes: #9764
2026-06-01 13:21:20 +01:00
Momoyama
e8a474ba7d fix(macos): warp cursor to center on leave to fix first-move jump
When macOS is the primary screen, hotkey switching to a secondary screen can leave the local cursor baseline away from the hidden-cursor center. The first physical mouse movement is then interpreted as a large secondary-screen delta.

Align macOS primary leave behavior with the Windows and X11 implementations by logging and warping the cursor to the primary-screen center before marking the screen off screen. OSXScreen::warpCursor also updates m_xCursor and m_yCursor, so the next motion delta starts from the expected center baseline.

Impact is limited to macOS primary/server leave handling; macOS secondary/client leave behavior and non-macOS builds are unchanged.
2026-06-01 11:35:39 +01:00
sithlord48
e07cfcc995 ci: use Qt 6.11.1 for windows and mac os arm builds
ci: use Qt 6.10.3 for windows x64 (6.11 is not installable at this time w/ aqtinstall)
2026-05-29 23:22:15 +01:00
Nick Bolton
bf65080b8b fix: change QString to QByteArray for exception message handling 2026-05-26 12:25:56 -04:00
alfredo1491
6212f9bec6 refactor(win32): update MSWindowsSession and MsWindowsWatchdog to use MsWindowsHandle 2026-05-26 16:58:02 +01:00
alfredo1491
d372462378 build(win32): make sure openssl dir is added to search path for depends always 2026-05-26 16:58:02 +01:00
Nick Bolton
62a8ee749f fix(macos): update BMP handling to support extended headers and improve pixel offset calculation 2026-05-19 17:48:58 +01:00