Commit graph

3373 commits

Author SHA1 Message Date
sithlord48
e38a8e6b15 build: build lib/common as static library 2025-03-07 13:16:09 +00:00
sithlord48
38b2798bb7 chore: remove unused common/stdfstream 2025-03-06 19:17:53 +00:00
sithlord48
d580dfba57 chore: remove unused common/stdsstream 2025-03-06 19:17:53 +00:00
sithlord48
da4237f349 chore: rm unused common/stdbitset.h 2025-03-06 19:17:53 +00:00
sithlord48
a78d1acc71 chore: remove unset variable in arch lib linking 2025-03-06 19:17:53 +00:00
sithlord48
24d5b26da2 build: remove extra private link to openssl::applink 2025-03-06 19:17:53 +00:00
sithlord48
9c81f1c045 build: moving find_package for openssl to net/CMakeLists.txt 2025-03-06 19:17:53 +00:00
sithlord48
3a4bf35e22 refactor: Remove unneeed find_packate calls for Qt Components. Qt is found by Libaraies.cmake and accesable to all items in the src folder 2025-03-06 19:17:53 +00:00
Nick Bolton
495331108b fix: Guard MSVC runtime version depending on compiler version 2025-03-06 10:45:57 -05:00
Nick Bolton
a7ce936d68 fix: Remove duplicate includes in deskflow-daemon.cpp 2025-03-05 13:59:26 -05:00
Nick Bolton
f6ccd2a25b feat: Show Git SHA in Windows daemon version number 2025-03-05 13:59:26 -05:00
sithlord48
5d310be807 chore: remove obsolete runWizard setting 2025-03-05 18:48:07 +00:00
Nick Bolton
bd674f546b fix: Show console on Windows for daemon -h and -f args 2025-03-05 18:04:07 +00:00
Nick Bolton
cc821f750d fix: Remove unnecessary private access modifier from DaemonApp.h 2025-03-05 18:04:07 +00:00
Nick Bolton
2485e993a4 chore: Improve bin RC and service description for Windows daemon 2025-03-04 13:36:47 +00:00
Nick Bolton
b5d12b8aa5 fix: Move version print line after file outputter is created 2025-03-04 13:36:47 +00:00
Nick Bolton
b64942e3a3 fix: Delete HKEY_LOCAL_MACHINE\SOFTWARE\Deskflow when clearing settings 2025-03-03 15:05:09 -05:00
Nick Bolton
9de268d293 chore: Reduce noisy log lines related to fingerprints not required by GUI 2025-03-03 13:31:18 -05:00
Nick Bolton
1f08cafffe fix: Use string data instead of path data for fingerprint logging 2025-03-03 13:31:18 -05:00
sithlord48
9eeda33293 fix: do not reset screenCorners on startup
fixes #8276
2025-03-03 17:26:48 +00:00
sithlord48
17bedb1072 fix: Correct parsing of screen corners
fixes #8231
2025-03-03 17:26:48 +00:00
sithlord48
8cca8440b7 fixes #7695 adjust the serverconfig clipboard max size label 2025-03-03 17:16:24 +00:00
sithlord48
b2dadba6fa refactor: serverdialog, use maximum for spinbox horizontal sizepolicy 2025-03-03 17:16:24 +00:00
sithlord48
4f057d706f refactor: serverconfigdialog, use suffix for spinboxes 2025-03-03 17:16:24 +00:00
sithlord48
5e69657176 chore: update windows rc descriptions fixes #8270 2025-03-03 16:32:08 +00:00
sithlord48
2638cce0c0 fix: Do stop the client on fingerprint dialog
fixes #8267
2025-03-03 16:16:57 +00:00
Nick Bolton
5eac984757 chore: Add mutex for process state management in MSWindowsWatchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
1bd3f5060e refactor: Add Doxygen comments for MSWindowsWatchdog member functions 2025-03-03 14:33:46 +00:00
Nick Bolton
55b4cffd3f chore: Remove unused setStartupInfo member function from MSWindowsWatchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
51ec36f23d chore: Set default values for m_foreground and m_activeDesktop MSWindowsWatchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
58cb2b76de chore: Remove unused include in MSWindowsWatchdog.h 2025-03-03 14:33:46 +00:00
Nick Bolton
8d4a715b1c chore: Make MSWindowsWatchdog constructor explicit 2025-03-03 14:33:46 +00:00
Nick Bolton
997d4a9473 chore: Move free functions to top of Windows watchdog source 2025-03-03 14:33:46 +00:00
Nick Bolton
0f11b61576 chore: Reduce complexity of outputLoop in Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
98aba612c0 chore: Improve loop stop log line in Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
b0547f6713 chore: Use ref to const for openProcessForKill arg in Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
40fefb9369 chore: Use string_view for MSWindowsWatchdog::setProcessConfig 2025-03-03 14:33:46 +00:00
Nick Bolton
d8d022e9fe chore: Scope constants in Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
84194cf5ef chore: Use default init instead of ctor init Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
cd5ba1382d chore: Clean up shutdownExistingProcesses (unused var and use if-init) in Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
c84b4e3f00 refactor: Reduce complexity of mainLoop in Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
be8029deb6 chore: Remove unused g_activeDesktop from Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
dbb9b3bf5a chore: Remove unused trimDesktopName from Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
32bf9aa02a chore: Use const auto instead of enum for kOutputBufferSize in Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
0891afdd63 chore: Use nullptr instead of NULL in Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
f7ab6aba58 chore: Remove unused includes from Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
74e8a63dcd chore: Remove unused getCommand from Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
475172597a chore: Remove unused m_ready from Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
8c30ed7a59 chore: Remove unused m_autoDetectCommand and ctor arg from Windows watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
44f72a29e9 refactor: Use state machine for Windows daemon watchdog 2025-03-03 14:33:46 +00:00
Nick Bolton
4db77ba2f7 chore: Improve function name for setting daemon process config 2025-03-03 14:33:46 +00:00
Nick Bolton
5e29fa93ac chore: Quieten noisy daemon IPC server read log messages 2025-03-03 14:33:46 +00:00
sithlord48
ce8c262a9c build: mac os rpath for client, server and core 2025-02-28 23:04:33 +00:00
Nick Bolton
54483f26ba refactor: Use member instead of passing param in daemon main loop 2025-02-28 17:58:16 +00:00
Nick Bolton
13ed447a93 chore: Move daemon constants to constants file 2025-02-28 17:58:16 +00:00
Nick Bolton
74812fbf75 chore: Remove dead code, function isServerCommandLine from daemon 2025-02-28 17:58:16 +00:00
Nick Bolton
bdf5a0f352 chore: Clearer naming for static daemon loop functions 2025-02-28 17:58:16 +00:00
Nick Bolton
b425b43801 fix: Use desktop process mode for core process tests rather than random value 2025-02-28 17:58:16 +00:00
Nick Bolton
f0c60f5ca9 chore: Improve logging for pipe readers in Windows watchdog 2025-02-28 17:58:16 +00:00
Nick Bolton
b2ca9bc17b chore: Remove dead code from --debug-service-wait arg 2025-02-28 17:58:16 +00:00
Nick Bolton
f46474c9f2 refactor: Use WaitForSingleObject instead of sleep for Windows process shutdown 2025-02-28 17:58:16 +00:00
Nick Bolton
a99d408be1 chore: Improve logging related to Windows daemon start/stop/install/uninstall 2025-02-28 17:58:16 +00:00
Nick Bolton
19c41e2ac5 fix: Improve Windows daemon stop speed by using non-blocking pipes and shorter sleep times 2025-02-28 17:58:16 +00:00
Nick Bolton
890fd61e6e refactor: Move ownership of Windows daemon file log outputter to Log 2025-02-28 17:58:16 +00:00
Nick Bolton
1c42552b3b refactor: Begin logging to file as soon as Windows daemon starts 2025-02-28 17:58:16 +00:00
Nick Bolton
a6956b9516 refactor: Improve Daemon uninstall exception flow 2025-02-28 17:58:16 +00:00
Nick Bolton
5a7f6bd1c0 refactor: Remove old Windows TCP IPC implementation (replaced by Qt equivalent) 2025-02-28 17:58:16 +00:00
Nick Bolton
a3b0ec28fc refactor: Improve logging message for process backoff and reset failure count when no command is set 2025-02-28 17:58:16 +00:00
Nick Bolton
fa1ab27ee9 refactor: Clear watchdog command setting to prevent persistence on daemon restart 2025-02-28 17:58:16 +00:00
Nick Bolton
e07a2efbcc refactor: Implement Windows event loop in AppUtilWindows for graceful shutdown handling 2025-02-28 17:58:16 +00:00
Nick Bolton
e967944c1e fix: Strip line endings for Windows daemon file logging
Windows file logger and `OutputDebugString` already add new lines, so remove the ones added by the Core.
2025-02-28 17:58:16 +00:00
Nick Bolton
389028ccf9 refactor: Connect socket events in ctor for daemon IPC client 2025-02-28 17:58:16 +00:00
Nick Bolton
dc6383d593 refactor: Properly disconnect and clean up previous daemon file tail on connection 2025-02-28 17:58:16 +00:00
Nick Bolton
1c7adf5add refactor: Allocate daemon app and it's thread on stack to reduce memory leak risk 2025-02-28 17:58:16 +00:00
Nick Bolton
5743db3040 feat: Apply log level on IPC connection 2025-02-28 17:58:16 +00:00
Nick Bolton
5733541b2a feat: Tail daemon log file instead of using IPC log outputter 2025-02-28 17:58:16 +00:00
Nick Bolton
5980fb741b refactor: Move daemon process stop command to new Qt IPC 2025-02-28 17:58:16 +00:00
Nick Bolton
7c672b06d8 refactor: Update IPC server to handle log level and elevate mode changes 2025-02-28 17:58:16 +00:00
Nick Bolton
53038760de refactor: Use core mode for daemon install on Windows 2025-02-28 17:58:16 +00:00
Nick Bolton
d6228416a1 refactor: Send log level to daemon over IPC instead of when sending command 2025-02-28 17:58:16 +00:00
Nick Bolton
80cc323f5a refactor: Improve logging and error handling for SendSAS function in Windows watchdog 2025-02-28 17:58:16 +00:00
Nick Bolton
90e63e2e9e refactor: Exclude current process when killing existing process from Windows daemon 2025-02-28 17:58:16 +00:00
Nick Bolton
24c57e46e2 refactor: Run legacy daemon loop in thread 2025-02-28 17:58:16 +00:00
Nick Bolton
e72faf1446 feat: Connect to daemon IPC on start request 2025-02-28 17:58:16 +00:00
Nick Bolton
c1d7474700 feat: Restart process from daemon through new Qt IPC impl 2025-02-28 17:58:16 +00:00
Nick Bolton
0d2d9f385d feat: Implement basic IPC connection between Daemon and GUI 2025-02-28 17:58:16 +00:00
Nick Bolton
c0094554b1 feat: Convert daemon to Qt app and introduce Qt local server 2025-02-28 17:58:16 +00:00
Nick Bolton
95603c82ec refactor: Improve logging and args for Windows daemon install/uninstall 2025-02-28 17:58:16 +00:00
sithlord48
8debc1ea7f chore: SettingsDialog remove set defaults from ui file 2025-02-28 16:51:33 +00:00
sithlord48
b4f703562d chore: Settings Dialog do not open with the checkbox for peer certificates having active focus 2025-02-28 16:51:33 +00:00
sithlord48
34b61cc8cd fix: #8259 track a client and server list
fixes 8259
2025-02-28 13:17:26 +00:00
Nick Bolton
0fc5368253 fix: Prevent access violation by moving events, arch, and log objects to top of stack in Windows daemon
This is how we do it in the server/client apps, so it makes sense to mirror the same pattern.
2025-02-28 12:57:15 +00:00
Nick Bolton
383b39636e chore: Remove dead code; unused outputter param on runInner functions 2025-02-28 12:57:15 +00:00
Nick Bolton
f56a3ba305 refactor: Rename param for Log::insert to make adoption clearer 2025-02-28 12:57:15 +00:00
Nick Bolton
0bca094fce chore: Explain use of new for all log outputters 2025-02-28 12:57:15 +00:00
Nick Bolton
220711c2d7 fix: Only use MS debug outputter when the process is daemonized 2025-02-28 12:57:15 +00:00
Nick Bolton
66acf9038b fix: Solve double-free by letting Log adopt FileLogOutputter in Windows daemon 2025-02-28 12:57:15 +00:00
sithlord48
aa5a704131 chore: settings dialog remove unused includes 2025-02-27 15:17:13 +00:00
sithlord48
bae494476b refactor: Settings Dialog, update security layout 2025-02-27 15:17:13 +00:00
sithlord48
3ae2de52f4 refactor: SettingsDialog set icons in ui where possible 2025-02-27 15:17:13 +00:00
sithlord48
088d69fec8 refactor: SettingsDialog, use standard object names 2025-02-27 15:17:13 +00:00
sithlord48
63744ddbd6 refactor: settingsdialog, remove autoconnect slots 2025-02-27 15:17:13 +00:00
sithlord48
2d04e0be4d refactor: SettingDialog do not connect from inside the ui file 2025-02-27 15:17:13 +00:00
sithlord48
4f2ef7174a refactor: do not stop sever on new client fingerprint, track the last print we checked and if we are chekcing it do not show a new box 2025-02-27 15:07:50 +00:00
sithlord48
1003de21b5 refactor: do not show error if the fingerprint database is not created yet 2025-02-27 15:07:50 +00:00
Nick Bolton
b3866b69b2 chore: Fix order of MainWindow ctor init list to match header 2025-02-27 15:07:50 +00:00
sithlord48
9bd7fce45c refactor: MainWindow: Update name change 2025-02-27 13:41:55 +00:00
sithlord48
f0d33ce9de chore: aboutDialog remove unused static strings 2025-02-27 13:32:24 +00:00
sithlord48
07bf6de093 chore: add icon credit to about box 2025-02-27 13:32:24 +00:00
sithlord48
e7e518d76e refactor: don't quote debug line 2025-02-26 11:52:03 +00:00
sithlord48
08be9fa33f chore: use a style for the flat buttons 2025-02-26 11:52:03 +00:00
sithlord48
72d27c70e0 refactor: gui::styles use QStringLiteral 2025-02-26 11:52:03 +00:00
sithlord48
6de1920d88 chore: remove bufferedLogView 2025-02-25 06:53:57 -08:00
sithlord48
2d3f64f662 chore: cleanup additional item missed in when removing the legacy tray icon 2025-02-25 06:53:57 -08:00
sithlord48
193c28af53 fix: settings dialog can have tls options enabled when they should not be leading to a case where tls gen fails as it not enabled fixes 7883 2025-02-25 06:34:47 -08:00
sithlord48
5b54849fd6 refactor: mainwindow simplify the mode selection UI 2025-02-25 14:18:32 +00:00
sithlord48
b7eb5c467b feat: Remove Inverse Connections Option 2025-02-25 14:18:32 +00:00
sithlord48
f9b6bcc950 refactor: mv net/InverseSockets/SslLogger => net/SslLogger 2025-02-25 14:18:32 +00:00
sithlord48
5d5e32a676 refactor: remove setupwizard 2025-02-25 13:21:39 +00:00
sithlord48
d52939a3fc fix: raise mainwindow on update check dialog
fixes #8234
2025-02-25 13:11:35 +00:00
sithlord48
6a08305338 fix: log expanded on start up and windows no resizeable 2025-02-20 22:26:21 +00:00
sithlord48
05ed47be2e fix: server resets to listing state with no clients connected 2025-02-20 21:16:48 +00:00
sithlord48
29d04ea8e0 chore: update lib/gui/constants to use QStringLiterals 2025-02-20 21:16:48 +00:00
sithlord48
ab118a3aa3 chore: remove unused style items 2025-02-20 21:16:48 +00:00
sithlord48
10e5a305bb refactor: remove redundant client / server staus labels, the status label provides this info already 2025-02-20 21:16:48 +00:00
sithlord48
e9c8965066 refactor: mainwindow move tls version to securty tooltip 2025-02-20 21:16:48 +00:00
sithlord48
53d2b3bd2e refactor: MainWindow move update info to status tray 2025-02-20 21:16:48 +00:00
sithlord48
d4cc66a9f9 refactor: move Tls Label to status bar 2025-02-20 21:16:48 +00:00
sithlord48
18cc8565f9 refactor: mainwindow use status bar for status items 2025-02-20 21:16:48 +00:00
sithlord48
caee2b149a chore: move version check log to debug, fixes #8224 2025-02-20 11:15:58 +00:00
Nick Bolton
e808eed413 refactor: Improve Windows daemon failure backoff for faster client restarts on first fail 2025-02-19 18:23:10 +00:00
Nick Bolton
16c57d7960 refactor: Improve log message related to desk switch on Windows 2025-02-19 18:23:10 +00:00
Nick Bolton
200d32db80 chore: Improve log message for leave screen warning on Windows 2025-02-19 18:23:10 +00:00
Nick Bolton
2322f312a9 refactor: Improve logging for errors when setting/getting cursor pos on Windows 2025-02-19 18:23:10 +00:00
Nick Bolton
09c157f9e1 fix: Remove --exit-pause to stop "press any key to exit..." showing when Windows daemon kills server/client 2025-02-19 18:23:10 +00:00
Nick Bolton
c9a360a144 fix: Restore active desktop name check in Windows daemon
- Use `PIPE_NOWAIT` to skip empty stderr output on process output reading from Windows daemon watchdog
- Use `CreateProcess` result to determine when to call `CloseHandle` in Windows daemon watchdog
- Trim output from active desktop process in Windows daemon watchdog
- Improve error logging in Windows daemon watchdog
2025-02-19 18:23:10 +00:00
sithlord48
48407d7f8f refactor: simplify MainWindow::checkFingerprints 2025-02-18 12:12:41 +00:00
sithlord48
83c190c385 refactor: use better name to describe for the tlsEnabled var in messages , and correct the name in virtual method 2025-02-18 12:12:41 +00:00
sithlord48
ad79ba907d refactor: Mainwindow localFingerPrintDb => localFingerprintDb 2025-02-18 12:12:41 +00:00
sithlord48
9294f2a026 refactor: use a function to get the trustedFingerprintDb 2025-02-18 12:12:41 +00:00
Nick Bolton
bfb64f0653 fix: Generate TLS certificate before generating TLS fingerprint 2025-02-17 11:55:28 -05:00
sithlord48
6f66fe767f fix: inabliity to resize when first opening if log open on startup 2025-02-17 11:55:28 -05:00
sithlord48
63846292ff refactor: update tooltips for security icon
add check when appTls State Changes
2025-02-17 11:55:28 -05:00
sithlord48
2f8b78e2a6 refactor: new private MainWindow method localhostFingerprintDb 2025-02-17 11:55:28 -05:00
sithlord48
8d0491f1ad refactor: narrow use of stdString in mainwindow 2025-02-17 11:55:28 -05:00
sithlord48
79dc858446 chore: modify client trying to connect dialog to inform user the new client needs to be put in the layout when both tls is enabled and peer key checking is enabled , otherwise show the old dialog asking to allow the client to connect 2025-02-17 16:26:29 +00:00
sithlord48
0667f5de73 refactor: allow the fingerprint dialog to show local keys and remote if needed 2025-02-17 16:26:29 +00:00
sithlord48
e51956e2c7 feat: Client ID verification
based on barrier: 229abab
  Fixes: CVE-2021-42072, CVE-2021-42073
