ada2813f9f
refactor: XSocket Classes => XSocketException Classes
2025-08-11 17:14:45 +01:00
906c07e4fd
fix: MainWindow::setHostName only check if the screen is existing when in server mode, In severmode update the serverConfig serverName to prevent a case where the server screen is on the grid with the old name breaking the layout
2025-08-11 16:49:25 +01:00
a4c0e30bb8
fix: Ignore Mod2 and Mod3 to make log quieter
2025-08-07 15:31:52 -04:00
a5c9744258
fix: Account for more modifiers in the EI keymap calculation
...
Some modifiers, notably LevelThree, were not accounted for in the
modifier mask calculation. This leads to an incorrect keymap where some
key symbols were listed for keys without (or insufficient) modifiers.
Emulating those keys can then produce the wrong keysyms.
Reproducible with server and client on English(UK) layout and typing
e.g. [. That key has its own key AD11 (right of P) but is also on
the third level of AE08 (the 8 key). When the server sends the keyid 91
(for [) the client looks it up in the pre-generated keymap. It is found
first on the 8 key with no modifiers (because LevelThree was previously
ignored), hence the client simulates a key 8 press without modifiers.
This erroneously produced an 8 instead of the wanted [.
Fix this by ensuring that all modifiers are accounted for in the key
map. This fix is likely incomplete as it does not account for the full
virtual modifier to real modifier mappings possible (e.g. Mod5 *may* be
something other than AltGr) but it does push the can a bit further down
the road, for someone else to release the worms.
Closes : #8168
2025-08-07 15:31:52 -04:00
a8bf217e62
ci: Rename job 'reuse-lint' to 'lint-reuse' for consistency
2025-08-06 23:29:56 +01:00
fff25b4144
ci: Rename lint-check action to lint-clang
2025-08-06 23:29:56 +01:00
82ba5a4b97
ci: Remove redundant markdown header
2025-08-06 23:29:56 +01:00
436f5b7f0a
ci: Fix naming conventions for step names and bash vars
2025-08-06 23:29:56 +01:00
cf1789545a
ci: Surface lint and test results to comment
...
It's a bit annoying how you have to go to the workflow result to see the lint error and test results. This surfaces it to the comment in the PR.
2025-08-06 23:29:56 +01:00
d7f882f0c4
ci: Include clang-format version in lint summary
...
This could help confused developers understand why their clang-format is working differently to CI
2025-08-06 23:29:56 +01:00
2a84ef0ebf
refactor: update log calls to LOG_... fixes #8819
2025-08-06 16:18:38 +01:00
4f644acbca
ci: Use cat directly when printing PR comments
...
Wrapping in echo was stripping newlines.
2025-08-06 10:47:13 -04:00
9a9bd7e262
chore: Improve logging for active sides
...
For the longest time, this log line has bugged me:
```
active sides: e
```
It's hex, but it looks like a bug, since there's no `0x` prefix. Also, most humans can't read hex, so I added a string representation.
New version:
```
[2025-08-06T11:56:00] DEBUG: active sides: LRT (0x0e)
```
2025-08-06 08:38:00 -04:00
47bb33e065
fix: update inclusion of climits and cstdint headers
...
For INT_MAX and SIZE_MAX.
2025-08-06 13:03:52 +01:00
40423397e3
refactor: Config remove redundant != Operator in server/Config
2025-08-06 11:44:38 +01:00
4955e8c2ba
refactor: Fingerprint, KeyMap, KeySequence and Action use default == operator
2025-08-06 11:44:38 +01:00
24480ce946
refactor: AppUtilUnix remove name from unused IEventQueue pointer
2025-08-06 11:44:38 +01:00
76d5ac0a34
refactor: KeyTypes::KeyModifierNameMapEntry, remove commented code
2025-08-06 11:44:38 +01:00
d20887f34a
refactor: KeyState::updateModifierState, use std::ranges::set_difference in place of std::set_difference
2025-08-06 11:44:38 +01:00
0cbc922478
refactor: MSWindowsDesks::getCursorPos initialize pos to 0,0
2025-08-06 11:44:38 +01:00
38866cf2c1
refactor: remove unneeed constructors from DisplayInvalidExecption
2025-08-06 11:44:38 +01:00
32165f5b58
refactor: IKeyState remove need for malloc in alloc methods
2025-08-06 11:44:38 +01:00
1968669a39
refactor: App make m_bye private access it from the method bye
2025-08-06 11:44:38 +01:00
3b2b8a9ebe
refactor: IKeyState: directly make string when spilting as arg to emplace
2025-08-06 11:44:38 +01:00
048ce47008
refactor: ServerConfig: used ranged loop to process neighbours
2025-08-06 11:44:38 +01:00
d321e2a874
refactor: TCPSocket Init m_socket before m_events
2025-08-06 11:44:38 +01:00
21f47de36c
ci: Use reuse-actionv5
2025-08-06 05:54:25 -04:00
0352e1c6d6
chore: Improve logging in Server::onClipboardChanged
2025-08-05 14:41:50 -04:00
98d03fb098
chore: Improve logging in Server::handleClipboardGrabbed
2025-08-05 14:41:50 -04:00
739cdc1752
chore: Improve logging for DESKFLOW_MOUSE_ADJUSTMENT env var
...
We plan to move this elsewhere, but in the meantime, the DEBUG1 logging was too noisy. Also fixed some code style that was bugging me.
2025-08-05 14:41:50 -04:00
54a7ef24d9
refactor: Remove unused includes from KeyMap.cpp and use correct <algorithm> include
2025-08-05 08:56:53 -04:00
c4ff0b1832
refactor: Remove unnecessary debug log from KeyState::fakeKeys
2025-08-05 08:56:53 -04:00
b70c6556c9
refactor: mainwindow show displayVersion with start up info
2025-08-05 13:36:04 +01:00
80408b985e
refactor: show display version for --version
2025-08-05 13:36:04 +01:00
ff1e7f3c9f
refactor: ClientApp / ServerApp, remove do nothing updateStatus methods and calls
2025-08-04 13:46:27 +01:00
b2eb3a036d
refactor: move ClientApp::handleScreenError / ServerApp::handleScreenError to base App Class
2025-08-04 13:46:27 +01:00
229fedf347
refactor: App::m_bye make protected
2025-08-04 13:46:27 +01:00
cfccee1592
refactor: TCPSocket, make m_events private access via getEvents method
2025-08-04 13:46:27 +01:00
0c728beb01
refactor: TCPListenSocket, replace make protected members private, use protected methods to acces them in the subclasses
2025-08-04 13:46:27 +01:00
4e01e3f337
refactor: make APP:m_events private access via exsisting getEvents method
2025-08-04 13:46:27 +01:00
92ae41852d
chore: remove Unused Stopwatch::double operator
2025-08-04 13:46:27 +01:00
4f9b042f5a
refactor: explicit constructor for PlatformScreen, FileTail, FunctionJob, FunctionEventJob, ServerConfig, ScreenSettingsDialog, KeySequenceWidget, NetworkAddress, AddClientDialog, ConfigReadContext, LockCursorToScreenAction, RestartServer And KeyboardBroadcastAction
2025-08-04 13:46:27 +01:00
1236fa4cab
fix: server: initialize the m_protocol member with a default value
...
It is likely random whether the server works or not without
a manually configured protocol option, which is neither documented
nor enforced to be set.
With a random uninitialized value in m_protocol, this can happen:
[2025-08-03T12:39:57] NOTE: accepted client connection
[2025-08-03T12:39:57] FATAL: a runtime error occurred: XInvalidProtocol
Reports of "it works with debug enabled" are likely due to having
parts of the memory space the server object is allocated into being
cleared, and thus having a 0 (Synergy) startup value.
2025-08-04 12:47:13 +01:00
e69be64773
refactor: remove redundant != operators c++20 std will generate the !=operator as long as the class has an ==operator
2025-08-01 13:03:51 -04:00
c2db28a624
refactor: ServerProxy::setActiveServerLanguage take std::string_view
2025-08-01 13:03:51 -04:00
1f92f2a2ed
chore: XWindowsScreen declare vars on seperate lines
2025-08-01 13:03:51 -04:00
74bbd5af25
chore: Fingerprint, remove unneed private label in struct
2025-08-01 13:03:51 -04:00
023037f7ee
refactor: XWindowsClipboard, user std::format_to_n in place of snprintf
2025-08-01 13:03:51 -04:00
fe19f4de66
refactor: ServerProxy::setActiveServerLanguage, use std::string size method to get string in place of strlen
2025-08-01 13:03:51 -04:00
d120cc853d
refactor: InputFilter, user std::ranges::partial_sort in == operator
2025-08-01 13:03:51 -04:00