- 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
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*
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.
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.
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.
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.
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>
* 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
* 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>
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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.
* 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
* 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
* 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
* 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
* 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)
* 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
* 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
* 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
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.
* 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>
* 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>
* 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>
* 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
* 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>
Add a SYSTEM_PUGIXML CMake option that can be used to build the package
against system-provided version of pugixml instead of the vendored one.
Multiple Linux distributions have a policy against bundling libraries,
and in this particular case there doesn't seem to be any justification
to using the bundled library version.
Fixes#7118
* 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-1287 Display language notification only on client side
* SYNERGY-1287 Always show notification on the client side
* Update ChangeLog
* Fix doxygen job
* 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
* SYNERGY-1081 Synergy1. Buffer was not updated in case user copies on server and then copies on client and paste
Fix server assert when client updating clipboard
Co-authored-by: Andrii Batyiev <andrii-external@symless.com>
* 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>
* SYNERGY-1007 Release candidate
* SYNERGY-1014 Update openSSL to 1.1.1k on Windows artefacts
* SYNERGY-1015 Remove SYNERGY_AUTOCONFIG fom cmake files
* SYNERGY-1015 Update ChangeLog.txt
* SYNERGY-1005 Add fedora 33 to 1.14.0
* SYNERGY-1021 Incorrect client place for the first connection
* Update ChangeLog
* Update build_version.py to select correct build number
* SYNERGY-1023 Typo in <displays> on the server configuration page
* SYNERGY-1028 New licenses for Chinese market (#7031)
* SYNERGY-1028 New china licenses
* Update ChangeLog
* SYNERGY-1024 Release 1.14.0
* Update Version.cmake
Co-authored-by: Igor Sikachyna <sikachynairl@gmail.com>