2025-02-17 16:26:29 +00:00
sithlord48
60c7e512f2 refactor: use enum for secure sockets
based on barrier: 57769cf
2025-02-17 16:26:29 +00:00
sithlord48
e996471e37 refactor: use enum for connections security level
based on barrier: 5c7d719
2025-02-17 16:26:29 +00:00
sithlord48
638349b48a feat: add config for client cert required
based on barrier: 8bc280e0
2025-02-17 16:26:29 +00:00
sithlord48
3e7b14cbd4 fix: Attempt to load SSL certs when connecting
based on barrier: c0ce8937, 4d73ed9f
2025-02-17 16:26:29 +00:00
Nick Bolton
6ff5d2d5d3 fix: Update local fingerprint label after fingerprint regeneration 2025-02-14 09:42:47 -05:00
sithlord48
67e2f56724 chore: update daemon description and icon 2025-02-14 12:44:29 +00:00
sithlord48
5288546231 refactor: use const for tlsDb expected size 2025-02-14 12:44:29 +00:00
sithlord48
d8e311fe59 fix: only regenerate the tls certificate if tls is enabled and we do not already have a certificate 2025-02-14 12:44:29 +00:00
sithlord48
500067a778 fix: generate cert if tls is on and its not found
fixes #8191
  fixes #8192
2025-02-14 12:44:29 +00:00
sithlord48
3c12915fd3 fix: Security icons showing with fresh install
fixes #8170
2025-02-14 12:20:48 +00:00
sithlord48
eb19547b45 refactor: mainwindow force regen of local prints if tls is enabled with a sha256 key 2025-02-12 13:41:45 +00:00
sithlord48
65eed64f04 refactor: new fingerprintdialog 2025-02-12 13:41:45 +00:00
sithlord48
fbaa0a8433 feat: use sha256
based-on: a428b61c7d
 based-on: b7757fbd68
 based-on: a238b27879
2025-02-12 13:41:45 +00:00
sithlord48
743c3feef3 refactor: use FingerprintData for fingerprints
based-on: 7cced74119
2025-02-12 13:41:45 +00:00
sithlord48
d0d5182425 refactor: use new Fingerprint database
based-on: 50534ecb43
   based-on: be8ba0d132
2025-02-12 13:41:45 +00:00
sithlord48
298b1047c4 refactor: add ssl consts into common/constansts 2025-02-12 13:41:45 +00:00
sithlord48
e257501072 chore: add Fingerprint Db Tests 2025-02-12 13:41:45 +00:00
Vamshi Maskuri
aaa64e986e feat!: Add support for FingerPrintDatabase 2025-02-12 13:41:45 +00:00
sithlord48
7d79a4d729 chore: TlsCertificate, remove unused items 2025-02-12 13:41:45 +00:00
sithlord48
2058519e57 refactor: generate Certs using secureUtils method 2025-02-12 13:41:45 +00:00
sithlord48
5a71d63923 refactor: secureutils add pemFileCertFingerprint 2025-02-12 13:41:45 +00:00
sithlord48
fb32f141cc refactor: secureUtils fingerprint method
Signed-off-by: sithlord48 <sithlord48@gmail.com>
2025-02-12 13:41:45 +00:00
sithlord48
39da277ead refactor: use vector<uint8_t> for keys 2025-02-12 13:41:45 +00:00
sithlord48
a98f2d745e refactor: move SecureSocket::formatFingerprint -> SecureUtils std::string formatSSLFingerprint
based on 0e406d4918
         9d8e1faf59
         b793675ef8
2025-02-12 13:41:45 +00:00
Nick Bolton
524c3b0e7b refactor: Change log level for active desktop query to debug 2025-02-11 13:06:51 +00:00
sithlord48
e420b9b986 chore: small cmake cleanup
lib/platform: use the REQUIRED_QT_VERSION when looking for Qt Dbus module
  lib/deskflow: rm extra space in cmake file
2025-02-11 13:06:51 +00:00
Nick Bolton
cb14d158cc refactor: Cleanup core binary help text 2025-02-11 13:06:51 +00:00
Nick Bolton
ac6809d40f refactor: Rename core process start/stop function names 2025-02-11 13:06:51 +00:00
Nick Bolton
92603df93d fix: Out of order m_trayIcon in ctor init,
chore: remove unused m_btnCancel
2025-02-11 13:06:51 +00:00
sithlord48
a5f28616f4 chore: df-gui mainwindow directly connect more methods without intermediarty methods 2025-02-11 13:06:51 +00:00
sithlord48
cad1243d75 chore: windows, set icon for deskflow-core 2025-02-11 13:06:51 +00:00
sithlord48
610786ad2e chore: clean up extra empty lines 2025-02-11 13:06:51 +00:00
re2zero
d093894743 fix: [test]fix #8174, create empty config file under HOME dir
The server always create an empty config file in user's home dir, set tmp config file path for the unittest in order to fix this issue.

Log: Fix unittest create empty config file.
2025-02-11 07:13:31 -05:00
sithlord48
942070950d refactor: MainWindow do not use onNames 2025-02-04 18:11:41 +00:00
sithlord48
ddc24ffb22 refactor: MainWindow don't use lambda where direct connect can happen 2025-02-04 18:11:41 +00:00
sithlord48
b14de6f9e2 refactor: MainWindow conform to naming standards 2025-02-04 18:11:41 +00:00
sithlord48
60577f00dc chore: add Icons for list-add , list-remove and document-edit 2025-02-03 12:36:18 +00:00
sithlord48
fedd9d33c9 refactor: serverConfig finish renaming, improve logic 2025-02-03 12:36:18 +00:00
sithlord48
ae30237f90 refactor: ServerConfigDialog/tabAdvanced no autoconnections, use naming std 2025-02-03 12:36:18 +00:00
sithlord48
169422a0eb refactor: ServerConfigDialog hotkeyTab, no auto connections use naming std 2025-02-03 12:36:18 +00:00
sithlord48
76fd40a3ec refactor: ServerConfigDialog/tabComputers, no autoconnect slots, use new names 2025-02-03 12:36:18 +00:00
sithlord48
816d66b703 refactor: Don't use autoconnect slots for the button box 2025-02-03 12:36:18 +00:00
sithlord48
774f1fded9 fix: Add client dialog not showing for new clients 2025-02-03 12:36:18 +00:00
Gwilherm Folliot
9dcfb6cc9b fix: Wrong cb_activated signature in input-capture
The options argument was missing so the argument data wasn't the right
one and the method cb_disabled was actually called on a GVariant*
instead on a PortalInputCapture*
2025-01-30 14:50:08 -05:00
sithlord48
e2c3af4e5e fix: readd the newScreenWidget 2025-01-30 15:36:21 +00:00
sithlord48
26367635d9 refactor: QTextStream& screen::writeScreensSection(QTextStream&) -> QString Screen::screenSection()
refactor: QTextStream& screen::writeAliasSection(QTextStream&) -> QString Screen::aliasSection()
2025-01-30 15:36:21 +00:00
sithlord48
0ba35fca7a refactor: clean up data method of model 2025-01-30 15:36:21 +00:00
sithlord48
beb4069845 fix: Screen Missing Icons on server config
Fixes#8155
2025-01-30 15:36:21 +00:00
sithlord48
71b7e819a9 refactor: remove smaller security icons 2025-01-29 21:19:39 +00:00
sithlord48
55772e1133 chore: remove unused ARCH::vsnprintf 2025-01-29 21:07:31 +00:00
sithlord48
43c6bec790 Revert "feat!: Add support for FingerPrintDatabase"
This reverts commit 8f219b735e.
2025-01-28 19:31:03 -05:00
Vamshi Maskuri
8f219b735e feat!: Add support for FingerPrintDatabase 2025-01-28 20:33:11 +00:00
sithlord48
59ebb6fde4 refactor: force mac os to use the larger security icon in the status area 2025-01-28 16:19:51 +00:00
Stephen Jensen
30a37a8a50 chore: Switched event buffer from Carbon to GCD 2025-01-28 13:11:24 +00:00
sithlord48
7f6caec162 chore: reset screen xywh on update_shape
based on https://github.com/input-leap/input-leap/pull/2167
2025-01-28 11:33:55 +00:00
sithlord48
1085df54ed refactor: Reuse compliance
build files and documentation: MIT
  images / sources: GPL-2.0-only
  breeze icons: LGPL-2.0-only
  Microsoft MSM file, vc redist license
2025-01-27 17:05:47 -05:00
sithlord48
480776cb38 chore: remove extra gitignore files 2025-01-27 17:05:47 -05:00
sithlord48
2ca1c69335 refactor: move LICENSE_EXCEPTION info into to LICENSES folder 2025-01-27 17:05:47 -05:00
Kentaro Hayashi
9d3b32c824 Fix a typo in SettingsDialog
compatability =>
compatibility

Signed-off-by: Kentaro Hayashi <kenhys@xdump.org>
2025-01-27 08:29:43 -05:00
sithlord48
c2b3f551d2 chore: String update copyright 2025-01-25 15:43:44 +00:00
sithlord48
f255d77eee chore: add string::fromHex 2025-01-25 15:43:44 +00:00
sithlord48
3125eba014 chore: add string::fromHexChar 2025-01-25 15:43:44 +00:00
sithlord48
9b1489384c chore: String toHex should return a string not do inplace conversion 2025-01-25 15:43:44 +00:00
sithlord48
ac54a97a3f chore: rm use of "Arch" from "String" 2025-01-25 15:43:44 +00:00
sithlord48
a7beed48f8 chore: remove unused placeholder.png file 2025-01-23 22:07:52 +00:00
re2zero
cc4701a0c2 fix: Fix detect language
It perhaps no variant for a keyboard's layout, set a default value in order to continue detect local language.

Log: Fix detect language.
2025-01-23 16:54:14 -05:00
sithlord48
4c3d6c7080 refactor: move rc_template.rc.in -> windows.rc.in
fixes: #8130
2025-01-23 21:28:57 +00:00
sithlord48
2040df435f fix: #8107: Remove legacy tray code 2025-01-23 19:16:29 +00:00
sithlord48
62f53bbb92 fix: check bsdpath for evdev fixes #8112 2025-01-21 17:15:42 -05:00
sithlord48
f49f616ad6 fix: correctly mask symbolic icon on mac os 2025-01-21 17:15:18 -05:00
Nick Bolton
6eec07b6dc refactor: Use correct log level for failure messages
This change may help us turn up some everyday problems in the field that get missed due to not using debug log level.

