Commit graph

4546 commits

Author SHA1 Message Date
sithlord48
46e90e12ff refactor(Settings): move relative Mouse movement setting to general settings 2026-06-16 09:59:51 +01:00
sithlord48
ba37ff854f chore: remove unused clientAddress var in ServerConfig 2026-06-16 09:59:51 +01:00
sithlord48
261335d6c3 refactor(Settings): move switchDoubleTap to general settings 2026-06-16 09:59:51 +01:00
sithlord48
ea8f3881fe refactor(Settings): move switchDelay to general settings 2026-06-16 09:59:51 +01:00
sithlord48
488d620b3b refactor(Settings): Move heartbeat to general settings 2026-06-16 09:59:51 +01:00
sithlord48
f51fb4affb refactor: move hasSwitchDoubleTap to general settings 2026-06-12 17:51:41 +01:00
sithlord48
f686e3c503 refactor: mv hasSwitchDelay to general settings 2026-06-12 17:51:41 +01:00
sithlord48
d665b55111 refactor: move hasHeartbeat to general settings 2026-06-12 17:51:41 +01:00
sithlord48
c66c356665 refactor(ServerConfigDialog): add new init connections method to centeralize all connections 2026-06-12 17:51:41 +01:00
sithlord48
493e2f374c refactor(ServerConfigDialog): Add a loadFromConfig method to centeralize loading 2026-06-12 17:51:41 +01:00
sithlord48
76673b8cc3 refactor(ServerSettingsDialog): Always allow configuration of server protocol 2026-06-10 17:37:56 +01:00
sithlord48
516f24a0ba refactor(Settings): add helper method to get network protocol as NetworkProtocol directly 2026-06-10 17:37:56 +01:00
sithlord48
b91a39492f refactor(settings): exclusively read proto from the general settings 2026-06-10 17:37:56 +01:00
sithlord48
c4f65c04a3 refactor: remove public access to serverConfig row and column info 2026-06-10 15:52:17 +01:00
sithlord48
6105e4025a refactor: move numRows to general configuation server/gridHeight 2026-06-10 15:52:17 +01:00
sithlord48
cd1ceccda5 refactor: move numColumns to general configuation server/gridWidth 2026-06-10 15:52:17 +01:00
Momoyama
16141d7156 fix(client): restore relative cursor positions locally
Avoid stale server enter coordinates in relative mouse mode by saving and reusing the client's local cursor position around leave and enter.

Store Windows restore positions per desktop so UAC and secure desktop transitions do not reuse normal desktop coordinates. This affects relative mouse movement restore behavior while preserving the existing center-on-leave path.
2026-06-10 15:34:27 +01:00
Nick Bolton
4e121dac30 chore: update 'Synergy App Ltd' copyright (company renamed) 2026-06-09 00:06:11 -04:00
Kentaro Hayashi
faf83d7824 fix: drop misleading SSL_set1_host for OpenSSL 4.0.0
It will fix the following warning:

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

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

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

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

Instead, explicitly operates it via mutable X509_NAME object.

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

It will fix the following error.

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

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

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

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

