Commit graph

166 commits

Author SHA1 Message Date
Nick Bolton
4e121dac30 chore: update 'Synergy App Ltd' copyright (company renamed) 2026-06-09 00:06:11 -04: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
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
Nick Bolton
eebe5fd55f refactor(win32): Rename Windows thread finding methods for consistency 2026-04-07 13:09:29 +01:00
Gittensor Miner
a5b2a4fab9 Fix: Add exception handling to setValue functions
Replace TODO comments with proper exception handling in ArchMiscWindows::setValue methods.
When a nullptr registry key is passed, the functions now throw std::invalid_argument
instead of silently returning, improving error handling and making bugs easier to detect.

Removed assert statements as they are redundant with the exception handling.

This addresses the TODO comments in lines 163 and 173.
2026-01-23 12:38:32 +00:00
Nick Bolton
3a242e7fc1 refactor: use windowsErrorToString instead of obsolete winsockErrorToString 2026-01-22 13:46:43 +00:00
sithlord48
0c368f402b refactor: use ArchDaemonWindows::runDeamon directly
remove now unused ArchMiscWindows::runDaemon
2026-01-06 12:05:23 +00:00
sithlord48
0e04364d17 refactor: use ArchDaemonWindows::daemonFailed directly
remove now unused ArchMiscWindows::daemonFailed
update copyright year
2026-01-06 12:05:23 +00:00
sithlord48
3ff06b7d9a refactor: use ArchDaemonWindows::getDaemonQuitMessage directly
remove now unused ArchMiscWindows::getDaemonQuitMessage
2026-01-06 12:05:23 +00:00
sithlord48
c7da833f07 refactor: use ArchDaemonWindows::daemonRunning directly
removes:
  unused DAEMON_RUNNING define in App.h
  unused ArchMiscWindows::daemonRunning
update copyright years
2026-01-06 12:05:23 +00:00
sithlord48
023e8dc78e chore: remove unused ARCH->showLog 2025-10-27 15:36:40 +00:00
Nick Bolton
f64d430f96 fix: Remove assertion for unused name parameter in daemonize function 2025-10-13 07:23:59 -04:00
sithlord48
04b3f5c769 chore: remove unused name parameter from ARCH->daemonize 2025-10-09 13:30:41 +01:00
sithlord48
8ea2671e65 refactor: cleanup daemonApp args 2025-10-07 13:01:47 +01:00
Nick Bolton
c234f2fc66 fix: Do not reuse listen sockets on Windows 2025-09-25 14:00:48 +01:00
Nick Bolton
5ea8d0326a fix: Use QString for Windows error functions
Was returning only first char of error message (mild-mojibake)
2025-09-12 13:17:50 +01:00
sithlord48
38a74d7d0f refactor: Arch::getHostName(), use QSysInfo::machineHostname in place of system specific impl 2025-09-11 11:18:12 +01:00
sithlord48
c4c2f7f37f feat: begin to use QStrings for strings
feat: get windows building with the UNICODE forced by using Qt
refactor: remove ARCHString use QString to convert to / from utf8
build: (arch) link to common
build: (base) link to arch
build: (io) Link to common
build: (client) link to common
build: (server) link to common
fix: Append to log file instead of creating a new one each log line
refactor: Trim cipher description for neater log output
fix: Update log messages to use wide string format for Unicode support
fix: Correct event creation to use wide string for Unicode compatibility
refactor: Use QStringDecoder for UTF-8 handling on Windows Daemon child process
fix: Use correct wide type for Win32 consts
2025-09-10 18:15:19 +01:00
Nick Bolton
ad383ad9d4 chore: Remove unused daemon installation and uninstallation methods 2025-09-10 11:32:02 +00:00
sithlord48
85d89f9846 refactor: XArch Classes => Arch Exception Classes 2025-08-11 17:14:45 +01:00
sithlord48
2a84ef0ebf refactor: update log calls to LOG_... fixes #8819 2025-08-06 16:18:38 +01:00
sithlord48
77bdde5434 refactor: Elevel => LogLevel enum class, use proper names for items in the class 2025-07-11 03:06:24 -07:00
sithlord48
2421a8b725 refactor: Make throwError and throwNameError members of IArchNetwork
make throwError and throwNameError noreturn
          remove unused extra private section in IArchNetwork subclasses