This could also make the log a bit noisier, so at a later date we may need to downgrade anything that is not actually a failure/warning.
2025-01-21 16:46:34 -05:00
Yoshiaki Kasahara
b65b3678c7 fix: #8119, covering all Unix-like OSes including BSD
Fixes #8119 (using platform variables)
2025-01-21 12:14:42 -05:00
sithlord48
1ec6d02339 refactor: use theme icons for on settings dialog and mac os tray 2025-01-21 11:22:11 -05:00
Birk Magnussen
b13afbbbb9 Properly seek to start of keymap descriptor 2025-01-21 12:07:54 +00:00
sithlord48
ffe8153c35 build: remove unused TM_IN_SYS_TIME define 2025-01-21 06:27:36 -05:00
sithlord48
afc736e2c8 build: remove unused STDC_HEADERS 2025-01-21 06:27:36 -05:00
sithlord48
ae7e2f70ce build: remove unused PTHREAD_CREATE_JOINABLE 2025-01-21 06:27:36 -05:00
sithlord48
9a1cb5941b build: remove unused define HAVE_X11_XKBLIB_H 2025-01-21 06:27:36 -05:00
sithlord48
fa35d2913d build: remove HAVE_X11_EXTENSIONS_XKBSTR_H define 2025-01-21 06:27:36 -05:00
sithlord48
1115d3287e build: remove HAVE_SYS_STAT define 2025-01-21 06:27:36 -05:00
sithlord48
46cfb281af build: remove HAVE_STRING_H define 2025-01-21 06:27:36 -05:00
sithlord48
365d6f76c2 build: remove HAVE_STRINGS_H define 2025-01-21 06:27:36 -05:00
sithlord48
05275b303f build: remove HAVE_STRFTIME define 2025-01-21 06:27:36 -05:00
sithlord48
535d241f7b build: remove unused STDINT define 2025-01-21 06:27:36 -05:00
sithlord48
3e9289328a build: remove unused INTTYPES define 2025-01-21 06:27:36 -05:00
sithlord48
bac86455d2 build: remove unused HAVE_MEMORY_H 2025-01-21 06:27:36 -05:00
sithlord48
b394f32c01 build: remove unused CXX_STDLIB define 2025-01-21 06:27:36 -05:00
sithlord48
312347bc17 build: remove unused CXX_MUTABLE define 2025-01-21 06:27:36 -05:00
sithlord48
6541ce3f84 build: remove unused CXX_EXTENTION define 2025-01-21 06:27:36 -05:00
sithlord48
b4a5b580bd build: remove unused CXX_CASTS define 2025-01-21 06:27:36 -05:00
sithlord48
d72fd2b3d9 build: remove unused ACCEPT_TYPE_ARG3 2025-01-21 06:27:36 -05:00
sithlord48
5ce9aaea13 build: remove has_BOOL define 2025-01-21 06:27:36 -05:00
sithlord48
cc6bfcc1c2 build: remove unused SIZE defines 2025-01-21 06:27:36 -05:00
sithlord48
efca38babc build: remove size_t define 2025-01-21 06:27:36 -05:00
sithlord48
401326e9d7 build: use CMAKE_PROJECT_NAME and CMAKE_PROJECT_PROPER_NAME to set our kAppName and KAppId 2025-01-21 06:27:36 -05:00
sithlord48
09bd4006d1 refactor: MainWindow, use system-run for the start button and action 2025-01-21 11:16:53 +00:00
sithlord48
c84a8c20c1 refactor: MainWindow, use ProcessStop for the stop action and button 2025-01-21 11:16:53 +00:00
sithlord48
b91681a125 refactor: MainWindow, add help-about icon 2025-01-21 11:16:53 +00:00
sithlord48
f578da16c0 refactor: MainWindow, Icon for the clear settings action 2025-01-21 11:16:53 +00:00
sithlord48
c583ab7d2c refactor: MainWindow, add icons for configure 2025-01-21 11:16:53 +00:00
sithlord48
e6ae6bd0d1 refactor: MainWindow, add document-save-as icon 2025-01-21 11:16:53 +00:00
sithlord48
d51437b6a1 refactor: MainWindow, add view-refreshIcon 2025-01-21 11:16:53 +00:00
sithlord48
6954a4dfa3 refactor: SettingsDialog use security-type icons for key length selector 2025-01-21 11:16:53 +00:00
sithlord48
24b2d9b0c1 refactor: MainWindow add application-exit icon 2025-01-21 11:16:53 +00:00
sithlord48
0adef8d781 refactor: MainWindow, Add tools-report-bug icon 2025-01-21 11:16:53 +00:00
sithlord48
3cce11f9d9 fix: missing setting colorful icon 2025-01-21 11:16:53 +00:00
sithlord48
0f5bcd6d12 fixes 8106, by adjusting the spacing of the about dialog 2025-01-21 11:06:37 +00:00
sithlord48
89ec18a8e4 feat: bake in light and dark icon theme 2025-01-20 10:42:29 +00:00
sithlord48
067d6810f3 chore: gui lib, remove unused include dirs 2025-01-19 09:39:54 -05:00
sithlord48
19920801fa build: gui lib use explicit sources 2025-01-19 09:39:54 -05:00
sithlord48
08ad64eb4d chore: remove unused deskflow-gui/AppDelegate 2025-01-19 09:39:54 -05:00
sithlord48
dc5e971043 build: setup bundle plist only on macOS 2025-01-19 09:39:54 -05:00
sithlord48
e0017c1c31 build: deskflow gui explict sources 2025-01-19 09:39:54 -05:00
sithlord48
e58e5c420b refactor: move macOS icon to res folder 2025-01-19 09:39:54 -05:00
sithlord48
ca8c405b5e chore: deskflow-gui, remove unused include_dirs 2025-01-19 09:39:54 -05:00
sithlord48
aff25415ff build: consolidate cmake vars more
move most project defines needed in cmake to the main file
2025-01-19 09:39:54 -05:00
sithlord48
5be1e9f9b9 build: setup a cmake rc template for all apps 2025-01-19 09:39:54 -05:00
sithlord48
3f3116da05 build: simplify the version.rc.in vars
remove the special cmake define for msversion and make it once in the rc
remove duplicate version vars in the rc and use the singe one twice
2025-01-14 21:42:43 +00:00
sithlord48
16396bdbaa build: Unify copyright into one cmake var 2025-01-14 21:42:43 +00:00
sithlord48
660a50d0cf chore: remove unused logo images 2025-01-14 21:22:05 +00:00
sithlord48
93cd71d046 refactor: Adjust the About dialog UI 2025-01-14 21:22:05 +00:00
sithlord48
90c081c889 chore: remove unneeded setVisible override and the unused mac os old tray code within it 2025-01-14 21:00:20 +00:00
sithlord48
a08b0c41e0 fix: always show the hide / show option in the tray menu
Some DE's are like mac os and prevent the user from using click to restore / hide the window
2025-01-14 21:00:20 +00:00
sithlord48
793f40e582 chore: remove basic_types.h 2025-01-14 20:30:45 +00:00
sithlord48
96092df4fc refactor: replace UInt32 with uint32_t 2025-01-14 20:30:45 +00:00
sithlord48
27eb83c981 refactor: replace SInt32 with int32_t 2025-01-14 20:30:45 +00:00
sithlord48
7487eeaa3a refactor: replace UInt16 with uint16_t 2025-01-14 20:30:45 +00:00
sithlord48
1ed49e7487 refactor: replace SInt16 with int16_t 2025-01-14 20:30:45 +00:00
sithlord48
ba11eba91e refactor: replace UInt8 with uint8_t 2025-01-14 20:30:45 +00:00
sithlord48
8ea20cf6da refactor: replace SInt8 with int8_t 2025-01-14 20:30:45 +00:00
sithlord48
626ff0a5fa chore: remove unused GUI_HOOK 2025-01-14 14:29:39 +00:00
sithlord48
7a72658963 refactor: copy more info with the about dialog info's copy button 2025-01-10 17:05:13 -05:00
sithlord48
b8d12a0895 build: mac os add entitlements 2025-01-10 21:48:55 +00:00
sithlord48
692860f9e9 build: macos bundle plist add hint to tell mac os its not allowed to kill the process
based on https://github.com/input-leap/input-leap/pull/2115"
2025-01-10 21:48:55 +00:00
sithlord48
4b6d0059c5 build: Use custom plist template
Customize the cmake used template so we can generate the plist
using configure file this will allow us to add several additional
keys we would not be able to otherwise add to our plist file
"
2025-01-10 21:48:55 +00:00
sithlord48
1dadc2ddf4 refactor: ActionDialog, Only allow resize when the screen list is visible 2025-01-10 21:39:26 +00:00
sithlord48
328a719d49 refactor: Use Computer in place of Screen for user facing strings 2025-01-10 21:39:26 +00:00
sithlord48
a9f55f8dfc chore: ActionDialog, update UI file to Qt6 format and clean unneed keys 2025-01-10 21:39:26 +00:00
sithlord48
f6dd2881c8 refactor: ActionDialog: disable action saving while settings are invalid 2025-01-10 21:39:26 +00:00
sithlord48
7152119014 refactor: ActionDialog, Only show Action relevent options 2025-01-10 21:39:26 +00:00
sithlord48
29eaa19d95 refactor: ActionDialog, use checkable list for screen selection 2025-01-10 21:39:26 +00:00
sithlord48
4db2b80d4e refactor: ActionDialog, Use Combo for action selection 2025-01-10 21:39:26 +00:00
sithlord48
04f73cfcb7 refactor: ActionDialog, Use Combobox for action trigger 2025-01-10 21:39:26 +00:00
sithlord48
1386ac91dc refactor: ActionDialog, Simplify keySequenceChanged logic 2025-01-10 21:39:26 +00:00
sithlord48
4e913a90eb refactor: ActionDialog, make buttonbox connections in c++ 2025-01-10 21:39:26 +00:00
sithlord48
c36c0f2938 refactor: ActionDialog, Aaccess the keySequenceWidget only thru the ui member 2025-01-10 21:39:26 +00:00
sithlord48
0944d918b7 refactor: KeySequenceWidget, remove protected copy of public method 2025-01-10 21:39:26 +00:00
sithlord48
3572bd28b6 refactor: ActionDialog, Adjust private memberNames 2025-01-10 21:39:26 +00:00
sithlord48
c21595e598 refactor: ActionDialog, remove unneeed forward declare for QRadioButton 2025-01-10 21:39:26 +00:00
sithlord48
096ab3b8ed refactor: ActionDialog, set the current screen combo without the need to track how many items are in the combobox with an additional int variable 2025-01-10 21:39:26 +00:00
sithlord48
1129303254 refactor: ActionDialog, when filling the screen list continue sooner if screen is null 2025-01-10 21:39:26 +00:00
sithlord48
4b456bf835 refactor: ActionDialog, don't keep a copy of the server config 2025-01-10 21:39:26 +00:00
sithlord48
8533348c88 refactor: simplify updateSize 2025-01-10 10:36:19 +00:00
sithlord48
dd0812c201 fix: Mainwindow window size restore \n fixes https://github.com/deskflow/deskflow/issues/8056 2025-01-10 10:36:19 +00:00
sithlord48
9a3a89efab refactor: simplify windows size/pos saving 2025-01-10 10:36:19 +00:00
sithlord48
3875e41154 fix: Enter screen on mac os asap to ensure event hand off
based on https://github.com/input-leap/input-leap/pull/2116
2025-01-09 14:02:01 +00:00
sithlord48
9501b59f81 fix: Save the try icon setting 2025-01-07 20:33:37 -05:00
sithlord48
6c95daf0a1 chore: remove stdstring.h use include <string> instead 2025-01-08 00:11:34 +00:00
sithlord48
3991e0c1a1 refactor: use std::string in place of String
basedon: https://github.com/debauchee/barrier/pull/709
2025-01-08 00:11:34 +00:00
sithlord48
42a17726d9 feat: Allow users to pick mono color (based on isDarkMode) or colorful icon 2025-01-07 23:51:34 +00:00
sithlord48
fc6d39ae6c refactor: Adjust the size of all the tray icons to use the same amount of canvas space" 2025-01-07 23:51:34 +00:00
sithlord48
5d41537505 refactor: remove macOS check for icon theme macOS 11+ uses a mask 2025-01-07 23:51:34 +00:00
sithlord48
f505bfd3e7 refactor: MainWindow setupTrayIcon in method
remove unused MainWindow::createStatusBar and MainWinow::createTrayIcon
2025-01-07 23:51:34 +00:00
sithlord48
d5e651bae9 refactor: MainWindow use QSystemTrayIcon in place of TrayIcon
removes the TrayIcon class
2025-01-07 23:51:34 +00:00
sithlord48
1a35a8bdf7 refactor: Action use QStringLists in place of char * arrays 2025-01-07 23:34:11 +00:00
sithlord48
261d85b423 refactor: Action remove pointless assert 2025-01-07 23:34:11 +00:00
sithlord48
fcc8c3d344 refactor: Action, dont use concatantaion, instead append 2025-01-07 23:34:11 +00:00
sithlord48
112c665480 refactor: Action: add SettingsKeys namespace to hold the settings keys 2025-01-07 23:34:11 +00:00
sithlord48
4c70f4fde5 refactor: Action: use m_foo style member names 2025-01-07 23:34:11 +00:00
sithlord48
665049b723 fix #8059 re add shortcut for quit on windows 2025-01-07 17:17:19 -05:00
sithlord48
13a3c2d281 Chore: rm unused DESKFLOW_GUI_HOOK Items 2025-01-07 17:15:48 -05:00
sithlord48
abdab2d06d feat: resolve #7975, allow only one instance of the gui 2025-01-07 16:54:47 -05:00
sithlord48
fd4ffb6f60 build: Prevent issue where build packages is off with version.rc not being generated 2025-01-07 16:37:04 -05:00
sithlord48
9f1c1da1aa build: unify finding of the qt deploy tool and detect if vcpkg for proper debug build call 2025-01-07 16:37:04 -05:00
Oren Trutner
a55fafb4fc fix: messages read into vector are cut off by 4 bytes 2025-01-07 21:09:03 +00:00
sithlord48
b0852bfda5 refactor: Hotkey, use internal actionlist in place of function call 2025-01-07 19:45:21 +00:00
sithlord48
9eb0371a92 refactor: Hotkey, use internal keySequence in place of function calls 2025-01-07 19:45:21 +00:00
sithlord48
ef0d929251 refactor: Hotkey outstream logic more Qt 2025-01-07 19:45:21 +00:00
sithlord48
20a5b8eb0b refactor: Hotkey use const for literals 2025-01-07 19:45:21 +00:00
sithlord48
404458aab0 fix: hotkeys w/ multi actions
based on adc49fa066
2025-01-07 19:45:21 +00:00
sithlord48
6f744d2278 fix: Version Checker use case insensitive compare in place of toLower() call 2025-01-07 11:54:30 -05:00
sithlord48
329afb47be build: windeployqt only on package dir 2025-01-07 11:45:51 -05:00
sithlord48
ca5f41684f fix: MacOS Hide and Show from dock on window close / hide 2025-01-07 09:19:20 -05:00
sithlord48
9c3e08001e fix: mac os CI build by correctly setting INSTALL_RPATH for the gui as a property of its target 2025-01-03 20:02:19 -05:00
sithlord48
6bfde029fe fix: run MacDeployQt at install time on staged app only 2025-01-03 14:10:58 +00:00
sithlord48
351c5123ef fix: Mac Os use Native Hide Event 2025-01-03 13:56:39 +00:00
sithlord48
ba334d5411 refactor: MainWindow remove unneeded onAppAboutToQuit slot 2025-01-03 13:56:39 +00:00
sithlord48
08d4b348e0 fix: use the closeEvent to hide to tray and quit the application 2025-01-03 13:56:39 +00:00
sithlord48
58563d36ca fix: Stop core process when mode changes in gui 2025-01-03 13:32:13 +00:00
sithlord48
ce02bb85b3 chore: update gnome tray fix link to https://extensions.gnome.org/extension/615/appindicator-support/ 2025-01-02 13:44:06 +00:00
sithlord48
df089dab53 fix: Wayland Prompt starts under MainWindow 2025-01-02 13:12:09 +00:00
sithlord48
86ee88d17d feat: Show the TLS Enabled label no matter the selected mode 2025-01-02 13:02:51 +00:00
sithlord48
4f9494245f fix: The Tls Fingerprint label not being shown on start up 2025-01-02 13:02:51 +00:00
sithlord48
2294981525 fix: Unify both Quit actions to use the same function
Mac os tray quit not working
2024-12-30 11:07:34 +00:00
sithlord48
13b58f2f7a fix: 8017, move wayland error to debug context 2024-12-28 20:46:51 +00:00
sithlord48
2455e0e29f refactor: Copy the full version string on the about dialog 2024-12-28 20:36:35 +00:00
Nick Bolton
ee8baeb1ff fix: qDebug doesn't work on Fedora 2024-12-26 16:48:39 +00:00
sithlord48
81d478632a fix: 8012 use 2/3 height on mac os for the log indicator 2024-12-26 16:32:11 +00:00
sithlord48
8e9925d6c8 fix: Mac os missing Quit from tray menu 2024-12-26 16:32:11 +00:00
sithlord48
368ccbbe4c fix: show normal mac os 2024-12-26 16:32:11 +00:00
sithlord48
a401c98bf6 build: fix mac os missing ; 2024-12-26 15:24:02 +00:00
sithlord48
97890f86d3 chore: use static QApplication members where possible 2024-12-26 15:01:59 +00:00
sithlord48
638970d65e feat: Visiblity toggle for the log on the main window 2024-12-26 14:45:52 +00:00
sithlord48
ccc60ff900 refactor: mv deskflow[s|c|d] to deskflow-server, deskflow-client and deskflow-deamon 2024-12-26 13:37:29 +00:00
sithlord48
db441eb5cf fix: win32 client taskbar remove duplicate state 2024-12-26 13:37:29 +00:00
sithlord48
21b345e9db fix: Create new Tray Icons for windows 2024-12-26 13:37:29 +00:00
sithlord48
9af37463fd refactor: single copy of app ico files for window now in src/apps/res 2024-12-26 13:37:29 +00:00
sithlord48
225ca23482 refactor: move all apps to one src/apps folder 2024-12-26 13:37:29 +00:00
sithlord48
9811586718 fixes: #7940 Use std::string insert to in place of arg sub for std::string static 2024-12-26 13:06:21 +00:00
sithlord48
858c41c946 fix: #7942, Correctly substitute config name part
fixes https://github.com/deskflow/deskflow/issues/7942
2024-12-26 12:28:19 +00:00
Vamshi Maskuri
ab44559df6 fix(CVE-2021-42076): Enforce maximum message length to prevent memory exhaustion
based on barrier: debauchee/barrier@7ab8e01, debauchee/barrier@cc36982,
debauchee/barrier@e33c81b, debauchee/barrier@af90f39, debauchee/barrier@fd5295e
2024-12-26 10:45:21 +00:00
Vamshi Maskuri
626e8c7364 fix(CVE-2021-42074): Handle SSL race conditions and segmentation fault
based on barrier: debauchee/barrier@8b937a4
2024-12-26 10:24:22 +00:00
sithlord48
cd0e98a480 build: remove post_config macros 2024-12-22 09:52:50 -05:00
sithlord48
aff3495e74 refactor: MainWindow clearer menu creation, remove private menu items 2024-12-22 12:39:59 +00:00
sithlord48
1ff7d5f4aa refactor: MainWindow remove need created / onCreated methods 2024-12-22 12:39:59 +00:00
sithlord48
784b2b2f6f fix: MainWindow, Use tr for use facing strings 2024-12-22 12:39:59 +00:00
sithlord48
927c8c146e refactor: MainWindow, use qDebug and friends correctly 2024-12-22 12:39:59 +00:00
sithlord48
94006f0bcd refactor: MainWindow, do not use autoconnections for the client / server radio butons 2024-12-22 12:39:59 +00:00
sithlord48
19c227b937 refactor: MainWindow, Do not use autoconnection for tls label 2024-12-22 12:39:59 +00:00
sithlord48
be5025b225 refactor: MainWindow, Do not use auto connection for the computer name label 2024-12-22 12:39:59 +00:00
sithlord48
4ee7d7b20f refactor: MainWindow, Do not auto connect the configure sever button 2024-12-22 12:39:59 +00:00
sithlord48
5032a5d275 refactor: MainWindow, no more auto connection for the host and client ip lines 2024-12-22 12:39:59 +00:00
sithlord48
d0dadf2112 refactor: MainWindow, better handle the toggleCore and ApplySettings buttons 2024-12-22 12:39:59 +00:00
sithlord48
2211caecb8 refactor: MainWindow, m_PButtonToggleStart -> btnToggleCore 2024-12-22 12:39:59 +00:00
sithlord48
5aa4840972 refactor: MainWindow, Create Actions in code 2024-12-22 12:39:59 +00:00
Vamshi Maskuri
937ac053fe fix(CVE-2021-42075): Close connection on app-level handshake failure
based on barrier: debauchee/barrier@deefecc
2024-12-18 17:23:27 +00:00
sithlord48
751904f27c buid: add depends for deskflow core
fixes #7955
2024-12-18 12:10:53 -05:00
sithlord48
f06a789d25 build: wix generation for windows with cpack 2024-12-18 12:10:53 -05:00
sithlord48
b6d5095871 build: windows install step for deskflow gui 2024-12-18 12:10:53 -05:00
sithlord48
a06d65b1f9 build: windows, create install step for server 2024-12-18 12:10:53 -05:00
sithlord48
56ecd88945 build: windows, create install step for client 2024-12-18 12:10:53 -05:00
sithlord48
5a45e6d102 build: windows, create install step for daemon 2024-12-18 12:10:53 -05:00
sithlord48
e4ecbdae8a fix: macOS correctly restore window when hidden with command+H 2024-12-18 09:52:17 -05:00
sithlord48
bf4f513d7e chore: format *.m and *.mm files 2024-12-18 09:52:17 -05:00
sithlord48
af6dac9eee fix: Always show the tray menu entry for the restore action on macOS 2024-12-18 09:52:17 -05:00
sithlord48
ebad12a922 refactor: use QList for the tray's Action List 2024-12-18 09:52:17 -05:00
Pedro Navarro
8aec0dd5bb fix: UTF-16 surrogate handling.
The data pointer needs to move before decoding the second
surrogate, and not after. The first surrogate was begin decoded
again, resulting in an invalid codepoint.

This affected clipboard operations originating on Windows machines,
where the text is encoded in UTF-16 and copying characters from a
high plane (like emojis) was broken.
2024-12-18 08:28:47 -05:00
sithlord48
ddb443b550 fix: Mainwindow can not start off screen
Fixes #7451
2024-12-18 07:59:56 -05:00
sithlord48
0c26893706 fix: fixes #7949 Fixup groupboxes for settings dialog make settings dialog a fixed height 2024-12-17 09:29:09 -05:00
Pedro Navarro
53b9c0908e fix: Windows, avoid encoding empty data to the clipboard
Do not attempt to convert null data to clipboard format and exit
early
2024-12-17 14:19:24 +00:00
Pedro Navarro
252d11a316 feat: Windows, Use a clipboard format listener to monitor the clipboard
On Windows monitor the clipboard using a Clipboard format listener instead
of the legacy clipboard viewer chain, which was unreliable as it required
other programs to maintain the clipboard chain properly and couldn't
recover it any window in the clipboard viewer chain stopped responding
to messages.

Monitor the clipboard sequence number to not process the clipboard more
than once.
2024-12-17 14:19:24 +00:00
sithlord48
5026eea60a Fix: Use tray icon to hide and show from tray correctly
Remove show / hide from the tray menu
 Remove always disabled "show" action from window menu
2024-12-16 17:17:19 +00:00
sithlord48
6b7291f4b1 chore: src/lib/server/Config remove redundant c_str call 2024-12-04 10:40:58 -05:00
sithlord48
991293dd0c chore: src/gui/Action use default constructor 2024-12-04 10:40:58 -05:00
sithlord48
2349ce7f52 chore: replace simple cases of typedef with using 2024-12-04 10:40:58 -05:00
sithlord48
1d43e7c626 chore: src/gui/Action initilize items in class when possible 2024-12-04 10:40:58 -05:00
sithlord48
48e357f111 chore: IArchTrayBarReceiver subclass should override virtual methods not mark them virtual 2024-12-04 10:40:58 -05:00
sithlord48
d225be501e chore: IArchTaskBarReeiver subclasses should return nullptr for empty icon not NULL 2024-12-04 10:40:58 -05:00
sithlord48
37acc3b2fc chore: IArchTaskBarReciver subclasses Icon pointer should not be a const 2024-12-04 10:40:58 -05:00
sithlord48
6498fe5a6b refactor: use Qt Required Version rm configure_qt macro for its one use 2024-12-04 10:05:34 -05:00
sithlord48
4e23460c6f refactor: no configure_openssl macro 2024-12-04 10:05:34 -05:00
sithlord48
922ad66aff refactor: options in place
remove use of env vars to set build options
 users should set these at cmake configure time
2024-12-04 10:05:34 -05:00
sithlord48
81631cac32 refactor: set test names directly and call only configure_options in main cmakelists.txt 2024-12-04 10:05:34 -05:00
sithlord48
d6c682a923 chore: rm unused src/lib/gui/gui_config.h 2024-12-04 10:05:34 -05:00
sithlord48
4f8ae57ffd build: always include headers 2024-12-04 10:05:34 -05:00
sithlord48
03f1408a98 refactor: mv src/lib/gui/VersionChecker => src/gui/src/ 2024-12-04 10:05:34 -05:00
sithlord48
7f9fd80f98 refactor: remove workarounds for unsupported ms vc versions 2024-12-04 10:05:34 -05:00
sithlord48
c5cfdc2b69 refactor: AboutDialog, show the version tweak only if its not 0, when showing the tweak also show the sha 2024-12-04 10:05:34 -05:00
sithlord48
c05a87b716 refactor: rm src/lib/common/copyright, add to src/lib/common/constants 2024-12-04 10:05:34 -05:00
sithlord48
4a83eb711f build: generate version info, use it for all sources of version 2024-12-04 10:05:34 -05:00
sithlord48
f321f6596b build: make an interface lib out of the common folder 2024-12-04 10:05:34 -05:00
sithlord48
18bc419b7a build: remove unused DESKFLOW_REVISION and DESKFLOW_VERSION_STAGE defines 2024-12-04 10:05:34 -05:00
sithlord48
59d9454df1 build: install License files 2024-11-25 20:50:58 +00:00
sithlord48
2cdbd8f491 build: use CPack for macOS to create dmg 2024-11-21 14:27:01 +00:00
sithlord48
a63435e64a build: use cmake to make the macOS bundle 2024-11-21 14:27:01 +00:00
sithlord48
147869e3a5 build: remove DESKFLOW_SHOW_DEV_THANKS define 2024-11-15 12:20:17 +00:00
sithlord48
25dd0ddfbc build: rm DAEMON_BINARY_NAME 2024-11-15 12:20:17 +00:00
sithlord48
45a61310a4 build: rm CORE_BINARY_NAME define 2024-11-15 12:20:17 +00:00
sithlord48
2213f3f746 build:rm CLIENT_BINARY_NAME define 2024-11-15 12:20:17 +00:00
sithlord48
e52ce58541 build: rm SERVER_BINARY_NAME define 2024-11-15 12:20:17 +00:00
sithlord48
078ec61e9a build: rm GUI_BINARY_NAME define 2024-11-15 12:20:17 +00:00
sithlord48
366932a188 build: rm DESKFLOW_HELP_TEXT define 2024-11-15 12:20:17 +00:00
sithlord48
bdcf770de6 build: rm DESKFLOW_VERSION_URL define 2024-11-15 12:20:17 +00:00
sithlord48
e865397f12 build: rm DESKFLOW_WEBSITE_URL define 2024-11-15 12:20:17 +00:00
sithlord48
b5d0417714 build: rm DESKFLOW_AUTHOR_NAME define 2024-11-15 12:20:17 +00:00
sithlord48
403830ceea build: rm DESKFLOW_APP_NAME define
Unify Server APP USER_CONFIG_NAME and SYSTEM_CONFIG_NAME
 Some unix users may need to move their config to deskflow.conf from .deskflow.conf
