* 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>
* 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
* 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
* 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
* 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
* 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 8f84b6ea5d.
* 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 2f956a7714.
* Revert "Temp disable post_config_all"
This reverts commit b44ed72e44.
* 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 aa40f5cd35.
* 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
* 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 b9bbda2995.
* 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 cb3caf188d.
* 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