2025-07-03 03:24:16 +00:00
sithlord48
8f6f014bcd refactor: IArchNetwork turn anonymous enum into PollEventMask struct with set of static values 2025-07-03 03:24:16 +00:00
sithlord48
47d44db497 refactor: make EStreamType enum Class StreamType, and conform members to naming conventions 2025-07-03 03:24:16 +00:00
sithlord48
879283f46f refactor: Make IArchNetwork::EAddressFamily enum class IArchNetwork::AddressFamily
confirm AddressFamily items to naming convention
2025-07-03 03:24:16 +00:00
sithlord48
cbbfd495e3 refactor: make ESignal an enum Class IArchMultiThread::ThreadSignal, conform ThreadSignal items to naming conventions 2025-07-03 03:24:16 +00:00
sithlord48
c15214aee7 refactor: use std::scoped_lock inplace of std::lock_guard 2025-06-17 10:23:42 +01:00
sithlord48
5fd4d93f7f refactor: replace ARCH->sleep(...) calls with Arch::sleep(...) 2025-06-17 10:23:42 +01:00
sithlord48
86e109baf5 refactor: use std::mutex in ArchNetworkWinSock 2025-06-14 09:37:48 +01:00
sithlord48
d535593d1d refactor: use std::mutex in ArchMutithreadWindows 2025-06-14 09:37:48 +01:00
sithlord48
a5522729aa refactor: Unify ArchTime classes into one method
Idea from https://github.com/input-leap/input-leap/pull/1464'
2025-06-14 08:22:55 +01:00
sithlord48
36b4bb09bc refactor: Unify ArchSleepClasses into one method
idea from https://github.com/input-leap/input-leap/pull/1462
2025-06-14 08:22:55 +01:00
sithord48
a31cff0225 chore: Cleanup windows includes 2025-06-02 21:55:36 +01:00
Povilas Kanapickas
5ee3fc41bd chore: arch: Remove XArch exception class
XArch no longer contains any extra functionality in addition to what
std::runtime_error nor it signifies a particular type of error.
based-on: 5b991692af
ported-by: sithlord48
2025-05-28 14:00:18 +01:00
Povilas Kanapickas
314899ac7d chore: arch, Remove support for lazy error code to string evaluations
This functionality is not needed because in all code paths the error
code is immediately converted to string without actually using the lazy
evaluation functionality.

based-on: 53dff5b803
ported and expanded by sithlord48
2025-05-28 14:00:18 +01:00
sithlord48
767919b342 refactor: consolidate IArchString subclasses into ArchString 2025-05-23 17:58:36 +01:00
sithlord48
4224215991 chore: make IArchString::EWideCharEncoding a enum class 2025-05-23 17:58:36 +01:00
sithlord48
cac63937ff chore: cleansmells in ArchDaemon 2025-05-20 16:20:07 +01:00
sithlord48
037fee0e59 refactor: remove archConsole use its only implemented method directly in logOutputters 2025-05-19 21:48:27 +01:00
sithlord48
e9ccd513f7 chore: clean up windows code smells missed by sonarscan 2025-05-03 21:13:09 +01:00
sithlord48
63d65bb47b chore: use nullptr where possible in place of NULL 2025-04-28 13:08:40 +01:00
sithlord48
8b5a61f07f refactor: remove ArchFile, move only use of getInstallDir to MSWindowsWatchdog 2025-03-25 08:39:05 +00:00
sithlord48
516f803eb4 refactor: remove ArchFile::getbasePath for QFileInfo::fileName 2025-03-25 08:39:05 +00:00
sithlord48
c1a7b836ce refactor: remove unused ArchMiscWindows::processDialog 2025-03-24 12:16:39 +00:00
sithlord48
9530b9c6ba refactor: remove unused ArchMiscWindows::s_dialog, ArchMiscWindows::cleanup 2025-03-24 12:16:39 +00:00
sithlord48
9df2a2c28d refactor: remove unused ArchMiscWindows::removeDialog 2025-03-24 12:16:39 +00:00
sithlord48
133545d03f refactor: remove unused ArchMiscWindows::addDialog 2025-03-24 12:16:39 +00:00
sithlord48
75e852d95f refactor: remove unused ArchMiscWindows::readValueBinary 2025-03-24 12:16:39 +00:00
sithlord48
9c44653fff refactor: remove unused ArchMiscWindows::setValueBinary 2025-03-24 12:16:39 +00:00