* 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
* 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
* Turn off alignment of params
* Apply Clang format
* Change AlignAfterOpenBracket to AlwaysBreak and add extra bin pack settings
* Restore default bin packing
* Apply format
* 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
* 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
* 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
* 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
* 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
* 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
* 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>
* 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
* SYNERGY1-1497 Fix problem with memory leak
* SYNERGY1-1497 Fix memory leak for TLS
* Update ChangeLog
* SYNERGY-1-1497 Update ChangeLog and Copyright info
* After getting a dead key from ToUnicodeEx, add an additional VK_SPACE
to the keyboard state so we reset the dead key flag and subsequent
calls with modifiers, like shift, return the right result (-1) instead
of 1.
This happened because without reseting the dead key status
the new one was attempted to be composed with the old one, which failed
and the end result was a single unicode codepoint not marked as a dead
key.
This opens the door to potentially use the returned unicode from the
second call as the key character instead of maintaining the
getDeadKey function.
* Update ChangeLog
Co-authored-by: Pedro Navarro <pnavarro@netflix.com>
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
Co-authored-by: Serhii Hadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
text/plain;charset=utf-8 clipboard format.
This results in double lines when pasting text copied from Linux to
Windows because the Windows client converts line endings and expects
only LF.
Co-authored-by: Pedro Navarro <pnavarro@netflix.com>
* SYNERGY-1454 MacOS part
* SYNERGY-1454 Windows part
* SYNERGY-1454 Linux part
* SYNERGY-1454 Fix comments
* SYNERGY-1454 Move common code to parent class. MacOS
* SYNERGY-1454 Move common code to parent class. Linux
* SYNERGY-1454 Move common code to parent class. Windows
* SYNERGY-1454 ChangeLog and code smell fix
* SYNERGY-1454 Add a new checkbox into the setting dialog
* SYNERGY-1454 Save the new option
* SYNERGY-1454 Pass the new option to client
* SYNERGY-1454 Parse the new param on client side
* SYNERGY-1454 Invert scroll direction for macOS
* SYNERGY-1454 Scroll direction on Windows
* SYNERGY-1454 Remove unused code
* SYNERGY-1454 Scroll direction for Linux
* SYNERGY-1454 Simplify scroll direction for Mac
* SYNERGY-1454 Simplify scroll direction for Linux
* SYNERGY-1454 Simplify scroll direction for Windows
* SYNERGY-1454 ChangeLog
* SYNERGY-1454 Fix code smell
* SYNERGY-1434 Lower case for the first char of the option
* SYNERGY-1454 Fix indentations
Co-authored-by: Serhii Hadzhilov <gadzhilov.sergey@gmail.com>
Co-authored-by: Serhii Hadzhilov <serhii@symless.com>
* SYNERGY-1397 MacOS function keys
* SYNERGY-1397 Update ChangeLog and version number
* SYNERGY-1397 Remove extra comment
* SYNERGY-1397 Remove assertions
* SYNERGY-1397 Change log level to warning
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix checkbox spelling
* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog
* SYNERGY-907 Client tray language switcher reverts to EN
*Temporary disable language sync logic
* SYNERGY-907 client tray language switcher reverts to en
*Update changelog
* Synergy 907 client tray language switcher reverts to en
*Fix sonar
* Synergy 907 client tray language switcher reverts to en
*Fix sonar
* Synergy 907 client tray language switcher reverts to en
*Fix chnagelog
* SYNERGY-907 Client tray language switcher reverts to EN
*Add prototype of keyboard layout names transfer(Windows part)
* SYNERGY-907 Client tray language switcher reverts to EN
*Add keyboard layout determination(Mac part)
* SYNERGY-907 Client tray language switcher reverts to EN
*Add language check on client side
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix Windows build
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add logs
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add protocol update
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add server side of language sync
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Remove unused variables
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*AFix mac language determination
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Clean up logs
* SYNERGY-907 Client tray language switcher reverts to EN
*Replace logs with messagebox on Windows
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add mac messagebox, revert protocol changes
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix minor language bugs
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Update chagelog
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Minor fixes
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix Linux build
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix sonar code smells
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix Linux build
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Add Linux language determination
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix sonar codesmells
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Fix sonar codesmells
* SYNERGY-907-Client-tray-language-switcher-reverts-to-EN
*Replace custom xml parser with tinyxml2
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix PR comments
* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix unix build
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix unix build
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix sonar code smells
* SYNERGY-907 Client tray language switcher reverts to EN
*Update changelog
* SYNERGY-907 Client tray language switcher reverts to EN
*Replace tinuxml with pugixml
* SYNERGY-907 Client tray language switcher reverts to EN
*Add pugixml as a git submodule
* SYNERGY-907 Client tray language switcher reverts to EN
*Add missed files
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix sonar code smells
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix comments from PR
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix sonar code smell
* SYNERGY-907 Client tray language switcher reverts to EN
*add tests for x11 files parser
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix include for unix build
* SYNERGY-907 Client tray language switcher reverts to EN
*Add test coverage for new logic
* SYNERGY-907 Client tray language switcher reverts to EN
*Add test coverage for new logic
* SYNERGY-907 Client tray language switcher reverts to EN
*Add code coverage
*Fix code smells
* SYNERGY-907 Client tray language switcher reverts to EN
*Return missed file
* SYNERGY-907 Client tray language switcher reverts to EN
*Improve code coverage of x11Layouts parser
* SYNERGY-907 Client tray language switcher reverts to EN
*Add client args code coverage
* SYNERGY-907 Client tray language switcher reverts to EN
*Return runtime language sync
* SYNERGY-907 Client tray language switcher reverts to EN
*Return windows current keyboard layout determination
* SYNERGY-907 Client tray language switcher reverts to EN
*Return Linux language determination
* SYNERGY-907 Client tray language switcher reverts to EN
*Remove debug code
* SYNERGY-907 Client tray language switcher reverts to EN
*Move back Carbon current language determination
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language change for existed languages on iOS and Linux
* SYNERGY-907 Client tray language switcher reverts to EN
*Return protocol missed parameter
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix macOS language change
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language sync (when it is disabled)
* SYNERGY-907 Client tray language switcher reverts to EN
*Add correct language choosing
*Fix code coverage tests
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix windows build and tests
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix macOS build and tests
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language change for first letter in keystroke
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix macOS build
* SYNERGY-907 Client tray language switcher reverts to EN
*Partially fix Sonar codesmells
* SYNERGY-907 Client tray language switcher reverts to EN
*Partially fix Sonar codesmells
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix build
* SYNERGY-907 Client tray language switcher reverts to EN
*Added logging for language change process
*Fixed language change process for Windows
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix double layout change in key repeat event
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix determination of current language on windows
*Removed legacy code of restoring language when leaving screen
*Fix double group change on Linux
* SYNERGY-907 Client tray language switcher reverts to EN
*Temp fix for language change on Linux
* SYNERGY-907 Client tray language switcher reverts to EN
*Add XSync to normalize Linux language polling and setting
*Remove setxkbmap using
* SYNERGY-907 Client tray language switcher reverts to EN
*Add keyboard layout changing on Linux with DBus
* SYNERGY-907 Client tray language switcher reverts to EN
*Add comments to new language change function
*Logical fix
* SYNERGY-907 Client tray language switcher reverts to EN
*Remove input attaching
* SYNERGY-907 Client tray language switcher reverts to EN
*Fix language change on macOS
* SYNERGY-907 Fix review issues
* SYNERGY-907 Fix review comment for Windows
* SYNERGY-907 Removed debug trace
Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
Co-authored-by: user <user@users-Mac-mini.local>
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
* SYNERGY-1089 There is no notification if user moves pointer between clients
* SYNERGY-1089 There is no notification if user moves pointer between 2 clients
* Update ChangeLog
* SYNERGY-1050 Synergy1. Floating issue. User is not able to paste to client in some cases
*Fix copy paste logic, when OS reported about clipboard update too late
* SYNERGY-1050 Synergy1. Floating issue. User is not able to paste to client in some cases
Update changelog
Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
* SYNERGY-988 - Normalize scrolling direction on Mac
* SYNERGY-988 - Scroll direction check on Windows
* SYNERGY-988 - Add check for registry key presence
* SYNERGY-988 - Normalize scrolling directino on Linux
* SYNERGY-988 - Detach scroll direction check on Windows
* SYNERGY-988 - Update changelog
* SYNERGY-988 - Resolve code smells
* SYNERGY-988 - Normalize scroll direction for Linux servers
* SYNERGY-988 - Removed unnecessary INFO level logs
Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>
* Support "Kana" and "Eisu" keys on Japanese Apple Pro Keyboard (JIS)
* Update ChangeLog
Co-authored-by: Serhii Hadzhilov <serhii-external@symless.com>
Co-authored-by: SerhiiGadzhilov <71632867+SerhiiGadzhilov@users.noreply.github.com>