2024-11-15 12:20:17 +00:00
sithlord48
9b59acdf26 build: rm DESKFLOW_DOMAIN define 2024-11-15 12:20:17 +00:00
sithlord48
46a6f74fb7 build: rm DESKFLOW_APP_ID define 2024-11-15 12:20:17 +00:00
sithlord48
937813cb2e fix: MainWindow not saving initial update flag 2024-11-14 08:19:13 -05:00
sithlord48
7bf474a54a feat: SettingsDialog, Allow user to toggle the check for updates settings
fixes: #7890
2024-11-14 08:19:13 -05:00
sithlord48
2990de322f fix: SettingsDialog ui generating nonsence alignment tags when edited 2024-11-14 08:19:13 -05:00
sithlord48
5ddc7f8b0c refactor: mv res/dist/linux/app.desktop.in => deploy/org.deskflow.deskflow.desktop 2024-11-12 14:00:59 +00:00
sithlord48
e6fbf983e9 chore: alphabetize app.qrc resource file 2024-11-12 14:00:59 +00:00
sithlord48
a0666f0167 refactor mv: res/gui => src/gui/res 2024-11-12 14:00:59 +00:00
sithlord48
aba9c08352 refactor: use theme icon for document open fallback to the folder icon 2024-11-12 14:00:59 +00:00
sithlord48
4359075b06 feat: use platform native styles when possible
With Qt 6.7+ Light and Dark theme support is now provided by the mac os default theme
2024-11-12 14:00:59 +00:00
sithlord48
77c4707ec5 refactor: mv src/lib/gui/TrayIcon => src/gui/src/TrayIcon 2024-11-12 14:00:59 +00:00
sithlord48
18e66271ae refactor: mv res/app.ico src/gui/src/app.ico 2024-11-12 14:00:59 +00:00
sithlord48
031c393e0d refactor: mv res/gui/win/app.rc => src/gui/src/app.rc 2024-11-12 14:00:59 +00:00
sithlord48
9929b09088
refactor: mv src/gui/src/ScreenSetupView => src/gui/src/widgets/ScreenSetupView 2024-11-08 07:05:58 -05:00
sithlord48
226c835ee9
refactor: mv src/gui/src/KeySequenceWidget => src/gui/src/widgets/KeySwquenceWidget 2024-11-08 07:05:58 -05:00
sithlord48
fbda5b4053
refactor: mv src/gui/src/TrashScreenWidget => src/gui/src/widgets/TrashScreenWidget 2024-11-08 07:05:57 -05:00
sithlord48
f31cb26e0b
refactor: mv src/lib/gui/widgets => src/gui/src/widgets 2024-11-08 07:05:57 -05:00
sithlord48
1bbc581037
refactor: mv src/gui/src/ServerConfigDialog => src/gui/src/dialogs/ServerConfigDialog 2024-11-08 07:05:57 -05:00
sithlord48
ce45d74806
refactor: mv src/gui/src/ScreenSettingsDialog => src/gui/src/dialogs/ScreenSettingsDialog 2024-11-08 07:05:57 -05:00
sithlord48
916f1e6144
refactor: mv src/gui/src/HotkeyDialog => src/gui/src/dialogs/HotkeyDialog 2024-11-08 07:05:57 -05:00
sithlord48
4f4261a237
refactor: mv src/gui/src/AddClientDialog => src/gui/src/dialog/AddClientDialog 2024-11-08 07:05:57 -05:00
sithlord48
e06741e62e
refactor: mv src/gui/src/ActionDialog => src/gui/src/dialogs/ActionDialog 2024-11-08 07:05:57 -05:00
sithlord48
585a895b4a
refactor: Settings Dialog rm ui as base class 2024-11-08 07:05:56 -05:00
sithlord48
dc5c2b9422
refactor: mv src/lib/gui/dialogs/SettingsDialog => src/gui/src/dialogs/SettingsDialpg 2024-11-08 07:05:54 -05:00
Nick Bolton
8273c0e70b chore: Replace screen leave/enter asserts with warnings 2024-11-06 20:55:59 -05:00
sithlord48
155e4d6b32 refactor: ui less aboutDialog 2024-11-06 14:50:39 +00:00
sithlord48
f87b4bc0c2 refactor: mv AboutDialog to gui/src/dialogs/ 2024-11-06 14:50:39 +00:00
sithlord48
f66a0219f6 fix: isDarkMode Check
while newer Qt does provide a method to check if dark mode
  Its not always correct the old method is
  Anytime the text is lighter then the window its dark mode.
2024-11-06 14:50:39 +00:00
sithlord48
45f328cd80 fix: crash on --help arg 2024-11-05 13:26:00 -05:00
sithlord48
fb686ede21 refactor: remove desktop legacy 2024-10-30 20:04:55 +00:00
sithlord48
ce784ab383 refactor: CoreTool use arch classes directly 2024-10-30 20:04:55 +00:00
sithlord48
946a2b778e refactor: rm unused coreTool include in tlscert.h 2024-10-30 20:04:55 +00:00
sithlord48
45bde73810 chore: settingsDialog rm unused CoreTool include 2024-10-30 17:41:17 +00:00
sithlord48
968037b85b build(cmd/deskflow-core):Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
08d3347740 build(cmd/deskflow-legacy): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
ad6551262c build(cmd/deskflows): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
337d236f54 build(cmd/deskflowd): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
04d6895990 build(cmd/deskflowc): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
1b13c843aa build(lib/server): Explict Sources 2024-10-24 15:11:03 -04:00
sithlord48
9e2880f714 build(lib/platform): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
e8010eea60 build(lib/net): Explicit sources 2024-10-24 15:11:03 -04:00
sithlord48
75c0b53113 build(lib/mt): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
bf96a641bf build(lib/ipc): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
7db781b9bf build(lib/io): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
8bfe0c18bc build(lib/app): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
10f7b05a73 build(lib/client): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
ba97d63403 build(lib/base): Explicit Sources 2024-10-24 15:11:03 -04:00
sithlord48
da4b85b3fb build(lib/arch): Explicit Sources 2024-10-24 15:11:03 -04:00
Nick Bolton
5657152c58 chore(gui): Add _what's this_ for Windows service setting 2024-10-24 14:29:13 +01:00
sithlord48
7b7ff81a9f build: Require libei and libportal from the system on linux
Removing remaining meson parts
2024-10-22 09:42:32 -04:00
sithlord48
df91d845f7 build(win32): Link wintoast correctly 2024-10-22 10:53:51 +01:00
sithlord48
f3657edc80 refactor: use Q_EMIT 2024-10-21 14:30:02 +01:00
sithlord48
2a8a43a689 refactor: remove unused strings 2024-10-21 14:30:02 +01:00
sithlord48
498e3aa015 refactor: use static regularexpressions and matches 2024-10-21 14:30:02 +01:00
sithlord48
58323f515f refactor: use multi arg were possible 2024-10-21 14:30:02 +01:00
sithlord48
560345cf4f refactor: add context object for lambdas 2024-10-21 14:30:02 +01:00
sithlord48
90d27a174d refactor: do not include full modules in qt files 2024-10-21 14:30:02 +01:00
sithlord48
8b54b84880 refactor: use const for ranged loops 2024-10-21 14:30:02 +01:00
sithlord48
45050d3d36 refactor: use modern range for loops in place of old foreach macro 2024-10-21 14:30:02 +01:00
sithlord48
f0a946a0f1 refactor(SettingsWizard): Ui Less 2024-10-20 21:55:44 +01:00
sithlord48
db6b6b9386 refactor(SetupWizard): Foward declare appconfig 2024-10-20 21:55:44 +01:00
sithlord48
b10eb3baa8 refactor(SetupWizard): Do not use auto connect name for slot 2024-10-20 21:55:44 +01:00
sithlord48
7c74b90620 fix scan alert #559 2024-10-19 19:49:21 -04:00
sithlord48
949e1c0d71 build: Use Fetch Content for Gtest
Use Fetch Content to get gtest and gmock
2024-10-19 19:17:19 -04:00
Nick Bolton
a786cdf972 chore: Set default server protocol to "Barrier" (determined by community vote)
Vote: https://github.com/deskflow/deskflow/discussions/7742
2024-10-19 23:46:42 +01:00
Nick Bolton
a5cd0fab9e feat: Option to change server protocol in GUI 2024-10-19 23:46:42 +01:00
Nick Bolton
512faeea28 test: Modularize hello back logic and add tests 2024-10-19 23:46:42 +01:00
sithlord48
47366f1272 feat: Dynamic client Barrier/Synergy hello back response to server 2024-10-19 23:46:42 +01:00
sithlord48
199f682e27 refactor: setupwizard ui is not longer the base of the class 2024-10-19 23:18:26 +01:00
sithlord48
afff2eb6ac refactor: serverconfigdialog ui is no longer base for the class 2024-10-19 23:18:26 +01:00
sithlord48
9167bf04f6 refactor: hotkeydialog ui no longer base of the class 2024-10-19 23:18:26 +01:00
sithlord48
0298a132c1 refactor: addclientdialog ui no longer base for the class 2024-10-19 23:18:26 +01:00
sithlord48
7b3d8c3dc3 refactor: actiondialog to not have ui as base of the class 2024-10-19 23:18:26 +01:00
sithlord48
06aa41e8f5 refactor: mainwindow ui not the base of the class 2024-10-19 23:18:26 +01:00
sithlord48
bf4a762124 build: use vcpkg for all depends, vcpkg action on ci to cache 2024-10-19 03:07:13 -04:00
sithlord48
3d2883ad02 fix: remove server config dialog custom show event
Fixes Crash with Qt 6.8
2024-10-18 18:19:16 -04:00
Nick Bolton
a32463586c ci: Catch std::exception on toml::parse_file 2024-10-18 21:01:39 +01:00
sithlord48
9c9feba565 build: use File to dl toml++ if not on system 2024-10-18 15:02:34 -04:00
sithlord48
710c1dd353 build: get CLI11 via file download if not on system 2024-10-18 13:34:10 -04:00
sithlord48
9b9ecb0d05 chore: Adjust Clang-format linter rules
120 Column Lines
 Block Indent for Bracket Align
 Custom Line Break Rules
 No Single Line Functions
2024-10-17 21:38:29 +01:00
sithlord48
3f2bb2531a fix: Let users select version number and build in About Dialog
Fixes: #7722
2024-10-17 19:51:00 +01:00
Nick Bolton
219958898e chore: Replace assert with warning for screen boundary issue 2024-10-17 11:17:05 +01:00
Nick Bolton
1dc449fe0a fix: Use OPENSSL_EXE_DIR instead of OPENSSL_ROOT_DIR on Windows 2024-10-16 20:17:53 -04:00
Nick Bolton
9a5c1a3212 chore: Remove Wayland experimental pop 2024-10-16 14:00:10 +01:00
Nick Bolton
87b4e3b7fe fix: Check for errors before reading version string 2024-10-15 07:57:53 -04:00
sithlord48
f70528d082 build: Clean up warning for new QCheckBox signals With 6.7+ 2024-10-15 07:23:38 +01:00
Nick Bolton
636e3eab96 feat: Respect XDG_CONFIG_HOME in server/client 2024-10-14 17:43:30 +01:00
Nick Bolton
9c4f6e6d0b chore: Change TLS dir to same as Qt config 2024-10-14 17:43:30 +01:00
Kentaro Hayashi
24db09b023 fix: align --display explanation in help message
Broken "." position was fixed like this.

Before:

        --display <display>  when in X mode, connect to the X server
                               at <display>
  .      --no-xinitthreads    do not call XInitThreads()

After:

        --display <display>  when in X mode, connect to the X server
                               at <display>.
        --no-xinitthreads    do not call XInitThreads()

Signed-off-by: Kentaro Hayashi <kenhys@xdump.org>
2024-10-14 13:11:30 +01:00
Nick Bolton
c630ad0952 test: Coverage for AboutDialog.cpp 2024-10-13 19:52:09 +01:00
sithlord48
c03e3f56a7 chore: update mono tray icons 2024-10-13 13:54:15 -04:00
sithlord48
c66d7a6942 chore: Update tray icon 2024-10-13 13:54:15 -04:00
sithlord48
8340f106e7 chore: Update Padlock icon 2024-10-13 13:54:15 -04:00
sithlord48
4500e7a1aa build: use @only to configure config.h 2024-10-12 21:06:55 -04:00
sithlord48
78a8bba7a4 refactor: move res/config.h.in -> src/lib/config.h.in 2024-10-12 21:06:55 -04:00
Nicolas Fella
38631193b5 feat: Use native style on KDE Plasma
On Plasma it is preferred to use the default Breeze style instead of Fusion

Breeze also has dark mode support out of the box, so no need to work around that
2024-10-12 12:31:37 -04:00
Nicolas Fella
c959e641cb fix: Set correct QGuiApplication::desktopFileName
The implicity default doesn't match the actual name of the desktop file.

This fixes e.g. the application icon on Wayland
2024-10-12 12:08:16 -04:00
sithlord48
02c5418b9e build(cmake): Require SSL 1.1.1 or higher
Link using OpenSSL provided alises
  Remove Windows specifc check ssl macro for simpler check