Impact is limited to macOS primary/server leave handling; macOS secondary/client leave behavior and non-macOS builds are unchanged.
2026-06-01 11:35:39 +01:00
Nick Bolton
bf65080b8b fix: change QString to QByteArray for exception message handling 2026-05-26 12:25:56 -04:00
alfredo1491
6212f9bec6 refactor(win32): update MSWindowsSession and MsWindowsWatchdog to use MsWindowsHandle 2026-05-26 16:58:02 +01:00
alfredo1491
d372462378 build(win32): make sure openssl dir is added to search path for depends always 2026-05-26 16:58:02 +01:00
Nick Bolton
62a8ee749f fix(macos): update BMP handling to support extended headers and improve pixel offset calculation 2026-05-19 17:48:58 +01:00
SASANO Takayoshi
53903016b1 fix: remove unneeded EVP_PKEY_new() (causes memory leak) 2026-05-19 11:56:14 -04:00
SASANO Takayoshi
051464e7fd fix(openbsd): add #include <stdarg> to avoid 'unknown type name' error 2026-05-19 07:43:55 -04:00
SASANO Takayoshi
67f1f41819 chore: remove old OpenSSL support 2026-05-19 11:06:45 +01:00
64JohnLee
5a1a190edd feat: add AltGr modifier override to Screen Settings Dialog 2026-05-19 10:50:47 +01:00
alizane
3d52de0478 feat: display client IP info when manual IP is configured 2026-05-19 09:43:30 +01:00
alizane
5035dc843d fix: prevent client network fallback on strict IP bind failure
fixes: #9552
2026-05-19 09:43:30 +01:00
sithlord48
9c45402552 refactor: include if in portable mode in about copy info 2026-05-15 13:15:57 +01:00
SASANO Takayoshi
958c3f5a2e feat: add search evdev.xml path for NetBSD/OpenBSD 2026-05-15 07:44:27 -04:00
sithlord48
a006681843 fix: settings dialog show log level is above Info without the user changing the combo value 2026-05-15 11:47:10 +01:00
sithlord48
7c7aea47c7 refactor(settingsDialog): populate log level combo using known levels and option data 2026-05-15 11:47:10 +01:00
sithlord48
81262ac9f0 refactor(log): remove g_numPriority 2026-05-15 11:47:10 +01:00
sithlord48
eb97b7641e refactor(log): remove use of g_priority array 2026-05-15 11:47:10 +01:00
sithlord48
a3f97e55e0 chore(log): remove un needed getFilterName methods 2026-05-15 11:47:10 +01:00
sithlord48
acf865fa11 refactor(log): Convert LogLevel into a class using LogLevel::Level as its enum, store values as the Option string display as localized string' 2026-05-15 11:47:10 +01:00
sithlord48
b0413ed4ff refactor: move base/LogLevel -> common/LogLevel 2026-05-15 11:47:10 +01:00
sithlord48
8e469379e8 refactor(log): Squash all Debug1 And Debug2 logs into Verbose
fixes: #9725
BREAKING_CHANGE: log level values have changed settings for log level may need to be reset
2026-05-15 11:47:10 +01:00
sithlord48
b198681311 refactor(log): Remove LOG_NOTE, use LOG_INFO for all previous notes
BREAKING_CHANGE: LOG Levels maybe wrong when starting the app
2026-05-15 11:47:10 +01:00
sithlord48
52469072de chore: remove unused IPC log level 2026-05-15 11:47:10 +01:00
sithlord48
54672a9f6b fix: do not use xdisplay to read locale on wayland
fixes: #9717
2026-05-14 10:15:57 +01:00
sithlord48
ef96c2c362 refactor(settings): add absolute path for all settings returned file paths 2026-05-12 07:27:00 -04:00
Luiz Sardinha
426b43fc09 fix(mac): protect TIS API calls with a mutex (they are not thread safe) 2026-05-12 06:17:14 +01:00
Luiz Sardinha
44c5c15082 fix(mac): prevent cursor warps from outside quartz event loop (if active) 2026-05-12 05:54:49 +01:00
Ketan Patel
c3ecd0b806 fix(macos): recognize brightness media keys
Map macOS brightness media key events back to Deskflow key IDs so they
can be captured and forwarded from macOS servers.

Fixes #9709
2026-05-08 18:57:09 +01:00
sithlord48
95ad33960b refactor: App , explicit constructor for LoopErrorCode and const APP::Quit event 2026-05-07 16:43:38 +01:00
sithlord48
7b1dd869a7 refactor: ExitEvent explict construtor, override deconstrutor maek exitCode a const method 2026-05-07 16:43:38 +01:00
sithlord48
39b3676e6a build: remove uneeded QtGlobal include from deskflow-core 2026-05-05 08:31:15 -04:00
sithlord48
050397f5b3 refactor: use QStrings for exceptions whats 2026-05-05 13:11:00 +01:00
Peter Hutterer
1c789fd6a9 feat: handle input capture session persistence
Use the new libportal API to start a CreateSession2, then set the
session persistence and read/write the tokens as required. This allows
us to start a server without a permission dialog - provided the portal
supports it and the user is ok with that.
2026-05-05 11:58:02 +01:00
Taesu Kang
7b614215a1 fix: ensure correct screen name is set for switchToScreen 2026-04-30 20:56:09 +01:00
Nick Bolton
10027ecc1c feat(ipc): Stop bad version existing Core process 2026-04-28 21:47:47 +01:00
Nick Bolton
329783490b fix(tls): prevent DoS by removing blocking sleep 2026-04-28 12:36:08 +01:00
Nick Bolton
99912b9bc6 feat(daemon): reject remote config file paths to prevent NTLM hash leakage 2026-04-25 10:48:09 -04:00
Nick Bolton
69339b5bcc feat(daemon): add missing command info log line for daemon 2026-04-25 10:48:09 -04:00
Nick Bolton
d553946cef feat(daemon): validate config file existence before applying watchdog command 2026-04-25 10:48:09 -04:00
Nick Bolton
5c480ca515 fix(cve): run switch commands as normal user on Windows to prevent privilege escalation
CVE-2026-41477
2026-04-25 10:48:09 -04:00
Nick Bolton
e7040a1f82 fix(cve): remove ipc command that creates privilege escalation vulnerability
CVE-2026-41477
2026-04-25 10:48:09 -04:00
Nick Bolton
768553c2e8 feat: Print Qt logs same as other log lines 2026-04-24 13:23:07 +01:00
sithlord48
306259eb5b chore: remove unused NetworkProtocol methods for intConversion 2026-04-22 15:35:20 -04:00
sithlord48
77a97f815a refactor: move protocol from serverConfig => Settings::Server::Protocol 2026-04-22 15:35:20 -04:00
sithlord48
dff81e62fe chore: move base/NetworkProtocol -> common/NetworkProtocol 2026-04-22 15:35:20 -04:00
Daniel Albers
1890e7b297 fix: PacketStreamFilter socket leak on abrupt disconnect
This fix prevents TCP sockets from accumulating in CLOSE_WAIT following a
network interruption.

