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
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
SASANO Takayoshi
53903016b1
fix: remove unneeded EVP_PKEY_new() (causes memory leak)
2026-05-19 11:56:14 -04:00
SASANO Takayoshi
051464e7fd
fix(openbsd): add #include <stdarg> to avoid 'unknown type name' error
2026-05-19 07:43:55 -04:00
SASANO Takayoshi
67f1f41819
chore: remove old OpenSSL support
2026-05-19 11:06:45 +01:00
64JohnLee
5a1a190edd
feat: add AltGr modifier override to Screen Settings Dialog
2026-05-19 10:50:47 +01:00
alizane
3d52de0478
feat: display client IP info when manual IP is configured
2026-05-19 09:43:30 +01:00
alizane
5035dc843d
fix: prevent client network fallback on strict IP bind failure
...
fixes : #9552
2026-05-19 09:43:30 +01:00
sithlord48
9c45402552
refactor: include if in portable mode in about copy info
2026-05-15 13:15:57 +01:00
SASANO Takayoshi
958c3f5a2e
feat: add search evdev.xml path for NetBSD/OpenBSD
2026-05-15 07:44:27 -04:00
sithlord48
a006681843
fix: settings dialog show log level is above Info without the user changing the combo value
2026-05-15 11:47:10 +01:00
sithlord48
7c7aea47c7
refactor(settingsDialog): populate log level combo using known levels and option data
2026-05-15 11:47:10 +01:00
sithlord48
81262ac9f0
refactor(log): remove g_numPriority
2026-05-15 11:47:10 +01:00
sithlord48
eb97b7641e
refactor(log): remove use of g_priority array
2026-05-15 11:47:10 +01:00
sithlord48
a3f97e55e0
chore(log): remove un needed getFilterName methods
2026-05-15 11:47:10 +01:00
sithlord48
acf865fa11
refactor(log): Convert LogLevel into a class using LogLevel::Level as its enum, store values as the Option string display as localized string'
2026-05-15 11:47:10 +01:00
sithlord48
b0413ed4ff
refactor: move base/LogLevel -> common/LogLevel
2026-05-15 11:47:10 +01:00
sithlord48
8e469379e8
refactor(log): Squash all Debug1 And Debug2 logs into Verbose
...
fixes : #9725
BREAKING_CHANGE: log level values have changed settings for log level may need to be reset
2026-05-15 11:47:10 +01:00
sithlord48
b198681311
refactor(log): Remove LOG_NOTE, use LOG_INFO for all previous notes
...
BREAKING_CHANGE: LOG Levels maybe wrong when starting the app
2026-05-15 11:47:10 +01:00
sithlord48
52469072de
chore: remove unused IPC log level
2026-05-15 11:47:10 +01:00
sithlord48
54672a9f6b
fix: do not use xdisplay to read locale on wayland
...
fixes : #9717
2026-05-14 10:15:57 +01:00
sithlord48
ef96c2c362
refactor(settings): add absolute path for all settings returned file paths
2026-05-12 07:27:00 -04:00
Luiz Sardinha
426b43fc09
fix(mac): protect TIS API calls with a mutex (they are not thread safe)
2026-05-12 06:17:14 +01:00
Luiz Sardinha
44c5c15082
fix(mac): prevent cursor warps from outside quartz event loop (if active)
2026-05-12 05:54:49 +01:00
Ketan Patel
c3ecd0b806
fix(macos): recognize brightness media keys
...
Map macOS brightness media key events back to Deskflow key IDs so they
can be captured and forwarded from macOS servers.
Fixes #9709
2026-05-08 18:57:09 +01:00
sithlord48
95ad33960b
refactor: App , explicit constructor for LoopErrorCode and const APP::Quit event
2026-05-07 16:43:38 +01:00
sithlord48
7b1dd869a7
refactor: ExitEvent explict construtor, override deconstrutor maek exitCode a const method
2026-05-07 16:43:38 +01:00
sithlord48
39b3676e6a
build: remove uneeded QtGlobal include from deskflow-core
2026-05-05 08:31:15 -04:00
sithlord48
050397f5b3
refactor: use QStrings for exceptions whats
2026-05-05 13:11:00 +01:00
Peter Hutterer
1c789fd6a9
feat: handle input capture session persistence
...
Use the new libportal API to start a CreateSession2, then set the
session persistence and read/write the tokens as required. This allows
us to start a server without a permission dialog - provided the portal
supports it and the user is ok with that.
2026-05-05 11:58:02 +01:00
Taesu Kang
7b614215a1
fix: ensure correct screen name is set for switchToScreen
2026-04-30 20:56:09 +01:00
Nick Bolton
10027ecc1c
feat(ipc): Stop bad version existing Core process
2026-04-28 21:47:47 +01:00
Nick Bolton
329783490b
fix(tls): prevent DoS by removing blocking sleep
2026-04-28 12:36:08 +01:00
Nick Bolton
99912b9bc6
feat(daemon): reject remote config file paths to prevent NTLM hash leakage
2026-04-25 10:48:09 -04:00
Nick Bolton
69339b5bcc
feat(daemon): add missing command info log line for daemon
2026-04-25 10:48:09 -04:00
Nick Bolton
d553946cef
feat(daemon): validate config file existence before applying watchdog command
2026-04-25 10:48:09 -04:00
Nick Bolton
5c480ca515
fix(cve): run switch commands as normal user on Windows to prevent privilege escalation
...
CVE-2026-41477
2026-04-25 10:48:09 -04:00
Nick Bolton
e7040a1f82
fix(cve): remove ipc command that creates privilege escalation vulnerability
...
CVE-2026-41477
2026-04-25 10:48:09 -04:00
Nick Bolton
768553c2e8
feat: Print Qt logs same as other log lines
2026-04-24 13:23:07 +01:00
sithlord48
306259eb5b
chore: remove unused NetworkProtocol methods for intConversion
2026-04-22 15:35:20 -04:00
sithlord48
77a97f815a
refactor: move protocol from serverConfig => Settings::Server::Protocol
2026-04-22 15:35:20 -04:00
sithlord48
dff81e62fe
chore: move base/NetworkProtocol -> common/NetworkProtocol
2026-04-22 15:35:20 -04:00
Daniel Albers
1890e7b297
fix: PacketStreamFilter socket leak on abrupt disconnect
...
This fix prevents TCP sockets from accumulating in CLOSE_WAIT following a
network interruption.
StreamInputShutdown ignored events that occurred while waiting for parts of a
partially received packet.
This could prevent the higher-level state machine from receiving the disconnect
signal and closing the socket.
The filter now correctly treats a stream closure during mid-packet reception as
a protocol error, ensuring the disconnect event is propagated, and proceeds with
the shutdown.
2026-04-22 07:12:02 -04:00
Daniel Albers
f9fd0e86b0
fix: Improve SecureSocket handshake and event handling
...
This fix addresses a busy-loop and stalled connection issue during the TLS
handshake. Previously, SecureSocket incorrectly managed its readiness flags
during negotiation, often polling for 'writability' when OpenSSL was actually
waiting for more 'read' data (or vice versa).
- Explicitly maps SSL_ERROR_WANT_READ and SSL_ERROR_WANT_WRITE to
socket multiplexer events.
- Resets readiness flags before each handshake attempt to ensure the
multiplexer receives the most accurate requirements from OpenSSL.
- Restores readability/writability flags upon a successful handshake
to allow subsequent application-layer protocol exchange.
- Removes inefficient busy-wait sleeps that were masking the loop
and slowing down handshakes.
2026-04-22 07:12:02 -04:00
Daniel Albers
7d78e55fcc
fix: Enable TCP keepalive by default
...
Deskflow previously lacked support for TCP keepalive, which meant that
dead connections (such as those resulting from a terminated SSH tunnel
or an ungraceful network interruption) could remain in the system's
connection table indefinitely.
This commit adds the setKeepAliveOnSocket method to the IArchNetwork
abstraction and implements it for both BSD/Unix and Winsock/Windows
backends. Keepalive is now enabled by default in TCPSocket::init,
allowing the operating system to eventually detect and clean up
stale connections.
2026-04-22 07:12:02 -04:00
sithlord48
acd02a01e6
fix: use Maximum for the high of the mode selection to prevent being cut off
2026-04-21 07:36:48 -04:00
Luiz Sardinha
5a028c12d4
fix(mac): quit core if accessibility permissions are revoked
2026-04-21 06:54:05 -04:00
Luiz Sardinha
9025ab8fb7
refactor: allow exit event to provide an exit code
2026-04-21 06:54:05 -04:00
Luiz Sardinha
71c25b3ab9
refactor: bringing error code from the application thread to the main thread (and using its exit code to exit)
2026-04-21 06:54:05 -04:00
Luiz Sardinha
1854e469f4
refactor: making core a QApplication (so it runs cocoa loop on macOS)
2026-04-21 06:54:05 -04:00
alizane
42b824a8db
fix: enforce C locale in LogTests for decimal formatting
...
fixes : #7466
2026-04-17 12:12:47 -04:00
sithlord48
1c81886643
fix: clipboard buffer overrun using propose solution from kitknox
2026-04-16 08:03:06 -04:00
sithlord48
c8e0feab4e
build(arch): remove ArchDaemonNone and do not subclass Arch from ARCH_DAEMON on unix
2026-04-13 09:48:12 +01:00
sithlord48
e33bef1b95
build(arch): remove unneeded links to ${libs}
2026-04-13 09:48:12 +01:00
sithlord48
d6a935b5e9
build(common): expose the include dirs from the common library as public
2026-04-13 09:48:12 +01:00
sithlord48
1922f916af
refactor: Move -> deskflow/languages/LanguageManager -> deskflow/KeyboardLayoutManager
...
rename methods to relfect its use for keyboard layouts not languages
2026-04-08 09:47:23 +01:00
sithlord48
e293d4eb8c
refactor(ipc): add missing use of at for lists
2026-04-08 09:47:23 +01:00
sithlord48
d1074f64ae
refactor(ipc): use more QStringLiterals
2026-04-08 09:47:23 +01:00
sithlord48
bdb7309778
refactor(ipcClient): declare values in if statement where possible
2026-04-08 09:47:23 +01:00
Nick Bolton
7c30add2a1
feat(ipc): Error handling for missing version in IPC handshake
2026-04-07 13:09:29 +01:00
Nick Bolton
77bee2ddf3
feat(ipc): Log more detail on IPC error handling
2026-04-07 13:09:29 +01:00
Nick Bolton
25f3eb3f22
feat(ipc): Differentiate between Daemon and Core IPC logs
2026-04-07 13:09:29 +01:00
Nick Bolton
682966fec0
feat(ipc): Handle missing keyboard layouts with IPC
2026-04-07 13:09:29 +01:00
Nick Bolton
59a4747113
feat(ipc): Unrecognised IPC client, retry messages, and TLS fingerprint
...
Also adds version checking for IPC server and client
2026-04-07 13:09:29 +01:00
Nick Bolton
66c9b6607c
feat(ipc): Messaging for connection states via IPC (async client)
2026-04-07 13:09:29 +01:00
Nick Bolton
62ccb543dc
feat(ipc): Core IPC server and connected client
2026-04-07 13:09:29 +01:00
Nick Bolton
1ec36645e1
refactor(ipc): Abstract IPC client logic
2026-04-07 13:09:29 +01:00
Nick Bolton
2e13074580
refactor(ipc): Abstract IPC server logic
2026-04-07 13:09:29 +01:00
Nick Bolton
e4bafaf88f
refactor(win32): More consistent Windows desk switch log line
2026-04-07 13:09:29 +01:00
Nick Bolton
eebe5fd55f
refactor(win32): Rename Windows thread finding methods for consistency
2026-04-07 13:09:29 +01:00
Nick Bolton
b0985a2740
fix(unix): Add foreign Qt threds in legacy POSIX thread impl
2026-04-07 13:09:29 +01:00
Nick Bolton
aaef600ffa
fix(mac): Remove Cocoa app loop and fix macOS event tap for Qt threading
2026-04-07 13:09:29 +01:00
Nick Bolton
29352d97b3
fix(core): Destroy temporary QCoreApplication before creating the real one
2026-04-07 13:09:29 +01:00
Nick Bolton
8a77e5f130
refactor(core): Convert app to Qt app
2026-04-07 13:09:29 +01:00
sithlord48
d8e9ac27f5
refactor: Messages::showNewClientPrompt check if server auth is needed when the message is shown not in the signal
2026-04-07 11:09:58 +01:00
sithlord48
047451696a
refactor: Messages::showFirstConnectionMessage check the settings for the values
2026-04-07 11:09:58 +01:00
sithlord48
632b64f12f
chore: MainWindow remove unused forward declariations
2026-04-07 11:09:58 +01:00
sithlord48
6a1e8f3edb
chore: remove unused QMessageBox includes and Foward Declaration
2026-04-07 11:09:58 +01:00
sithlord48
5536f98da3
fix(LogDock): Scroll the log widget to the bottom if the log is visible and the find widget is not expanded when appending new log lines
...
fixes : #9622
2026-04-02 12:26:13 +01:00
sithlord48
b17883618c
feat(LogWidget): new scrollToBottom method to scroll the log to to the bottom
2026-04-02 12:26:13 +01:00
sithlord48
4f377d97ff
feat(SearchWidget): new isExpanded method true when widget is showing the find line
2026-04-02 12:26:13 +01:00
sithlord48
41fcc1e815
refactor: add [[no_unique_address]] hint for XWindowsScreen::m_powerManager
2026-03-30 10:36:15 +01:00
sithlord48
15bae79bf4
refactor: correctly use [[maybe_unused]]
2026-03-30 10:36:15 +01:00
sithlord48
ca6220ad30
refactor: remove redundant c_str when setting logError
2026-03-30 10:36:15 +01:00
sithlord48
bcc5a12d37
chore: remove unused Unicode::decode32 method
2026-03-30 10:36:15 +01:00
sithlord48
06d7f91551
refactor: add explicit fallthrough for fall through cases in unicode
2026-03-30 10:36:15 +01:00
Artturi Alm
469a238b04
fix: AltGr for clients w/windows+finnish-layout.
2026-03-26 10:52:45 +00:00
sithlord48
1565971479
feat: show connection retry status in status area
2026-03-26 06:25:22 -04:00
sithlord48
468c3b76de
feat: backoff retry after number of retries
2026-03-26 06:25:22 -04:00