* 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
* 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
* 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
* Move QApplication out of main to reduce memory impact when running individual tests
* Add --valgrind arg and colorize output when command returns non-zero exit code
* Fixed: colorama not always available
* Test multiple Qt tests
* Fixed: Windows Qt test failing due to missing QCoreApplication
* Simplify fake args for Qt
* Use --ci-env arg
* Create Valgrind analysis workflow
* Rename vars for fake args
* Parse and output valgrind summary
* Add build mode to comment
* Use GITHUB_OUTPUT to output summary
* Merge valgrind comment
* Improve comment
* Use `tee` instead of `--log-file` to also print stdout
* Improve comment about debug and release
* Simplify output writing in parse step
* Improve step name
* Correct comment about summaries
* Remove commented out code
* Better var name
* Missing copyright
* Rename global to shared
* Remove space
* Revert change to ConfigTests.cpp
* 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