StreamInputShutdown ignored events that occurred while waiting for parts of a
partially received packet.
This could prevent the higher-level state machine from receiving the disconnect
signal and closing the socket.

The filter now correctly treats a stream closure during mid-packet reception as
a protocol error, ensuring the disconnect event is propagated, and proceeds with
the shutdown.
2026-04-22 07:12:02 -04:00
Daniel Albers
f9fd0e86b0 fix: Improve SecureSocket handshake and event handling
This fix addresses a busy-loop and stalled connection issue during the TLS
handshake. Previously, SecureSocket incorrectly managed its readiness flags
during negotiation, often polling for 'writability' when OpenSSL was actually
waiting for more 'read' data (or vice versa).

- Explicitly maps SSL_ERROR_WANT_READ and SSL_ERROR_WANT_WRITE to
  socket multiplexer events.
- Resets readiness flags before each handshake attempt to ensure the
  multiplexer receives the most accurate requirements from OpenSSL.
- Restores readability/writability flags upon a successful handshake
  to allow subsequent application-layer protocol exchange.
- Removes inefficient busy-wait sleeps that were masking the loop
  and slowing down handshakes.
2026-04-22 07:12:02 -04:00
Daniel Albers
7d78e55fcc fix: Enable TCP keepalive by default
Deskflow previously lacked support for TCP keepalive, which meant that
dead connections (such as those resulting from a terminated SSH tunnel
or an ungraceful network interruption) could remain in the system's
connection table indefinitely.