2024-10-12 14:23:56 +01:00
sithlord48
eedb3ad1c3 chore: rm unused string_utils file 2024-10-11 17:10:50 +01:00
sithlord48
159f49c5ee chore: use modern connections 2024-10-11 16:56:46 +01:00
sithlord48
932ca44d75 build: use pragma once not ifndef def pattern for headers 2024-10-08 06:52:41 -04:00
Nick Bolton
049e34f7a5 chore: Remove word 'beta' from Wayland message 2024-10-02 09:17:57 -04:00
Nick Bolton
6bb1bcad8c chore!: Relocate commercial code downstream 2024-10-01 14:39:05 +01:00
Nick Bolton
2d732a4b9d fix: Use library config for Windows OpenSSL 2024-10-01 14:04:05 +01:00
James Spurin
1003e07854 feat: Update onMouseMoveSecondary to allow offset adjustments 2024-09-24 18:53:30 +01:00
Nick Bolton
b904cba040 feat: ask for permission before update check 2024-09-22 13:14:03 +01:00
Nick Bolton
4f0e8cb844 feat: change most domains to Deskflow 2024-09-22 13:11:25 +01:00
Nick Bolton
2671507f63 fix: various typos found by unit193 2024-09-22 07:11:42 -04:00
Nick Bolton
487894c36b feat: use new Deskflow graphics 2024-09-22 12:09:28 +01:00
Nick Bolton
5b27f0c90b build: set BUILD_DATE instead of using __DATE__ for reproducible build 2024-09-21 20:14:04 +01:00
pika
835dc4ec25 fix: gate leave() with canLeave(), allowing cleanup 2024-09-18 16:30:15 -04:00
Chris Rizzitello
660fb9daff
fix: protocol compatibility with Synergy (#7524)
* fix: protocol compatiblity wity synergy

* Apply clang format

* Update ChangeLog

---------

Co-authored-by: Nick Bolton <nick@symless.com>
2024-09-18 18:25:20 +01:00
Nick Bolton
0220a481f2
Fix broken CI caused by renaming project to Deskflow (#7522)
* Bump CI

* Use 2 core arm runner

* Update ChangeLog

* Fixed filename `deskflowc.exe.manifest`

* Remove  .vscode/settings.json file

* Restore test values to make tests work (test values should not contain app name)

* Fixed syntax error in Windows watchdog

* Add `sonar-project.properties` file

* Change default core count

* Add default package prefix

* Default product name in CMake

* Tweak ChangeLog
2024-09-18 10:56:29 -04:00
enzious
9dc6377bd9
fix: windows build typos (#7521) 2024-09-18 11:09:56 +01:00
Chris Rizzitello
ed1217e9cc
Use Deskflow Name (#7519)
* Use Deskflow Name

* Remove business-oriented options from issue templates

* Remove business-oriented workflow

* Bump version to 3.0.0 (to avoid confusion with previously used version numbers 1.x & 2.x)

* Update readme to reflect new project name and goals

* Found some more "synergy" to rename

* Rename `synlib` to `app`

* Rename `syntool` to `deskflow-legacy`

* Rename `synwinhk` to `dfwhook`

* Rename dirs from synergy to deskflow

* Rename more "Synergy" files

* Rename app bundle ID

* Fixed copyright typo

* Rename only title in serial key dialog (to be moved downstream later)

* Preserve original serial key window for moving downstream

* Restore dialogs ready for moving downstream

* Rename `QDeskflowApplication` to `DeskflowApplication` (the Q is confusing)

* Restore Volker's original project name

* Fixed mimetype

* Fixed weird grammar

* Fixed (more) weird grammar

* Broken link, restoring (but we should move all links out of source)

* Broken link, restoring (but we should move all links out of source)

* Add write permission to valgrind-analysis.yml

* Restore AUR conflicts

* Apply Clang format

* Update ChangeLog

* Back out version change

---------

Co-authored-by: Nick Bolton <nick@symless.com>
2024-09-17 20:00:25 +01:00
Nick Bolton
462c4c242c
Delete all .gcda files when integtests coverage fails (#7510)
* Delete all gcda files when integtests fail

* Update ChangeLog

* Test failure

* Move test dir creation to main

* Undo retry loop which didn't solve the issue

* Use `-fprofile-update=atomic` according to gcov bug 68080
2024-09-12 16:23:36 +01:00
Nick Bolton
74c0deed3f
Move some EI server log messages to higher log levels (#7497) 2024-09-09 13:33:57 +01:00
Nick Bolton
8beeaf4276
Add warnings for missing Wayland libs and features (#7492)
* Add warnings for libei and libportal

* Add warning about experimental Wayland support

* Update ChangeLog

* Move GUI res files to root res dir

* Fixed crazy qrc shenanigans

* Move Wayland warning logic, add tests, improve core retry

* Also install py modules with pip since meson can be in venv

* Throw error when no libei

* Add warnings when no libportal

* Allow failure then success to show related to Wayland (for switching modes)

* Fixed formatting

* Fixed includes

* Simplify warning message

* Add log hint

* Show warning when error already shown

* Only check for Wayland if X or libei

* Add error message when quitting dur to remote desktop error

* Improve consistency of portal log lines
2024-09-09 11:18:17 +01:00
Nick Bolton
735fb0e8c4
Add --config-toml arg for TOML config file (#7489)
* Add CLI11 lib

* Use newer arg parser for to add --config-toml arg

* Fix bug where coco doesn't run in elevated console

* Improve macro names

* Fixed incorrect macro name

* Improve coverage for TOML config load

* Allow legacy args and use toml config arg in launch.json

* Update ChangeLog

* Fail coverage workflow on integ test fail

* Remove line break
2024-09-06 21:03:19 +01:00
Nick Bolton
ad330d7fba
FreeBSD GitHub runner with vmactions/freebsd-vm@v1 (#7474)
* Add experimental BSD job to CI

* Remove container

* cd into ` synergy/synergy/`

* Change unix to bsd

* Use only run param and not prepare

* Install python3 on FreeBSD

* Add missing command to prepare param

* Add all the Unix-like BSD-derived

* Use latest python3 for NetBSD and DragonFly BSD

* Use env for cmd and correct prepare commands

* Add deps config for unix-like

* Install Python deps on Unix-like

* Return matching entry in `get_unix_like_os`

* Add cmake dep for cmakelang py module

* Back out Unix-like support in `install_deps.py` (Python is tricky on BSD)

* Back out BSD from config

* Create install_deps.sh script for BSD-derived

* Use .sh script instead of .py for BSD-derived

* Add other case and fixed syntax

* Use /usr/bin/env

* Use more available sh

* Restore debian command

* Fixed syntax error

* Remove prepare args

* Remove space

* Use which instead of command

* Add libX11 dep

* Add other BSD-derivatives

* Set CMAKE_REQUIRED_INCLUDES

* Fixed bad separator for CMAKE_REQUIRED_INCLUDES

* Add debug lines

* Set CMAKE_REQUIRED_LIBRARIES to lib names

* use CMAKE_REQUIRED_QUIET

* Set CMAKE_REQUIRED_FLAGS for BSD

* Message for BSD packaging

* Make PKG_CONFIG_FOUND optional

* Move debug to all OS

* Remove solaris for now, too many missing packages

* Add missing  override to XWindowsScreen.h

* Add PC_GLIB_INCLUDE_DIRS

* Fixed glib include

* Make libnotify optional

* Set CMAKE_LIBRARY_PATH

* Only run tests if toml++ available

* Also run integ tests

* Remove DragonFly (C++ version too old)

* Fixed NetBSD command

* Aww sucks. Well, I tried. Patches welcome

* Update ChangeLog

* Fixed README for OpenBSD, NetBSD, DragonFly BSD, Solaris

* Add missing case for SunOS

* Drop redundant virtual specifiers

* Print libs on FreeBSD

* Restore link_directories

* Beef up to ubuntu-24.04-16-core-x64, export QT_QPA_PLATFORM, improve comment

* Remove debug line

* Simplify debug text

* Restore ubuntu-latest

* Fixed really stupid typo

* Beef up with ubuntu-22.04-16-core-x64

* Revert "Beef up with ubuntu-22.04-16-core-x64"

This reverts commit 3de5773ef6c6eea99b93d3ee8448b0b95dc00dde.

* Add missing name

* Make .sh file primary deps file

* Tweaked deps instruction label
2024-09-06 10:03:34 +01:00
Nick Bolton
94d9baca2d
Use vcpkg to manage openssl dep instead of choco (#7471)
* Brighter red

* Move openssl to vcpkg.exe

* Revert "Move openssl to vcpkg.exe"

This reverts commit 36f39d916f3cc2c8ce779442bd964bd6af7edd69.

* Add missing copyright

* Fix copyright dates

* Remove openssl from choco

* Install openssl using vcpkg

* Add deps for vcpkg

* Add missing vcpkg manifest

* Revert "Add deps for vcpkg"

This reverts commit c266d29c2cec4474a181b89c2f759b62ed67db10.

* Make vcpkg Windows only

* Improve comment about vcpkg

* Remove unused var

* Add caching for vcpkg

* Reorg launch.json

* Remove static env var for openssl on Windows

* Add openssl dep to vcpkg

* Update ChangeLog

* Add OpenSSL include dir

* Remove pointless choco cache

* Remove vcpkg downloads

* Remove wixtoolset for CI already installed on GitHub runners

* Use `Remove-Item` instead of `rmdir`

* Move cmake and ninja out of choco

* Revert "Move cmake and ninja out of choco (winget not supported on GitHub runner)"

This reverts commit a65c02d275e58705b8cd86fac72629284191d737.

* Move cmake and ninja to winget and don't use choco on CI

* Remove winget action

* Use scoop on CI and winget locally

* Use `seanmiddleditch/gha-setup-ninja` for Ninja

* Improve comments

* Install Ninja before deps

* Use system vcpkg if installed

* Revert "Use system vcpkg if installed"

This reverts commit 4ddee1c66e8cace458c047285a70d2f98cf9d82c.

* Add comment about why we're using local vcpkg

* Fixed comment about VC++

* Improve config comments

* Delete dead code

* Improve comment about vcpkg/buildtrees
2024-09-04 16:52:37 +01:00
Nick Bolton
0eadaec2d8
Port EI fixes to use pipe2 instead of pipe and fcntl (#7470)
* Kill build to prevent multiple processes running in dev

* Port EI fixes to use `pipe2` instead of `pipe` and `fcntl`
2024-09-03 20:18:13 +01:00
Nick Bolton
b128863c67
Load server or client args from synergy-config.toml (#7467)
* Load args from .toml file

* Remove .toml files

* Handle _ arg as no key

* Remove dotenv-cpp

* Treat special last arg specially

* Improve restart warning

* Remove rogue include

* Move TOML config loader to new class

* Merge config files into one

* Add override to virtual functions

* Tidy up App decl and add missing overrides

* Add comments to organize function types

* Fixed: config.h doesn't work on Windows

* Move var position

* Improve includes in app classes

* Update ChangeLog

* Restore position of configure_file call

* Remove new entries in .in file
2024-09-02 23:48:57 +01:00
Nick Bolton
bcdf70a298
Make Meson-provided packages optional (#7459)
* Make Google Test optional

* Download googletest with brew

* Set gtest and gmock lib vars in Libraries.cmake

* Fixed cmake format

* Add googletest-devel for openSUSE

* Fixed missing Meson arg for Windows

* Add gmock-devel for openSUSE

* Fixed openSUSE package names

* Fixed openSUSE package names (correct OS)

* Add success message to disambiguate confusing messages

* Restore original gtest lib var for subproject

* Make WinToast optional

* Fixed formatting

* Fixed cmake format

* Only build WinToast sources if found
2024-09-02 09:28:27 +01:00
Nick Bolton
1ebfe2ac7d
Use EI screen when XDG_SESSION_TYPE is "wayland" (#7455)
* Use EI screen when XDG_SESSION_TYPE is wayland

* Log when using EI vs X

* Update ChangeLog
2024-08-30 22:35:20 +01:00
Nick Bolton
4d84097334
Change default value for dev thanks message (1.16) (#7453)
* Forward port: Change default value for dev thanks message

* Remove sneaky submodules

* Update ChangeLog
2024-08-30 21:14:02 +01:00
Nick Bolton
4e844bf307
Wayland support (port Red Hat libei and libportal impl) (#7449)
* Add libei and libportal

* Port libei and libportal code by Peter Hutterer and Olivier Fourdan

* Add Peter Hutterer and Olivier Fourdan to important devs list

* Improve error handling for libei and libportal builds

* Checkout libportal  tags/0.7.1

* Hack out the gi-docgen clone

* Remove new submodules in favor of using ExternalProject_Add

* Remove submodule dirs

* Use ExternalProject_Add instead of submodules

* Fixed namespace

* Hack to work around type libportal causing type conflicts

* Add log helper functions

* Use original log functions

* Switch to FetchContent, use libportal a1530a9 (unreleased) and use camelCase member names for consistency

* Restore a few events (much more work required)

* Add TODOs for supporting multiple lib versions

* Revert "Switch to FetchContent, use libportal a1530a9 (unreleased) and use camelCase member names for consistency"

This reverts commit 610cebb5b6a08282eee68f4424fcdbe9eaab4bf9.

* Simplify cmake config by removing builds for libei and libportal (will do this in `install_deps.py` instead)

* Remove submodules

* Remove .gitmodules

* Use meson to build subprojects

* Update copyright with Peter Hutterer's guidance

* Use meson for installing deps

* Fixed typo in tag name

* Remove submodules

* Remove old submodules

* Fixed libei name

* Defaults for pugixml and gtest depending on whether source exists in subprojects

* Ignore some subproject dirs

* Make deps OS-specific

* Move python deps to pyproject

* Only compile and install on Linux with Meson

* Revert "Move python deps to pyproject"

This reverts commit 92c8a287b8376a4d166058c85f1d6081f6fdb423.

* Add ninja to brewfile

* Add python3-attr

* Restore original coverage config

* Add ninja for meson

* Include meson in same try-except

* Fixed ninja dep name

* Move libs to correct oS

* Fixed include for wintoast

* Disable docs for libportal

* More options for libei and libportal

* Fixed option for libei

* Use ninja directly to install

* Revert "Use ninja directly to install"

This reverts commit c926d78ba483406a55acd10fb157c39e13f90b71.

* Meson install verbose

* Prints stdout/stderr

* Remove `from None`

* Remove submodules that somehow crept back in?!

* Prepend sudo if exists

* Add libei deps for all distros

* Fixed Fedora package name

* Add more deps for other distros

* Add more libs (including pugixml)

* Fix lib name

* Drop -u from pacman

* Add vala to rhel

* Make libportal optional

* Make portal link optional

* Remove example code

* Always use system pugixml

* Disable interactive apt through install_deps.py

* Revert "Disable interactive apt through install_deps.py"

This reverts commit 5bbc8fd689182447c79b81db16c961b98361a292.

* Set DEBIAN_FRONTEND in workflows

* Set DEBIAN_FRONTEND in CodeQL workflow

* Add gtest dep

* Add bundled libei dep

* Add libei dep to Arch

* Use `googletest` on openSUSE

* Add gmock dep

* Remove gtest dep from openSUSE

* Add libei on Fedora

* Bundle libei for older Linux distros

* Disable libei dep for RPM

* Also bundle symlink to .so

* Use ${CMAKE_INSTALL_LIBDIR}

* Rename libei to fix openSUSE

* List installed files

* Add libei-devel to openSUSE

* Add googletest-devel to openSUSE

* Remove manual deps (probably resolved automatically)

* Remove googletest from openSUSE (doesn't provide google mock)

* Only add Portal* if libportal found

* WIP - Partial work on using old events system :'(

* Add deps install commands for subprojects

* Solved more compile issues related to events system, threads, etc

* Fixed bad config for adding x, ei, portal sources

* Remove redundant deps

* Remove (another) redundant dep

* Fixed pacman command

* Add Ubuntu and Linux Mint libei deps

* Fixed Ubuntu and Linux Mint libei deps aliases

* Only iterate subprojects if not None

* Add rhel, rocky, and alma for libei

* Make rhel-like deps same as fedora again

* Build libportal on rhel-like

* Re-enable meson rhel-like for libportal

* Remove dbus-python

* Make libportal optional (for rhel-like)

* Handle ei event queue results

* Re-introduce libportal

* Print libei and libportal versions

* Add ei/portal args and client screen

* Switch --use args to --no

* Don't build libei/libportal on older distros as it's pointless

* Make libei and libportal optional

* Add Debian 13 runner

* Make some packages optional

* Remove subprojects

* Improve comment

* Add comment for libportal

* Improve comment

* Add Debian 13 runner

* Make optional... optional

* Change continuation stripper to remove newline and continuation char

* Make command strip more uniform

* Fixed help var syntax

* Fixed libei linking

* Ensure `kHelpNoWayland` is always defined

* Improve help message

* Fixed Debian 13 runner name

* Include sstream and use const var

* Update ChangeLog

* Remove Wayland block

* Return new timer

* Make tray icon logging verbose

* Fixed arg parser for wayland args

* Fixed init of EI screen

* Fixed lint issues

* Update README to indicate Wayland support in GNOME 46

* Add missing word

* Fixed comment positions

* Automate CI env

* Tone down debug log messages

* Add missing comma

* Remove redundant log line
2024-08-30 15:53:25 +01:00
Nick Bolton
3293deff39
Improve error handling and use long long for dates (#7442)
* Improve error handling

* Remove unused includes

* Use long long for unix date

* Update ChangeLog

* Fixed include

* Clang format
2024-08-14 00:13:17 +01:00
Nick Bolton
28cefff13b
Share file line logic between logger and message box (#7441)
* Share file line logic between logger and message box

* Update ChangeLog
2024-08-13 22:39:09 +01:00
Nick Bolton
7bb1bb2611
Fixed light logo filename on about screen (#7440)
* Fixed light logo filename

* Update ChangeLog
2024-08-13 22:27:17 +01:00
Nick Bolton
da02fca602
Compare result of clickedButton instead of exec (#7438)
* Compare result of `clickedButton` instead of `exec` to workaround Qt 6.5 bug

* Update ChangeLog

* Fixed typo

* Add missing backticks

* Init as nullptr
2024-08-13 11:29:59 +01:00
Nick Bolton
9464aa46b8
Show message box explaining why settings are read-only (#7437)
* Swap assert for warning log lines

* Flush on IPC write

* Flush on cleanup instead of write

* Record core started setting

* Show server first start message

* Show message when active scope is read-only

* Show read only message on change

* Show read only on window show

* Try to improve main window size policy

* Revert addition of resizer

* Remove redundant file path fiddling

* Remove dead code and fixed missing const

* Print path and use queued connection

* Improve read-only message on Windows

* Only show toggle warning when dialog visible

* Update ChangeLog

* Fixed include
2024-08-12 16:39:18 +01:00
Nick Bolton
30ea95fb3d
Introduced new env vars for testing (#7436)
* New env vars for testing

* Update ChangeLog
2024-08-11 22:34:48 +01:00
Nick Bolton
3e4cb4a1c7
Add reset settings menu action and env var (#7435)
* Add reset settings menu action and env var

* Delete profile and config dirs, reduce duplication with TLS dir and various other paths, fixed bug in new client dialog, move TLS arg to server

* Better filename

* Make method const

* Update ChangeLog

* Remove include

* Make param const

* Stop core process on reset

* Fixed: reset menu action causes config to be pulled from app/server config

* Center main window in middle of screen
2024-08-11 00:58:24 +01:00
Nick Bolton
c4510bf093
Show dark logo in dark mode and improve .env loader (#7434)
* Update fingerprint on load

* Update TLS controls enabled

* Use official Qt way to detect dark mode and clean up dead code

* Add missing includes

* Simplify dark mode code

* Check app config dir for .env

* Use app config dir for .env

* Don't check for existence of file

* Resolve orgDir

* Add missing example env

* Fixed example

* Update ChangeLog
2024-08-10 01:48:27 +01:00
Nick Bolton
064bc957c1
Only show close to tray reminder when not quitting the app (#7432)
* Improve trusted fingerprint message

* Fixed typo

* Improve grammar

* Simplify logging output

* Only show close reminder if not quitting

* Migrate old settings on macOS

* Raise main window when showing

* Raise critical error above main window

* Coverage for config scopes

* Fixed new client prompt

* Remove unused includes

* Further coverage for config scopes

* Update ChangeLog
2024-08-09 19:20:10 +01:00
Nick Bolton
321418fcf8
Improve handling of Qt-related warnings and errors (#7431)
* Load .env from app dir

* Use `OutputDebugStringA` on Windows

* Improved string manipulation in logger and better use of OutputDebugStringA

* Use noquote for path

* Apply TLS setting after activation

* Restart after activation

* Move skip debug message to correct place

* Only print settings path on create, not shown

* Merge common and global libs

* Reduce code duplication around constants, version, etc

* Simplify sprintf code

* Use snprintf

* Add error test menu

* Coverage for dotenv

* Coverage for Logger

* Add missing include

* Add init when no Git SHA

* Update ChangeLog

* Add spellings

* Set debugging on for release build

* Remove unused variable

* Remove bad comment

* Fixed copyright date

* Remove import

* Move URL const back to GUI

* Remove dead code and duplication

* Fixed/ignored lint warnings
2024-08-09 14:03:48 +01:00
Nick Bolton
ef186d398d
Improve setting enable logic and test coverage (#7430)
* Rename controls and improve setting enable logic

* Move settings dialog to new lib

* Rename dialog to dialogs

* Include .ui files for GUI lib and include autogen headers in exe

* Unit test settings dialog

* Fix lint errors

* Update ChangeLog

* Fixed test name

* Add debug messages

* Tweak message

* Logging for CI issue

* Revert "Logging for CI issue"

This reverts commit 124b2c1acd778f1e422057e203436582fe12d147.

* Revert "Add debug messages"

This reverts commit 39b6a06c716965e0a8199bf34b6652861874cb28.

* Add Windows compiler error

* Exclude test on Windows
2024-08-09 09:08:29 +01:00
Nick Bolton
a686f19ca2
Parse date numbers as long instead of int (#7429)
* Fixed menus

* Parse string to long for date

* Change time limited logic

* Restore time limit logic

* Remove qglobal.h includes

* Remove warning

* Fixed tests to work with 0 value

* Update ChangeLog
2024-08-08 21:54:32 +01:00
Nick Bolton
de21030892
Refactor settings dialog to simplify enable/disable logic (#7428)
* Move screen config files to new GUI lib

* Fixed bugs in config dialog related to service checkbox

* Test status tip

* Revert "Test status tip"

This reverts commit d11ad5bc22dab7edcf7ef0b3baada2fce240398a.

* Explain why service disabled

* Corrected client error message (written by non-native English writer) to make the message easier to understand for native English speakers

* Clearer logic

* Improve readability

* Coverage for 'add client' and client error messages

* Coverage for `Screen` class

* Clarify test names

* Use `const QString &` for backward compatibility

* Fixed lint warnings

* Prevent return paths after qFatal

* Use auto and abort to solve lint warnings

* Remove unused fake error

* Make operator hidden friend

* Remove redundant access specifier

* Convert int explicitly

* Swap && logic for linter

* Update ChangeLog
2024-08-08 18:41:59 +01:00
Nick Bolton
6b1e7e6f1c Revert "Move screen config files to new GUI lib"
This reverts commit 74e3684027.
2024-08-08 11:39:48 +01:00
Nick Bolton
45e366c274 Revert "Fixed bugs in config dialog related to service checkbox"
This reverts commit daaaf9b4ee.
2024-08-08 11:39:43 +01:00
Nick Bolton
daaaf9b4ee Fixed bugs in config dialog related to service checkbox 2024-08-08 11:38:34 +01:00
Nick Bolton
74e3684027 Move screen config files to new GUI lib 2024-08-08 11:37:42 +01:00
Nick Bolton
228ead39fb
More reliable button click detection for add client dialog (#7427)
* Use more reliable method to detect button clicks on add client dialog

* Use pointer to const

* Remove redundant tr

* Update ChangeLog
2024-08-07 18:40:31 +01:00
Nick Bolton
f1f7266a81
Fixed warnings and enable errors as warnings (#7426)
* Fixed warnings on WIndows and enable errors as warnings

* Fixed string array pointer hack

* Ignore warnings in macOS .mm files

* Add missing overrides

* Clang format

* Update ChangeLog

* Safer string manipulation

* Coverage for change year code

* Oops, bad override

* Fixed horrible Windows
2024-08-07 18:11:29 +01:00
Nick Bolton
7984535d38
Refactored core process management and IPC client (#7425)
* Also ignore `command_pre` for Fedora itself

* Improve warning message

* Fixed layout issues on main window

* Restore fusion theme for Windows dark mode

* Further correct main window layout

* Set CWD for launch on Windows to same dir as .env

* Use signals for tray icon instead of callback

* Reduce complexity for setting tray icon

* Further reduce tray icon complexity

* Reduce tray retry time

* Fixed tray not showing on macOS

* Refactor function names

* Move tray icon to lib

* Decouple server connection class

* Move server connection to lib

* Move client config to lib

* Remove redundant forward declarations

* Fixed some namespaces in the new lib

* Move core process code to new class

* Improve member names on new process class

* Remove copy/pasta code

* Move OSX helpers to lib

* Add .mm to lib config

* Fixed copyright

* Improve reliability of log line handling

* Fixed TLS certificate generate bugs

* Remove client list

* Refactor core process handling to fix various problems

* Fixed process/connection status bugs

* Fixed function signature issue on macOS

* Fixed override warnings

* Fixed string format warning

* Save `wasStarted` state and use that instead

* Use only filename in dialog

* Use lambda for simple slot

* Scroll to bottom if at bottome

* Set value based on position before text added and set horizontal scroll too

* Add 1px tollerance for Linux

* Simplify start/stop mutex

* Always stop service on restart

* Increase scroll bottom threshold to 2

* Log warning instead of critical

* Fixed long-standing dir CD-up hack

* Remove include

* Remove include

* Fixed rogue dumbisense includes

* Account for optional distro_like

* Add QAction include to solve incomplete type

* Remove rogue #pragma

* Static cast log value

* Solve event queue delete warning

* Fixed integ test on Windows 10

* Reduce enum verbosity

* Use static instance instead of global

* Make function const

* Use unique_ptr instead of new and delete, and made some functions const

* Fixed smart pointer use

* Fixed variable shadowing

* Fixed wrong use of using

* Fixed missing namespace using

* Simplify TLS error handling

* Improve UX around certificate errors and success

* Decouple app config from core process through interface

* First iteration of core process test

* Mark dtor as override

* Rename attach launch entry

* Add TODO

* Create proxy for process

* Move IPC client to deps

* Fixed warnings

* Reorganize new GUI lib dir structure

* Update includes to reflect new paths

* Reorg GUI tests

* Abstract IPC client

* Refactor about screen

* Fixed .ui warnings

* Remove redundant include

* Fixed typo

* Fixed typos and add spelling

* Fixed misleading function name

* Improve comment

* Improve code coverage for core process

* Remove noisy log line

* Make global const

* Use default dtor

* Use vector instead of new

* Make ctor explicit

* Make ctor explicit (2)

* Use enum class

* Fixed bad enum

* Stub out core tool

* Stub out dir operation

* Extract byte functions

* Add missing return path

* Simplify byte/int functions

* Fix truncation

* Use ctor member assignment

* Fixed segfault in process proxy

* Fixed print warning

* Make function const

* Cleanup header

* Fixed missing name

* Update ChangeLog

* Make more functions const
2024-08-07 15:05:18 +01:00
Nick Bolton
157fe818d8
Refactor local/global save/load and show dev thanks message (#7423)
* WIP: Show dev thanks message

* Improve error messages and guard license code

* Print core command

* Allow license tests when licensing disabled by default

* Don't check invalid serial key

* Fixed typo

* Add error checking

* Use shared ptr instead of static deps

* Actually save and load the setting

* Add dev thanks vars to CI

* Show thanks message after connected

* Refactor hack-job of local/global save/load to remove coupling and use Qt events system

* Simplify config loading

* Overloads for optionals

* Fixed global config scope not loaded

* Save message state before showing to avoid multiple messages

* Update ChangeLog

* Fixed lint warnings

* Make function const

* Reduce verbosity

* Remove dead code, show version on start, tidy up lint warnings

* Make product name code safer

* Connect on enter press

* Only show server specific wording when on server

* Add emit commands

* Log info and error

* Remove deaad code

* Remove test member

* Disable start context menu action unless usable

* Show more relvant connect message

* Fixed close to tray not applied, and simplified restart core logic

* Remove redundant include
2024-08-03 01:17:29 +01:00
Nick Bolton
e0c08852bf
Handle empty value for computer name setting (#7422)
* Handle empty value for computer name setting

* Remove stray include

* Move load screen name to scoped settings

* Update ChangeLog
2024-08-02 10:54:02 +01:00
Nick Bolton
9eeb1cb7ee
Introduce 'Advanced' tab to Preferences window (#7419)
* Add QML and QtQuick deps

* Keep only Qt declarative

* Fixed delcarative package name

* Use `qt6-qtdeclarative` on OpenSUSE

* Fixed warnings

* Introduce tabs for settings and make some settings easier to understand

* Further reorganization of settings UI

* Revert config.yml

* Show Qt version in config

* Remove custom font

* Improve wording of elevate privs

* Fixed window sizes and default tabs

* Save main window size and position

* Fixed slot warning

* Fixed hacky use of validators

* Make activation cancel more intuitive

* Save window state in dtor and add try-catch to prevent exceptions propagating

* Fixed consistency of fatal messages

* Improve color conssitency and add tooltip

* Clean up styles and weird layout

* Move config files to new gui lib

* Core interface integ tests

* Rename `Config` to `ConfigScopes`

* Add 'Schoeneman' to cspell

* Fixed incorrect `Config` (should be `ConfigScopes`)

* Fixed typo

* Missed a spot

* Delete accidentally re-added file

* Fixed formatting

* Add short opt

* Coverage for `AppConfig`

* Update ChangeLog

* Remove redundant includes

* Fixed date

* Remove rogue include
2024-08-01 01:13:01 +01:00
Nick Bolton
2a6a688dbe
Only load core after settings have fully loaded (#7421)
* Only load core after settings have fully loaded

* Update ChangeLog
2024-07-30 20:45:12 +01:00
Nick Bolton
7c40a4d198 Replace assert with bounds check and qFatal 2024-07-30 00:04:57 +01:00
Nick Bolton
6b803618e9 Move try-catch to dtor point of stack 2024-07-29 23:59:21 +01:00
Nick Bolton
f9b93210ed Add TODO for S1-1767 (lock order reversal) 2024-07-29 23:46:49 +01:00
Nick Bolton
472cb05f06 Add assert for code scan alert 550 2024-07-29 23:42:30 +01:00
Nick Bolton
63bc481b06 Add TODO for S1-1766 2024-07-29 23:38:31 +01:00
Nick Bolton
a99d1ca87d
Catch exception propagating to Server dtor (#7416)
* Catch throw in dtor

* Update ChangeLog
2024-07-29 23:11:59 +01:00
Nick Bolton
c9e11a6fdc
Assert arg value num > 0 for BSD socket poll unblock pipe (#7415)
* Move integ test to corredt place and re-enable tests

* Depend on `poll.h` (removes support for non-POSIX systems)

* Only build tests for each arch

* Move back to unit tests (poll is mocked)

* Better error message for valgrind not found

* Simplify dependency injection for BSD sockets poll test

* Improve test readability for BSD net poll

* Split out 2-in-1 test for `isAnyAddr`

* Stub out sleep function

* Improve coverage for pollSocket

* Use gmock ON_CALL instead of manual mock

* Remove unused function signature

* Use conventional deps struct instead of std functional

* Add test for socket data FD set to -1

* Add assertation for adding unblock pipe

* Use older style array alloc

* Less precision around `getNetworkDataForThread` value

* Use `ssize_t` for `ignore`

* Remove unused var

* Update ChangeLog

* Assert `n > 0`

* Add `num > 0` to top assert

* Update ChangeLog

* Only run assert test in debug
2024-07-29 21:51:01 +01:00
Nick Bolton
b02077550c
Expand BSD sockets poll tests and remove legacy-poll code (#7414)
* Move integ test to corredt place and re-enable tests

* Depend on `poll.h` (removes support for non-POSIX systems)

* Only build tests for each arch

* Move back to unit tests (poll is mocked)

* Better error message for valgrind not found

* Simplify dependency injection for BSD sockets poll test

* Improve test readability for BSD net poll

* Split out 2-in-1 test for `isAnyAddr`

* Stub out sleep function

* Improve coverage for pollSocket

* Use gmock ON_CALL instead of manual mock

* Remove unused function signature

* Use conventional deps struct instead of std functional

* Add test for socket data FD set to -1

* Add assertation for adding unblock pipe

* Use older style array alloc

* Less precision around `getNetworkDataForThread` value

* Use `ssize_t` for `ignore`

* Remove unused var

* Update ChangeLog
2024-07-29 18:04:17 +01:00
Nick Bolton
9315b089c8
Improve UI design and reduce over-use of #ifdef (#7413)
* Rename `LicenseManager` to `License`

* Rename `LicenseManager` to `License`

* Move License class to gui lib

* Rename license related classes

* Refactor serial key parsing

* Don't fail fast on containers

* Move licensed product name from config to code

* Fixed formatting

* Update code coverage generator and fixed args

* WIP: Converting license to chrono

* WIP: Fixed compile errors, tests failing

* Fixed all serial key and license tests

* Disable verbose logging

* Add missing </p>

* Add missing include

* Revert code coverage config

* Handle parse errors

* Move more classes into the new gui lib and improve license/serial object ownership

* WIP: Fixing signal/slots in MainWindow

* Fixed slot for about to quit

* Rename manual slots to solve auto-connection warnings

* Fixed logging issue

* By default, don't close to tray

* Add .env support and furthe refactor license code, also fixed some copyright dates

* Remove test code

* Fixed memory error in .env parser and refactor more licensing display code

* Fixed color inconsistencies

* Fixed link colors and made log view expand

* Disable server components rather than hiding

* Reset years of blind UI layout fiddling

* Fixed clean Qt task

* Only show notice when time limited

* Fixed main window layout

* Show connected clients

* Set 15 spacing

* Auto connect on start

* More intentional screen size

* Fixed tests related to license

* Tests for expiry notifications

* Reorg tests and remove death test

* Update gtest

* Tests for dotenv parser

* Test command process

* What the heck is that doing there?

* Merge constants headers

* Fixed magic includes

* Remove helper function

* Remove comment

* Remove extern decl

* Update ChangeLog
2024-07-26 23:53:52 +01:00
Nick Bolton
ce3f8869e7
Reduce GUI compile time by building a GUI library (#7412)
* Call ensure_in_venv before all imports

* Create `gui` lib and link to `synergy` and test bins

* Move GUI IPC code to GUI lib

* Improve `AppConfig` members and change `minimizeOnClose` to `closeToTray`

* Group getters and setters

* Add missing `m_CloseToTray` load

* Fixed lint issue

* Add TODO comment for main window integ test

* Remove redundant comments and add override

* Remove dead code

* Update ChangeLog

* Fixed activation related compile errors

* Disable concurrency cancel jobs

* Disable fail-fast for matrix
2024-07-23 20:17:40 +01:00
Nick Bolton
85b8b83a53
Implement safer memory use, improve dev env, fixed GUI bugs (#7407)
* Improve dev script for daemon

* Ignore `.user` files created by Qt

* Add `FORCE_DESKTOP_PROCESS` option

* Catch errors related to getting profile dir

* Disable IPC entirely if forced desktop

* Use in-class init for AppConfig members

* Refactor config to use safer memory management

* Improve launch config to make OS-specific debugger usage clearer

* Re-enable MainWindowTests on Windows, further refactor for memory safety, fixed some include orders

* Remove dead singleton code

* Swap order of tests

* Use HTTPs for URLs

* Fixed compile errors for `SYNERGY_ENABLE_LICENSING` compile path

* Restore exec function call

* Remove extra link in cancel dialog

* Fixed broken link on activation cancel UI

* Close dialog if activated

* Fixed macOS enum ref to kCurrentProcess

* Improve wording on cancel activation dialog

* WIP - Test timeout (compile error)

* Finished timeout logic (with smart pointer)

* Include string_view

* Switch to thread from jthread (maybe not supported by macOS compiler?)

* Improve comment

* Disable test on Windows

* Add TODO related to jthread on macOS

* Refactor settings and paths on Windows

* Launch in desktop mode on Windows

* Remove arg quote wraps which break desktop mode

* Fixed qFatal on Linux

* Remove test value

* Follow original `AppConfig` accessor convention

* Disable service checkbox if not Windows

* Simplify TLS control enable logic

* Update command and Git ignore

* Fixed code style

* Fixed include consistency

* Fixed includes in validator

* Fixed lint errors

* Update ChangeLog

* Use smart pointer for core process

* Remove unneccesary default operators

* Don't halt on stderr
2024-07-22 17:48:02 +01:00
Nick Bolton
6f411e4ab8
Restore integtests and add to CI as warning comment on failure (#7404)
* Add coverage for both targets

* Use var for test bins

* Disable cmake-format comment fiddling

* Refactor GUI source config

* Use bin var for tests

* Remove unused member

* Add integration tests to CI

* Use modern cmake args

* Use max threads for build

* Use better var name for CPU core count

* Split build and configure steps

* Combine tests into action and add a PR comment

* Fixed yaml indentation in action

* Pass GITHUB_TOKEN

* Update coverage paths for SonarCloud

* Don't ignore return codes

* Add shell

* Run Valgrind on integ tests

* Use header for tests

* Save test results in table

* Move setup step outside of action

* Change logic of creating PR comment

* Remove header formatting

* Use emojis for simplicity

* Run build wrapper in build dir

* Use default make target

* Pass secrets

* Fixed SonarScanner warnings

* Don't allow unit tests to fail

* Fixed typo

* Update sonar scanner paths

* Fixed line endings

* Use step output

* Improve exclusion glob

* Exclude files from coverage

* Restore simpler pattern

* Set temp file path

* Coverage tests

* Re-create comment at start of job

* Append table header

* Add setup action

* Checkout before action

* Re-add projectBaseDir

* Restore original sonar scanner

* Use bash syntax for if

* Remove unused `shell`

* Add missing shell for valgrind action

* Restore new sonar scanner config

* Add missing shell

* Run only MainWindowTests

* Test with big change

* More changes

* Move to correct dir

* Remove test code

* Disable broken integ tests

* Switch coverage to front of filename

* Remove filter

* Refactor status step

* Disable segfault test

* Fixed: No status showing

* Add link to workflows

* Add test code for coverage

* Revert "Add test code for coverage"

This reverts commit c42309349b64f7828f2ca89149b30c5b0f93478a.

* Get workflow run URL

* Add missing shell

* Use dynamic URL in valgrind comment

* Revert "Revert "Add test code for coverage""

This reverts commit 9cff58b7ea5c581681ae6d6660c073bd76ba99aa.

* Test with commented out code

* Reintroduce 6 lines for coverage

* Test code to pass scanner

* Test code to pass scanner (take 2)

* Simplify to 2 new lines

* Add another line

* Trim changes to only 3 lines

* Add task for all tests

* Surface warning on failure

* Simplify build-wrapper step and move settings from web UI to CI

* Add missing line delims

* Also run tests action on Windows and macOS

* Add names to action steps

* Add timeout for test steps

* Add failure warning for integ tests

* Remove space

* Disable failing test on macOS

* Disable problem matcher

* Simplify names

* Disable freezing test on Windows

* Disable failing integ test on Windows

* Add build-kill task

* Ignore kill result on Windows

* Delete test code

* Update ChangeLog

* Move timeout to workflow step
2024-07-18 17:51:06 +01:00
Nick Bolton
6399feb324
Solve low hanging reliability and maintainability issues (#7403)
* Add missing atom ctor init

* Init members with `None`

* Use in-class init and delcare getter inside if init

* Temp revert of changes ahead of unit test repair

* Move IPC header to shared, restore X clipboard test, simplify test cmake, new X clipboard unit test

* Suppress sonar for undefs

* Remove base dir include

* Revert "Temp revert of changes ahead of unit test repair"

This reverts commit 8f84b6ea5d5828f1be1362de3809279bcacb8cc8.

* Use new accessor

* Use default dtor

* Beef up to 32 core

* Use enum class

* Make IPC protocol headers const at all levels

* Use enum class and const char for better type safety

* Use unique_ptr for m_clipboard

* Use `-j` instead of `-j8` to utilize full parallelism

* Increase thread count for sonar-scanner

* Use 32 threads

* Use in-class init for IpcClientProxy members

* Use const instead of #define

* Remove ctor member inits

* Use unique_ptr on win

* Implement temp bin dir for windows with more robust post-build copy

* Fixed missing iostream

* Add warning about copy errors

* Only run clean-gcda on Linux

* Use in-class init for IPC mutex

* Do no-op on Windows

* Hide clean-gcda task

* Move flakey test to integtests

* Delete dead code

* Test

* Temp disable post_config_all

* Disable post config step

* Revert "Disable post config step"

This reverts commit 2f956a7714ba9bedacd4b39d4ae00940c3d565d6.

* Revert "Temp disable post_config_all"

This reverts commit b44ed72e44f838bfe1309f6e9672d2f1c6f21b75.

* Restore -j8

* Simplify error handling

* Use const for test port

* Remove python check

* Update changelog

* Fixed order

* Fixed bad issue number

* Fixed bin copy source path

* Remove redundant except
2024-07-18 08:04:39 +01:00
Nick Bolton
47849db4d9
Run Valgrind on unit tests in CI to detect memory leaks (#7401)
* Move QApplication out of main to reduce memory impact when running individual tests

* Add --valgrind arg and colorize output when command returns non-zero exit code

* Fixed: colorama not always available

* Test multiple Qt tests

* Fixed: Windows Qt test failing due to missing QCoreApplication

* Simplify fake args for Qt

* Use --ci-env arg

* Create Valgrind analysis workflow

* Rename vars for fake args

* Parse and output valgrind summary

* Add build mode to comment

* Use GITHUB_OUTPUT to output summary

* Merge valgrind comment

* Improve comment

* Use `tee` instead of `--log-file` to also print stdout

* Improve comment about debug and release

* Simplify output writing in parse step

* Improve step name

* Correct comment about summaries

* Remove commented out code

* Better var name

* Missing copyright

* Rename global to shared

* Remove space

* Revert change to ConfigTests.cpp
2024-07-17 09:22:46 +01:00
Nick Bolton
e435953af7
Make Clang param and arg alignment more readable (#7387)
* Turn off alignment of params

* Apply Clang format

* Change AlignAfterOpenBracket to AlwaysBreak and add extra bin pack settings

* Restore default bin packing

* Apply format
2024-07-16 14:36:44 +01:00
Nick Bolton
50d29edd05
Solve SonarCloud security hotspots and bugs (#7383)
* Test: allocLockCursorToScreenInfo_withState_setsState

* Merge remote-tracking branch 'origin/master' into S1-1717-sonarcloud-issues

* Remove header wrappers for gmock/gtest

* Convenience wrapper script for tests

* Use `std::copy` instead of `strcpy`

* Use `std::ranges::copy` instead of `stdcpy`

* Delete dead code

* Add guitests VS Code config and test wrapper

* Revert "Delete dead code"

This reverts commit aa40f5cd35a22b4b69acfd1876aceea053088060.

* Build guitests with CMake

* Run all tests

* Don't use --gtest_filter for Qt tests

* Undo skip for GUI tests

* Coverage for `IpcClient::sendCommand`

* Remove provider and proxy

* Use lamda for StreamProvider to reduce boilerplate

* Restore version checker tests

* Remove activation souces

* Tasks for current/all tests

* Change command for tasks

* Mock QNetworkAccessManager

* Create core app to satisfy Qt assertations

* Use `std::copy` instead of `std::ranges::copy`

* Remove integtests

* Merge guitests into unittests

* Use std::string::length

* Remove include (resolves to root)

* Fix memory leaks

* Disable sigsegv tests

* Fixed formatting

* Remove guitests from CI

* New MainWindowTests

* Passing test for MainWindowTests

* Use alternative to strlen in MainWindow::checkSecureSocket

* Passing test for Log::print

* Fixed dtor call order

* Fixed var name typo

* Use proxy instead of `#define protected public`

* Add args test for log

* Add license ctor

* Fixed log test for release

* Add error log test

* Init qt with -platform offscreen

* Back-out initQt function

* Use QT_QPA_PLATFORM

* Try QT_QPA_PLATFORM=offscreen

* Use more readable env node

* Set QT_QPA_PLATFORM in CI and CodeQL

* Remove env not needed

* Modernize Log::print

* Calculate the length of the format string fmt during the initial scan loop

* More direct and efficient alterative to `strlen`

* Fixed major maint issues in AppConfig

* New clang and cmake rules

* Set `max_pargs_hwrap` to 4

* Undo clang format for now

* Fix missing `Setting::`

* Fixed missing `m_S` on Windows

* Re-add accidental dep resolution (fix later)

* Fixed missing buffer position increment

* Turn on errors

* Fixed tests and improve error message

* Fixed segfault on log refactor

* Extract log time to function

* Copyright date

* Update ChangeLog
2024-07-16 08:30:35 +00:00
Nick Bolton
4d3f0c820e
Correct Qt macOS target and drop Core5Compat lib (#7389)
* Remove Core5Compat

* Remove hack

* Update ChangeLog

* Revert "Remove hack"

This reverts commit dda3ad05818d346fdfcbb41944b9e731a4b547c0.

* Set `add_compile_definitions` for Qt

* Revert "Set `add_compile_definitions` for Qt"

This reverts commit 0258d2d226a76081068f4e565855f37993953be5.

* Use arm64_monterey bottle

* Revert "Use arm64_monterey bottle"

This reverts commit a46d743dc6883c925e2328b9628231189cb34367.

* Use aqt to install Qt on Mac

* Append env var instead of overwrite

* Fixed filename

* Use GITHUB_PATH

* Restore original GITHUB_ENV logic

* Use newer cache action

* Update ChangeLog
2024-07-15 12:57:39 +01:00
Nick Bolton
a4e1beb79d
Re-run macdeployqt6 to copy missing Qt 6 dependencies (#7382)
* Remove bundle on build and back out install_name_tool

* Add hack to fix Qt bundle bug

* Improve comment

* Update ChangeLog
2024-07-11 14:03:17 +01:00
Nick Bolton
d8acb36e8d
Resolve Qt framework path with install_name_tool (#7379)
* Add comment about EXC_BAD_ACCESS

* Optional certificate install

* Improve log output

* Move team ID arg

* Change position of arg

* Set PATH in .zshrc and use bash command substitution

* Simplified macdeployqt find logic

* Formatting

* Minor tweaks to Qt cmake config

* Resolve framework path with install_name_tool

* Update ChangeLog
2024-07-10 15:11:32 +00:00
Nick Bolton
00f9b8751f
Add missing dependencies to Debian package (#7374)
* Use `CPACK_DEBIAN_PACKAGE_SHLIBDEPS`

* Fixed copyright

* Update ChangeLog

* Add file dep

* Move file dep to deb
2024-07-09 11:12:44 +01:00
Nick Bolton
6e82f64ec8
Upgrade from Qt5 to Qt6 for more modern UI (#7373)
* Use Qt 6

* Fixed some Qt6 deps

* Fixed minor compile issues for Qt6

* Drop Debian 11 support (no Qt6 lib)

* Move Debian to top

* Delete expensive to maintain code that yeilds low UX gain

* Unpack all values

* Use %lld instead of %u

* Minor UI improvements

* Add deps for Fedora, OpenSUSE, and Arch

* Fixed CMake lint issue

* Use package name from build.opensuse.org

* Used `zypper search` to find correct package names
2024-07-08 15:37:51 +01:00
Nick Bolton
d1abddde84
Add Git SHA to about screen and --version (#7372)
* Add Git SHA to about screen

* Update ChangeLog

* Fixed formatting

* Use `GIT_SHA` for Git SHA

* Add `GIT_SHA` env var

* Use env var `GIT_SHA`

* Shorten the Git SHA to 8 chars for readability

* Shorten Git SHA to 8 chars

* Increase Linux timeout (Fedora 39 is always slow at deps)

* Update ChangeLog

* Revert "Update ChangeLog"

This reverts commit ac52777763571e9512e1c9b73b5cac23658d5ed2.
2024-07-08 11:40:22 +01:00
Nick Bolton
bfaea34291
Re-implement packaging for GitHub workflows (Linux ARM) (#7369)
* Debian 12 ARM64 target

* Fixed comments

* Don't check for server name when exiting because of args

* Exit with success when using `--version`, `--help`, etc

* Test Linux installation

* Add Windows ARM builder

* Extract magic string

* Use proper arch name

* Swap arch order

* Fixed test

* Bootstrap Windows ARM runner

* Install winget

* Conditionally install winget

* Winget take 2

* Use shell: pwsh

* Try `powershell`

* Try cmd to install winget

* Only build distro once

* Use enum for clarity

* Remove shell

* Back out Windows ARM testing

* Attempt arch matrix

* Add Fedora arm64

* Label all -amd64

* Special case for zypper

* Fixed bad var name on Windows

* Add missing /bin ignore

* Disable GPG check on OpenSUSE

* Fixed typo

* Update ChangeLog
2024-07-08 09:32:55 +00:00
Nick Bolton
fcb3d318bb Make version URL configurable 2024-07-04 20:57:28 +01:00
Nick Bolton
4690b61551
Simplify compile options and use comprehensive edition logic (#7365)
* Simplify options

* Use more sensible edition logic

* Use set instead of option for string

* Improve macro for product name

* Add tests launch config

* Restore unregistered state

* Reorganize cases for title and improve function name

* Code coverage on by default

* Fixed copyright

* Improve code coverage and test readability

* Separate build-all and build-coverage

* Back out coverage on by default

* Fixed bad var in cmake

* More verbose logging for coverage

* Restore tasks

* Restore preLaunchTask

* Use default comparitor

* Move temp files to temp dir

* Add tasks for tests

* Support for wstring

* Upgrade sonar-scanner to 6 on Debian 12

* Use modern pip install

* Install python for sonarcloud

* Use Ubuntu and install deps

* Fixed sonar-scanner URL

* Fix exported dir

* Persist build dir

* Don't use venv for pip install gcovr

* Fixed another path

* Update actions/checkout to v4 for SonarCloud analysis workflow

* Add coverage task

* Improve coverage for SerialKeyEdition.cpp

* Enable licensing for builds

* Fixed invalid macro names, missing arguments, etc

* Fixed more copyright

* Fixed incorrect use of "enterprise"

* Fixed incorrect use of "business"

* Experiment with environment

* Make package prefix variable

* Add environment matrix to all OS

* Improve job names

* Make job names easier to read

* Roll back environment matrix (too much noise)

* Fixed: default should override required

* Refactor CI with vars

* Fixed arg for env.get_env
2024-07-04 10:14:54 +01:00
Nick Bolton
37bb0f989e
Format all source with Clang and introduce lint workflow (#7364)
* Lint script with CLang format

* Use `-i` for `clang-format` and add more logging for lint scripts

* Apply LLVM CLang formatting

* Fixed comment

* Update ChangeLog

* Fixed bad return code logic

* Improve output for linters

* Fixed re-used var in clang lint

* Fixed include order for tests and use `#if 0` instead of commenting out code

* Use full Clang format dump

* Dump Ubuntu Clang format

* Dump Clang format from Debian

* Dumped from: clang-format version 18.1.8

* Revert "Dumped from: clang-format version 18.1.8"

This reverts commit b9bbda2995bb0b4b65baf14afebb0361ec64e644.

* Remove BasedOnStyle

* Restore base Clang format file

* Use clang-format from pip

* Apply Clang format 18 style

* Add clang_format deps

* Fixed include order issues and *some* accidental includes
2024-07-02 20:07:06 +01:00
Nick Bolton
c8d9707857
Re-implement packaging for GitHub workflows (Linux) (#7361)
* Reorganize CMake Packaging module

* Match if statements to function order

* Cleanup root, res, and doc dirs

* Move deps to requirements.txt file

* Reorganize and format CMake files

* Rename changelog lint

* Add reccomended extension

* Workflow to lint CMake files

* Move CMake lint to script

* Try lighter dep

* Use venv

* Add --format arg

* Format all CMake files

* Convert bash script to Python

* Set CMake line ending format

* Restore formatting

* Add pyyaml dep

* Remove unused arg

* Rename config file

* Remove comment

* Repair copyrights (broken by defualt cmake-format)

* Restore 3rd party copyright

* Break up libs config into smaller macros

* Better macro name

* Load config after venv

* Make intentional noop clearer

* Only use upload step if required (make skip clearer)

* Use CPack for deb and rpm packaging

* Add upload step for Linux

* Remove cpack dep, doesn't exist

* Roll back presets version

* Fixed distro like match

* Update ChangeLog

* Legacy checkout for some distros

* All distros support v4

* Trying out newer Linux distros

* Install Git on Docker images

* Install without actions (not available before checkout)

* Delete useless action

* Install Python

* Support for Arch and OpenSUSE

* Add Arch and OpenSUSE to deps

* Name steps

* Full OpenSUSE names

* Mark Git dir safe

* Add pkgconf

* Legacy CMake for Debian 11

* Add OpenSSL to OpenSUSE

* Drop OpenSUSE Leap (no C++20 support)

* Skip packaging for Arch and OpenSUSE (for now)

* Shorten Arch/OpenSUSE names

* Clearer step name

* SImpler bootstrap

* Shell not needed

* Update apt

* Don't check return code

* Simplify python deps commands

* Add STGZ/.sh package type

* Prevent input prompt

* Only config git safe dir when needed

* Try cache v4

* Safe dir for Ubuntu

* Safe dir for Arch

* All Docker images seem to need safe dir config

* Refactor env var getters

* Make Ubuntu build extra packages

* Condense bootstep to single step

* Fixed var name

* Fixed bootstrap logic

* Simplify logic for upload condition (Windows and macOS)

* Make package/upload condition easier to understand

* Add Manjaro

* Generic names for Linux .tar.gz and .sh packages

* Add Manjaro deps

* Swap macOS matrix entries

* Add Red Hat UBI

* Remove RHEL subscription manager

* Throw on unsupported package distro

* Conditionally install pip and venv

* Remove extra pip arg

* Add config for RHEL

* Install EPEL for RHEL

* Back-out RHEL as EPEL requires subscription

* Restore Python deps logic

* Fixed bug: Packacking run twice

* Testing arm32v7 and arm64v8

* Revert "Testing arm32v7 and arm64v8"

This reverts commit cb3caf188d2b79ed083a62fc091de295f9889f3d.

* Re-add icon and shortcut file for Linux to package

* Support OpenSUSE RPM build

* Check return code

* Add `rpm-build` for OpenSUSE

* Reorg packages

* Remove busybox-which

* Add --non-interactive

* Move --non-interactive to correct position

* Experiment with makepkg

* Check and print package commands

* Make distro version optional

* Use 8 cores to build

* Default to distro name only

* Fixed bad PKGBUILD filename

* Use 4-part version for Arch

* Remove comma from conflicts

* Use .tar.gz from cwd

* Generate checksum for Arch

* Fixed file extension

* Use shell to print output

* Don't use shell

* Gaurd against bad cmd_utils.run

* Fixed bad import

* Use list command

* Fixed unable to run list commands

* Use source file name

* Simplify PKGBUILD to use make install

* Change install prefix

* Use DESTDIR

* Copy .desktop and .png to build dir

* Restore original `install(FILES...`

* Improving comments

* Fixed: makepkg runs from `src` by default

* Move error after command print

* Remove shell arg

* Package as a user instead of root (makepkg can't run as root)

* Fixed codesign runs in shell

* Allow list commands in shell on windows

* Don't use sudo on arch

* Install sudo on Arch

* Fixed typo

* Fix ownership of build directory for package user

* Improve example .env

* Change to depend on libstdc++6

* Add TODO

* Fixed Fedora version

* Remove libstdc++ deps (names vary between distros)

* Roll back to Fedora 40 and 39

* Improve comment

* Remove unneccesary default
2024-07-02 11:23:56 +01:00
Nick Bolton
bec38ab47b
Re-implement packaging for GitHub workflows (Windows) (#7360)
* Add new version env vars to example

* Remove test file

* Move CMake packaging to separate module and configure OpenSSL path for Windows

* Make VS Code CMake build task default

* Generate Microsoft-friendly 4-digit version number

* Update macOS bundle .plist with build year variable

* Use correct OpenSSL path and fixed various MSI variables

* Use correct rest/dist dir for MSI

* Add version .rc file for Windows

* Use macro instead of over-complicated version query command

* Made cmd_utils more secure by defaulting to no-shell and no-print

* Add certificate management module

* Implement packaging script on Windows

* Refactor Mac packaging script to use new cmd_utils args and new cert module

* Update ChangeLog

* Change PFX env vars and add to CI

* Use import as instead of from lib to solve resolve issue

* Allow custom certificate extensions

* Check for package version when using gdrive

* Make version number required

* Add missing shell

* Add missing gdrive value in test

* Find OpenSSL dir based on openssl binary

* Only use first OpenSSL entry

* More verbose logging

* Improve logging

* Only use env var if not empty

* Fixed wrong var

* Fixed macOS GitHub artefact name

* Change filename format to match new convention
2024-06-28 09:35:18 +00:00
Nick Bolton
7103bbed6d
Re-implement CI auto version increment for packaging (#7354)
* Only install Python deps with deps script

* Remove hard-coded Qt version in CI

* Add example .env

* Improve comments in .env file

* Simplify config reader and Choco CI config

* Actually return the config value

* Move deps before Qt version env call

* Remove `self.`

* Move venv ensure to main

* Fixed arg

* Move config import to function

* Move ensure_module to function

* Simplify over-complicated `Version.cmake`

* Move code to `github` module

* Use `symless/next-version-action`

* Make CMake version file even simpler

* Set version from tag

* Create release when master or release branch

* Don't run CI on master push, only release

* Fixed bac macro

* Use new version values

* Handle empty version env var

* Also strip version file value

* Remove quotes

* Add @master to action

* Read version from file

* Simplify version file read

* Fixed typo in env var

* Remove unused var

* Delete legacy build number action

* Fixed env var

* Version file read shouldn't be needed

* Remove weird and unnecessary include path

* Update ChangeLog

* Remove unused config value

* Better name for changelog check

* Delete broken Flatpak CI

* Run stale issue cron at midnight

* Update ChangeLog

* Add version input for manual run

* Print next version

* Fetch all tags

* Use more idiomatic approach

* Set to pre-release when master

* Remove unnecessary `commitish`

* Fixed wrong ID

* More specific IDs

* Reduce config needed for upload

* Only /release can be non-pre-release

* More discreet package path for gdrive

* Try without setting path

* Remove seemly unused step

* Better name for Qt version step

* Fixed bad var ref

* Better name for package dir

* Fixed bad input name

* Add missing shell

* Workflow to test upload action

* Remove fetch tags

* Use bash to cut version

* Remove name and make conditional

* Replace deprecated set-output

* Fixed env var name

* Missing dir sep char

* Add comment to test workflow

* Improve input descriptions

* Replace deprecated set-output
2024-06-26 15:46:42 +00:00
Nick Bolton
865063b77c
Re-implement packaging for GitHub workflows (macOS) (#7353)
* Restore Azure macOS dist scripts

* Move steps to workflow for testing

* Always upload to GitHub

* Add codesign ID

* Echo codesign ID

* Add cert import code

* Stub file for Mac

* Self-install pyyaml and choco

* Auto add env var on Windows

* Auto add CMAKE_PREFIX_PATH to .zshrc

* Shorter var names

* Append env var instead of replace

* Only set env var if not CI

* Improve function names and print output

* Simplify Linux package command

* Support continuation sequence

* Add note about Windows

* Remove dead doc file

* Tidy up version file and move to .env format

* Use Python venv for deps

* Only use venv on Mac

* Rename package script for all OS

* Add package and dist steps, and use common upload

* Remove version source

* Fixed vars not available

* Fixed python paths

* Use RuntimeError which is sufficient

* Remove dead code

* Add extras command for Linux

* Always install deps on Linux

* Move Python deps to CI

* More env bootstrapping, ugh

* Forgot to return!

* Simplify code

* Use shell

* Simplify command

* Skip sudo if no sudo

* Update package managers

* Fixed Fedora package name

* Tidy up commands

* Use newer upload artifact

* Strip don't trim!

* Check for version file and reduce log verbosity

* Remove CentOS 7.6

* Print more info about return code and log more to stderr

* Install certificate on macOS

* Better errors for no env var

* Implement Mac signing and notary

* Move dmgbuild load

* Simplify notary

* Rename dist files to same as dest

* Fixed paths for dist

* Move checked-in dist files to res (dist is meant to be a temp dir)

* Fixed Mac path in CMake

* Fixed dmg path

* Format Python

* Ignore import warnings and move function

* Fixed cmake paths

* Add missing env var secrets

* Remove extensions from GH upload

* Make deps.yml general purpose config

* Add cspell config

* Pass codesign ID

* Use new general config file

* Sign bundle on Mac

* Move imports to functions

* Escape chars in docs

* Fixed config key accessor

* Change module import order

* Move file to tmp dir in workflow dir

* Persist temp dir

* Add tmp dir to ignore

* Flush stdio before running process

* Trying quotes around env values

* Add codesigning certificate validation for Mac signing

* Revert "Trying quotes around env values"

This reverts commit 0dd741e8cd6fde21e69d4fb871e835a5f4fa1a23.

* Extract codesign verify

* Fixed version number

* Ignore .cache dir

* Fix macro name

* Package name with version number and arch

* Improve package function readability

* Change order of vars

* Testing upload to GDrive

* Add missing return code

* Use positional args and declare error

* Use machine instead of arch and remove build from filename

* Remove redundant build jobs

* Replace massively over-complicated `build_version.py` script

* Move version info to env module

* Use version info script

* Fixed: too many values to unpack

* Chmod version script

* Use shebang

* Don't check return code on Linux

* Fixed function name

* Convert to GitHub specific script

* Env vars must be after configure

* Fixed Windows env var command

* Remove && from deps command so it's not conditional

* Fixed position of set env

* Change order of env script

* Only upload when not draft

* Test

* Tweak config

* Fixed if condition

* Don't package in draft (Windows and Linux)
2024-06-24 09:36:30 +00:00
Nick Bolton
8f13ce8e7a
Combine GitHub workflows to reduce config duplication (#7352)
* First attempt merging CI test

* Remove older versions of Linux

* Blend Docker containers and GitHub runners

* Test older configure/build method for Windows

* Re-add old Windows workflow

* Use legacy CMake method for more distros

* Rename image to container

* Reduce config dupe

* Fixed logic for configure

* Use newer build command for Windows

* Move full container name back to matrix (yuk)

* Move GIT_COMMIT to common env

* Use more specific Windows runner name

* Fine-grained timeouts for Mac

* Fixed unit test path for Windows

* Rename CI workflow

* Beginning of macOS dist action

* Update ChangeLog

* More triggers for CI workflow

* Attempt to fix test path on Windows

* Move dist-macos action

* Add dir command for testing

* Remove `test-` job prefix

* Bump msbuild action and try modern cmake again

* Composite actions don't support defaults... grr

* Remove dir diag command

* Trying to use Choco again for VS dep

* Don't skip ninja

* Flush stdout

* Add cl to PATH

* Trying out ilammy/msvc-dev-cmd@v1

* Use @v3 checkout for older Linux

* Fixed comment typo

* Remove dead scripts

* Improve env var names

* Run strip from build dir

* Split out deps script to lib files

* Remove stub action

* Remove dist step for now
2024-06-19 17:48:18 +01:00
Nick Bolton
9bb458bff2
Clickable debug source paths and new launch target (#7335)
* Add rebuild launch target for daemon

* Change debug source path to be clickable in VS Code

* Shorten launch targets for readability in UI

* Update CL
2024-01-24 16:02:07 +00:00
Nick Bolton
9e2fc6150e
Implement hello back in IPC protocol (#7334)
* Update VS Code config for Windows daemon debugging

* Update CL

* Implement hello back in IPC protocol

* Update CL
2024-01-23 22:20:53 +00:00
Nick Bolton
29e66773c8
Reset error state before calling Process32Next (#7328)
* Convenience script to install daemon

* Use -p when re-launching with runas to keep window open

* Align new script with PEP 8

* Add more args for flexibility

* Add task to reinstall Windows daemon

* Fixed mistake in continue message

* Close task window after running script

* Reset error state before calling Process32Next

* Update CL

* Increase Windows CI timeout

* Bump timeout again due to choco
2024-01-16 17:16:26 +00:00
Nick Bolton
668c3193e7
Restore lpDesktop assignment in Windows daemon (#7326)
* Restore previous lpDesktop assignment

* Use static string buffer for desktop name

* Update ChangeLog

* Reword ChangeLog
2024-01-15 17:53:57 +00:00
Nick Bolton
d4133d1110
Use C++20 and CMake presets (#7322)
* Create tasks.json

* Delete gui.pro

* Swallow any exceptions from stopDesktop

* Upgrade to C++20

* Update ChangeLog

* Remove old versions of Ubuntu

* Ignore VS Code workspace

* Restore original CodeQL job name

* Add problem matcher and suppress warnings from within old CMake lib

* Bump CMake min version to 3.5

* Remove useless cmake_minimum_required

* HACK: temp comment out failing code

* Bump Qt to 5.12.6

* Delete tasks.json

* Create CMakePresets.json

* Fixed Qt link error: The input line is too long.

* Fixed invalid call to map erase

* Fixed incorrect use of RegCreateKeyEx

* Add VS Code tasks.json for cmake build

* Store `desktop` in char buf before using it

* Generate compile_commands.json

* Restore indentation

* Revert "Restore indentation"

This reverts commit d9f495460f337c37e8a01d8853b317e949ea085a.

* Restore original indentation (for now)

* Create extensions.json
2024-01-11 00:26:39 +00:00
Kyle Bloom
ee19a40bef
Catch standard exceptions on unexpected exit (#7282)
* Catch standard exceptions on unexpected exit

* Update changelog
2023-09-27 14:01:30 +01:00
Serhii Hadzhilov
7d803071ca
Change session ID info log message to DEBUG2 (#7284)
* Change error to debug2 and add additional info

* Update ChangeLog

* Improved wording in ChangeLog for 1.14.7

* Apply markdown formatting to ChangeLog

* Fixed merge gone wrong

* Fixed further merge mistake

* Fixed order of new ChangeLog lines

---------

Co-authored-by: Nick Bolton <nick@symless.com>
2023-09-26 12:49:18 +01:00
Serhii Hadzhilov
cfe20bea18
Change error priority based on param (#7279) 2023-08-17 16:53:26 +03:00
Serhii Hadzhilov
944abfaa1a
Change warning to fatal error (#7278)
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
2023-08-16 19:46:27 +04:00
Serhii Hadzhilov
1a810ccdd7
Change core start errors to fatal (#7277)
* Change core start error to FATAL

* Update ChangeLog

---------

Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
2023-08-16 09:20:24 +01:00
Nick Bolton
2ac3f7f5a3
Remove rogue space (#7271) 2023-08-08 13:53:31 +01:00
Kyle Bloom
3d621c6ee2
Build unified core or separate server and client (#7274)
* Only build unified core when specified

* Update changelog
2023-08-07 09:45:27 +01:00
Nick Bolton
947efd5e58
Made log lines consistent (#7270)
* Made log lines consistent

* Change log level for process list

* Only show advanced proc info at DEBUG2

* Fixed some more log lines

* Update AppUtilWindows.cpp
2023-07-28 09:45:27 +01:00
Nick Bolton
2fce545c17
Reword file drag drop error to debug message (#7269)
* Reword error message

* Fix indentation

* Fix code style

* Update ChangeLog
2023-07-27 10:36:44 +01:00
Serhii Hadzhilov
5e8e874e03
Remove extra key press traces for Linux (#7265)
* Remove extra key press traces for Linux

* Update ChangeLog
2023-06-02 09:35:37 +01:00
Serhii Hadzhilov
8587dda4ad
Add ability to bind synergy client to network interface (#7254)
* Switch client help to use dynamic buffer

* Add the new param into client help

* Parse the new param as a generic param

* Add additional member to store server address

* Bind client socket to network interface

* Update Changelog

* Fix code smell
2023-03-29 09:39:49 +01:00
Serhii Hadzhilov
b743e664a0
Add manifest for synergy-core to fix problem with dpi on windows (#7240) 2022-12-13 17:58:06 +02:00
Sergei Trofimovich
ab8a7b5ed4
add missing <cstdint> includes for SIZE_MAX (#7237)
Without the change the build on upcoming `gcc-13` ails as:

    src/lib/base/Log.cpp: In member function 'void Log::print(const char*, int, const char*, ...)':
    src/lib/base/Log.cpp:128:23:
      error: 'SIZE_MAX' was not declared in this scope
      128 |     if ((strnlen(fmt, SIZE_MAX) > 2) && (fmt[0] == '%' && fmt[1] == 'z')) {
          |                       ^~~~~~~~
    src/lib/base/Log.cpp:30:1:
      note: 'SIZE_MAX' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
       29 | #include <ctime>
      +++ |+#include <cstdint>
       30 |

gcc-13 cleaned it's header dependencies and that exposes these failures.
2022-12-08 11:16:44 +02:00
Serhii Hadzhilov
aff2b717fd
Single app for server and client (#7239)
* Remove unused files

* Add synergy-core

* Update ChangeLog

* Fix compilation

* Fix code smell

* Add ability to run synergy-core using synergyd for windows
2022-11-29 21:00:37 +02:00
Serhii Hadzhilov
88fdd26350
Use default value for InitiateConnectionFromServer option during switching between scopes (#7232) 2022-10-12 19:32:06 +03:00
Jonathan Anderson
b2b887cf43
Fix crash due to out-of-order frees. (#7208)
* Fix crash due to out-of-order frees.

Don't free the kdbDescr until we've freed the names it contains. This
fixes a SIGBUS crash on FreeBSD (and maybe other platforms too?) when
pressing special keys (e.g., the Windows key) on a client.

* Update ChangeLog

Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
2022-10-11 17:52:32 +03:00
Serhii Hadzhilov
7d4a368864
Fix issue with reconnection when server initiate TLS connection. (#7230)
* Restart socket when unknown client connection fails

* Send connected event from client side

Co-authored-by: Serhii Hadzhilov <serhii@symless.com>
2022-10-07 14:16:02 +03:00
Serhii Hadzhilov
876a110969
Update visibility for mode checkbox during settings loading. (#7228) 2022-10-04 13:27:42 +03:00
Serhii Hadzhilov
0f3e128e17
Add ability to reconnect from server side (#7226)
* Add ability to reconnect from server side

* Fix code smell

Co-authored-by: Serhii Hadzhilov <serhii@symless.com>
2022-10-03 17:08:24 +03:00
Serhii Hadzhilov
c06a20d093
Initiate TLS connection from server (#7225)
* Add SecureClientSocket

* Add SecureServerSocket

* SecureServerSocket code cleanup

* Refactoring for SecureClientSocket

* Change base class for SecureClientSocket to InverseClientSocket

* Change base class for SecureServerSocket to InverseServerSocket

* Small refactoring

* Fix Linux compilation

* Fix code smells

* Refactoring

* Update ChangeLog

* Fix code smells

Co-authored-by: Serhii Hadzhilov <serhii@symless.com>
2022-09-29 11:35:27 +03:00
Serhii Hadzhilov
c37b0d2fcf
Add ability to initiate connection from server (#7222)
* Add a new hidden readonly option "initiateConnectionFromServer"

* Add option "clientHostMode"

* Add host mode to the client GUI

* Hide main window controls for the client host mode

* Store client address into the server config file

* Add client mode the server

* Pass option --host into the client

* Add --host parameter into the synergyc

* Add InverseSocketFactory

* Add InverseClientSocket

* Add InverseServerSocket

* Add AutoArchSocket

* Add listener on the client side

* Add connection from the server side

* Fix code smells

* Additional code smells

* Requested changes

Co-authored-by: Serhii Hadzhilov <serhii@symless.com>
2022-09-22 11:12:13 +03:00
Serhii Hadzhilov
452c631d6e
Release v1.14.5 (#7219)
* Update Version.cmake

* Add TLS to Synergy (Lite edition) (#7202)

* Add TLS to synergy light

* Requested changes

* License registration for Business edition (#7203)

* License registration for business

* Rename register to registry

* Add email into the request

* Add decoded serial key into the request

* Revert "Add decoded serial key into the request"

This reverts commit 0e18c8941664e86ae2264bbef072df68cab07751.

* Revert "Add email into the request"

This reverts commit 8dff01bc242769008897947d66187cb726fb34bf.

* Change field guid_generated to guid_type

* Update ChangeLog

* Update ChangeLog

* Fix build issue for ubuntu16 and ubuntu18 (#7204)

* Fix issue with settings

* Custom about screen for Elite Backers (#7211)

* Hide irrelevant information from the About screen for B2B

* Fix size for Windows and Linux

* Requested changes

* Fix Enterprise

* Revert "Fix Enterprise"

This reverts commit befd8d2ce36b6ca903250bada62293491f0b56a2.

* Revert "Requested changes"

This reverts commit 5f728e00aaeb4bed3e3c006539d380f74d3aff76.

* Change features based on edition (#7212)

* Change features based on edition

* Fix enterprise build

* Update window titles and about screen (#7214)

* Fix About screen for Business edition

* Change dialog title

* Refactored upgrade prompt for TLS and hotkeys (#7215)

* Prompt Basic users to upgrade to Pro to access TLS encryption

* Fixed Enterprise build

* Fix code smells

* Fix sonar bug
2022-09-13 18:31:45 +03:00
Serhii Hadzhilov
e0023863db
Use vertical scroll on the about screen (#7199)
* Replace scroll area with QTextBrowser

* Update about text

* Fix version number on macOS
2022-07-05 14:54:41 +03:00
Serhii Hadzhilov
a48c34932b
Move API URL to config file (#7198) 2022-07-04 12:51:05 +03:00
Serhii Hadzhilov
268b0f660f
Special contributor mentions on the about screen (#7197)
* Remove obsolete data

* Add section "Key contributors"

* Add "Elite Backers" label

* Add Elite Backers

* Remove borders for Elite backers section

* Add link "Become an Elite Backer"

* Become an Elite Backer as a separate label

* Add link to the credits page

* Fix for macOS

* Fix fonts and spaces for Windows

* Fix window size for Linux

* Loading credits using API

* Update ChangeLog

* Fix code smells

* Requested changes

* Change URL

* Update AboutDialogBase.ui

Co-authored-by: Serhii Hadzhilov <serhii@symless.com>
2022-06-30 14:48:26 +03:00
Serhii Hadzhilov
bcfeb251a9
Support for maintenance licenses in China (#7193)
* Adds China maintenance licenses

* Update ChangeLog

* Requested changes
2022-06-23 15:54:44 +03:00
Alvaro Soto
31f08604ce
Fix typo in X Keyboard log warning on Linux (#7191) 2022-06-22 15:45:28 +03:00
Serhii Hadzhilov
8a509f4ba9
SYNERGY1-1555 maintenance licences (#7190)
* SYNERGY1-1555 Remove unused files

* SYNERGY1-1555 Remove unused function isPermanent

* SYNERGY1-1555 Update SerialKeyType with maintenance type

* SYENRGY1-1555 Add method isMaintenance into SerialKey

* SYNERGY1-1555 Check maintenance licenses

* SYNERGY1-1555 Replace obsolete functions

* SYNERGY1-1555 Fix Linux builds

* Update ChangeLog

* SYNERGY1-1555 Requested changes
2022-06-15 13:55:41 +03:00
Serhii Hadzhilov
de48bb20b7
SYNERGY1-1545 Accept business licenses in basic/pro builds (#7188)
* SYNERGY1-1545 Accept business licenses in basic/pro builds

* Update ChangeLog
2022-06-08 21:46:22 +03:00
Serhii Hadzhilov
ae541c170f
SYNERGY1-1544 Issue with TLS options when user switches to system profile (#7185)
* SYNERGY1-1544 Issue with TLS options when user switches to system profile

* Update ChangeLog

* Update ChangeLog
2022-06-07 14:44:49 +03:00
Serhii Hadzhilov
660853d1ac
SYNERGY1-1511 Refactoring for v3 licenses (#7183)
* SYNERGY1-1511 Refactor SerialKey constructor

* SYNERGY1-1511 Refactor SerialKey::parse

* SYNERGY1-1511 Remove unused includes

* SYNERGY1-1511 Remove key generation

* SYNERGY1-1511 Remove "using namespace std;"

* SYNERGY1-1511 Add struct SerialKeyData

* SYNERGY1-1511 Replace member with the new DTO

* SYNERGY1-1511 Rename members

* SYNERGY1-1511 Add a new class SerialKeyParser

* SYNERGY1-1511 Use SerialKeyParser

* Add SerialKeyParserV3

* Add setters and remove unused fields

* Fix return type

* Add comments

* Fix compilation

* Fix code smels

* Update ChangeLog
2022-06-01 18:17:02 +03:00
Serhii Hadzhilov
31c6e99258
SYNERGY1-963 Remove TLS unused options from the GUI on Synergy Client (#7182)
* SYNERGY1-963 Remove TLS unused options from the GUI on Synergy Client

* SYNERGY1-983 Update ChangeLog.txt
2022-06-01 15:36:44 +03:00
Serhii Hadzhilov
a08149aae7
SYNERGY1-1536 Disable drag and drop by default (#7179)
* SYNERGY1-1536 Disable drag and drop by default

* Update ChangeLog
2022-05-24 15:47:26 +01:00
Serhii Hadzhilov
c92ac1a71e
SYNERGY1-1497 Fix memory leak on macOS (#7178)
* SYNERGY1-1497 Fix memory leak on macOS

* Update ChangeLog

* Fix Fedora build
2022-05-24 12:36:06 +01:00
Serhii Hadzhilov
95ee948f26
SYNERGY1-1497 Memory leaks in copy/paste and drag and drop functionality (#7175)
* SYNERGY1-1497 Fix memory leak in copy/paste functionality

* SYNERGY1-1497 Memory leaks with function CFStringRefToUTF8String

* SYNERGY1-1497 Fix memory leak in Server::sendDragInfo

* SYNERGY1-1497 Fix memory leak in Server::sendFileToClient

* SYNERGY1-1497 Fix memory leak in Server::sendDragInfoThread

* SYNERGY1-1497 Fix code smells

* SYNERGY1-1497 Fix builds

* SYNERGY1-1497 Fix additional code smells
2022-05-19 18:29:11 +03:00
Serhii Hadzhilov
5b6f5df6ea
SYNERGY1-1497 memory leaks in synergyc on mac os (#7170)
* SYNERGY1-1497 Fix memory leak in screen saver functionality

* SYNERGY1-1497 Fix memory leak in ArchNetworkBSD::nameToAddr

* SYNERGY1-1497 Fix memory leak in TLS for synergyc

* SYNERGY1-1497 Fix code smells

* Update ChangeLog

* SYNERGY1-1497 Fix meory leak in ArchNetworkWinsock::nameToAddr

* Update ChangeLog as it was requested
2022-05-16 19:00:16 +03:00
Nick Bolton
9f8e7a17f5
Fixed account URL 2022-05-14 14:23:53 +01:00
Nick Bolton
afca72f4a6
Fixed contact URL 2022-05-14 14:22:35 +01:00
Nick Bolton
96ffc62de6
Fixed help URL 2022-05-14 14:21:17 +01:00