This commit adds the setKeepAliveOnSocket method to the IArchNetwork
abstraction and implements it for both BSD/Unix and Winsock/Windows
backends. Keepalive is now enabled by default in TCPSocket::init,
allowing the operating system to eventually detect and clean up
stale connections.
2026-04-22 07:12:02 -04:00
sithlord48
acd02a01e6 fix: use Maximum for the high of the mode selection to prevent being cut off 2026-04-21 07:36:48 -04:00
Luiz Sardinha
5a028c12d4 fix(mac): quit core if accessibility permissions are revoked 2026-04-21 06:54:05 -04:00
Luiz Sardinha
9025ab8fb7 refactor: allow exit event to provide an exit code 2026-04-21 06:54:05 -04:00
Luiz Sardinha
71c25b3ab9 refactor: bringing error code from the application thread to the main thread (and using its exit code to exit) 2026-04-21 06:54:05 -04:00
Luiz Sardinha
1854e469f4 refactor: making core a QApplication (so it runs cocoa loop on macOS) 2026-04-21 06:54:05 -04:00
alizane
42b824a8db fix: enforce C locale in LogTests for decimal formatting
fixes: #7466
2026-04-17 12:12:47 -04:00
sithlord48
1c81886643 fix: clipboard buffer overrun using propose solution from kitknox 2026-04-16 08:03:06 -04:00
sithlord48
c8e0feab4e build(arch): remove ArchDaemonNone and do not subclass Arch from ARCH_DAEMON on unix 2026-04-13 09:48:12 +01:00
sithlord48
e33bef1b95 build(arch): remove unneeded links to ${libs} 2026-04-13 09:48:12 +01:00
sithlord48
d6a935b5e9 build(common): expose the include dirs from the common library as public 2026-04-13 09:48:12 +01:00
sithlord48
1922f916af refactor: Move -> deskflow/languages/LanguageManager -> deskflow/KeyboardLayoutManager
rename methods to relfect its use for keyboard layouts not languages
2026-04-08 09:47:23 +01:00
sithlord48
e293d4eb8c refactor(ipc): add missing use of at for lists 2026-04-08 09:47:23 +01:00
sithlord48
d1074f64ae refactor(ipc): use more QStringLiterals 2026-04-08 09:47:23 +01:00
sithlord48
bdb7309778 refactor(ipcClient): declare values in if statement where possible 2026-04-08 09:47:23 +01:00
Nick Bolton
7c30add2a1 feat(ipc): Error handling for missing version in IPC handshake 2026-04-07 13:09:29 +01:00
Nick Bolton
77bee2ddf3 feat(ipc): Log more detail on IPC error handling 2026-04-07 13:09:29 +01:00
Nick Bolton
25f3eb3f22 feat(ipc): Differentiate between Daemon and Core IPC logs 2026-04-07 13:09:29 +01:00
Nick Bolton
682966fec0 feat(ipc): Handle missing keyboard layouts with IPC 2026-04-07 13:09:29 +01:00
Nick Bolton
59a4747113 feat(ipc): Unrecognised IPC client, retry messages, and TLS fingerprint
Also adds version checking for IPC server and client
2026-04-07 13:09:29 +01:00
Nick Bolton
66c9b6607c feat(ipc): Messaging for connection states via IPC (async client) 2026-04-07 13:09:29 +01:00
Nick Bolton
62ccb543dc feat(ipc): Core IPC server and connected client 2026-04-07 13:09:29 +01:00
Nick Bolton
1ec36645e1 refactor(ipc): Abstract IPC client logic 2026-04-07 13:09:29 +01:00
Nick Bolton
2e13074580 refactor(ipc): Abstract IPC server logic 2026-04-07 13:09:29 +01:00
Nick Bolton
e4bafaf88f refactor(win32): More consistent Windows desk switch log line 2026-04-07 13:09:29 +01:00
Nick Bolton
eebe5fd55f refactor(win32): Rename Windows thread finding methods for consistency 2026-04-07 13:09:29 +01:00
Nick Bolton
b0985a2740 fix(unix): Add foreign Qt threds in legacy POSIX thread impl 2026-04-07 13:09:29 +01:00
Nick Bolton
aaef600ffa fix(mac): Remove Cocoa app loop and fix macOS event tap for Qt threading 2026-04-07 13:09:29 +01:00
Nick Bolton
29352d97b3 fix(core): Destroy temporary QCoreApplication before creating the real one 2026-04-07 13:09:29 +01:00
Nick Bolton
8a77e5f130 refactor(core): Convert app to Qt app 2026-04-07 13:09:29 +01:00
sithlord48
d8e9ac27f5 refactor: Messages::showNewClientPrompt check if server auth is needed when the message is shown not in the signal 2026-04-07 11:09:58 +01:00
sithlord48
047451696a refactor: Messages::showFirstConnectionMessage check the settings for the values 2026-04-07 11:09:58 +01:00
sithlord48
632b64f12f chore: MainWindow remove unused forward declariations 2026-04-07 11:09:58 +01:00
sithlord48
6a1e8f3edb chore: remove unused QMessageBox includes and Foward Declaration 2026-04-07 11:09:58 +01:00
sithlord48
5536f98da3 fix(LogDock): Scroll the log widget to the bottom if the log is visible and the find widget is not expanded when appending new log lines
fixes: #9622
2026-04-02 12:26:13 +01:00
sithlord48
b17883618c feat(LogWidget): new scrollToBottom method to scroll the log to to the bottom 2026-04-02 12:26:13 +01:00
sithlord48
4f377d97ff feat(SearchWidget): new isExpanded method true when widget is showing the find line 2026-04-02 12:26:13 +01:00
sithlord48
41fcc1e815 refactor: add [[no_unique_address]] hint for XWindowsScreen::m_powerManager 2026-03-30 10:36:15 +01:00
sithlord48
15bae79bf4 refactor: correctly use [[maybe_unused]] 2026-03-30 10:36:15 +01:00
sithlord48
ca6220ad30 refactor: remove redundant c_str when setting logError 2026-03-30 10:36:15 +01:00
sithlord48
bcc5a12d37 chore: remove unused Unicode::decode32 method 2026-03-30 10:36:15 +01:00
sithlord48
06d7f91551 refactor: add explicit fallthrough for fall through cases in unicode 2026-03-30 10:36:15 +01:00
Artturi Alm
469a238b04 fix: AltGr for clients w/windows+finnish-layout. 2026-03-26 10:52:45 +00:00
sithlord48
1565971479 feat: show connection retry status in status area 2026-03-26 06:25:22 -04:00
sithlord48
468c3b76de feat: backoff retry after number of retries 2026-03-26 06:25:22 -04:00
sithlord48
ebab0eb62e chore: remove unused ScreenException methods for reconnect timer 2026-03-25 14:54:57 +00:00
sithlord48
7c00299b11 chore: remove unused retryTime in ServerApp::initServer 2026-03-25 14:54:57 +00:00
sithlord48
b72719f821 refactor: fix comment typo 2026-03-25 14:54:57 +00:00
sithlord48
868b421671 refactor: port simpler KeyStateTest to QTest 2026-03-20 21:54:09 +00:00
Luiz Sardinha
abfcc59f22 fix: prevent daemon ipc client from sending multiple messages at the same time 2026-03-20 13:01:47 +00:00
Jason Mitchell
c6544dd4eb fix: plus key as hotkey support 2026-03-20 12:37:03 +00:00
sithlord48
abaf233a07 fix: adjust command line size to allow expanding 2026-03-19 10:41:22 +00:00
Nick Bolton
b251c98a4e fix: kill core orphan on gui death (linux) 2026-03-16 09:38:14 -04:00
sithlord48
23c8496e24 feat: allow users to run a script on entry or exit of a screen 2026-03-16 12:33:45 +00:00
Tomaz Canabrava
18220a7847 chore: Fix Typo 2026-03-16 12:33:45 +00:00
UberKitten
ac8cc42b7a fix: retry OpenClipboard() on Windows
OpenClipboard() can fail transiently when another process holds the
clipboard mutex. Add a retry loop (5 attempts, 5ms delay) so that
Deskflow handles brief contention gracefully instead of immediately
failing.
2026-03-12 08:19:43 -04:00
sithlord48
7126f31d3f fix: do not reset network if old interface is missing
fixes: #9552
2026-03-12 10:24:20 +00:00
sithlord48
11871d343d refactor: check for not mac not win in placeof x or wayland in some cases 2026-03-06 08:57:31 -05:00
sithlord48
12cf55d4fc build: Replace WINAPI_CARBON with Q_OS_MAC 2026-03-06 08:57:31 -05:00
sithlord48
e4cf1392c9 build: Replace WINAPI_MSWINDOWS with Q_OS_WIN 2026-03-06 08:57:31 -05:00
sithlord48
f2a54f4af0 buid: replace NIH SYSAPI_WIN32 with Q_OS_WIN 2026-03-06 08:57:31 -05:00
sithlord48
fce1a37e97 build: remove SYSAPI_UNIX define 2026-03-06 08:57:31 -05:00
sithlord48
90e79dad75 refactor: SettingsDialog update ux for initial window state 2026-03-06 13:38:30 +00:00
sithlord48
8f8874370e refactor: SettingsDialog adjust wording of close to tray option 2026-03-06 13:38:30 +00:00
sithlord48
3d67865ffc refactor: SettingsDialog, new Window Behavior tab 2026-03-06 13:38:30 +00:00
sithlord48
22a303842e refactor: Settings Dialog Vertically center contents 2026-03-06 13:38:30 +00:00
Luiz Sardinha
c20671f1db build: ensuring macOS codesign is triggered for changes in core 2026-03-05 15:22:46 -05:00
sithlord48
2b379b31cd refactor: SettingsDialog adjust tab layout to have consistant top and bottom margins 2026-03-02 06:31:21 -05:00
sithlord48
8bb23179c4 refactor: SettingsDialog, adjust tray icon style layout 2026-03-02 06:31:21 -05:00
sithlord48
a8588ab507 refactor: SettingsDialog, Fix missing spacing in language combobox with some widget sets 2026-03-02 06:31:21 -05:00
Luiz Sardinha
c80cd56f27 fix: properly handling infinite timeout for macOS on EventQueue 2026-02-27 19:47:59 -05:00
Luiz Sardinha
7743d9008d refactor: checking for server config files read permissions upon start 2026-02-27 16:21:40 -05:00
Luiz Sardinha
2ecf91e50a refactor: adding function to check if server config file have the needed read permissions 2026-02-27 16:21:40 -05:00
Luiz Sardinha
d8c7367900 fix: visual error if core start emit errors that modify start/restart visibility 2026-02-27 16:21:40 -05:00
sithlord48
fc1f3b0142 fix: macOS flicker when menu is first clicked if the app is set to autohide on startup
fixes: #9523
2026-02-27 12:25:14 +00:00