No description
Find a file
Nick Bolton 50d29edd05
Solve SonarCloud security hotspots and bugs (#7383)
* 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
2024-07-16 08:30:35 +00:00
.github Solve SonarCloud security hotspots and bugs (#7383) 2024-07-16 08:30:35 +00:00
.vscode Solve SonarCloud security hotspots and bugs (#7383) 2024-07-16 08:30:35 +00:00
cmake Solve SonarCloud security hotspots and bugs (#7383) 2024-07-16 08:30:35 +00:00
doc Re-implement packaging for GitHub workflows (Linux) (#7361) 2024-07-02 11:23:56 +01:00
ext Synergy 907 client tray language switcher reverts to en (#7038) 2021-10-04 18:51:12 +03:00
res Disable debug for Arch package (#7377) 2024-07-09 18:37:00 +01:00
scripts Solve SonarCloud security hotspots and bugs (#7383) 2024-07-16 08:30:35 +00:00
src Solve SonarCloud security hotspots and bugs (#7383) 2024-07-16 08:30:35 +00:00
.clang-format Format all source with Clang and introduce lint workflow (#7364) 2024-07-02 20:07:06 +01:00
.env.example Resolve Qt framework path with install_name_tool (#7379) 2024-07-10 15:11:32 +00:00
.gitignore Re-implement packaging for GitHub workflows (Linux ARM) (#7369) 2024-07-08 09:32:55 +00:00
.gitmodules Synergy 907 client tray language switcher reverts to en (#7038) 2021-10-04 18:51:12 +03:00
Brewfile Correct Qt macOS target and drop Core5Compat lib (#7389) 2024-07-15 12:57:39 +01:00
ChangeLog Solve SonarCloud security hotspots and bugs (#7383) 2024-07-16 08:30:35 +00:00
Chocolatey.config Upgrade from Qt5 to Qt6 for more modern UI (#7373) 2024-07-08 15:37:51 +01:00
cmake-format.yaml Solve SonarCloud security hotspots and bugs (#7383) 2024-07-16 08:30:35 +00:00
CMakeLists.txt Re-implement packaging for GitHub workflows (Linux) (#7361) 2024-07-02 11:23:56 +01:00
CMakePresets.json Combine GitHub workflows to reduce config duplication (#7352) 2024-06-19 17:48:18 +01:00
config.yaml Solve SonarCloud security hotspots and bugs (#7383) 2024-07-16 08:30:35 +00:00
cspell.json Resolve Qt framework path with install_name_tool (#7379) 2024-07-10 15:11:32 +00:00
Doxyfile #6666 Fixed absolute path 2020-04-21 16:54:43 +01:00
LICENSE Add missing dependencies to Debian package (#7374) 2024-07-09 11:12:44 +01:00
README.md Run install_deps.py script when building containers weekly (#7384) 2024-07-11 15:26:38 +01:00
VERSION Re-implement CI auto version increment for packaging (#7354) 2024-06-26 15:46:42 +00:00

Synergy Core

CI CodeQL Analysis SonarCloud Analysis Build containers

This is the open source core component of Synergy, a keyboard and mouse sharing tool.

Developer quick start

Simplified instructions for those who want to contribute to development of Synergy Core.

You'll also need to read the quick start companion which contains essential instructions.

Dependencies:

python scripts/install_deps.py

Configure:

Windows:

cmake -B build --preset=windows-release

macOS:

cmake -B build --preset=macos-release

Linux:

cmake -B build --preset=linux-release

Build:

cmake --build build -j8

Test:

./build/bin/unittests

Developer resources

For people who want to contribute to the development of Synergy.

  • Getting started - How to checkout the code from git and use the right branch.
  • Compiling - Instructions on how to compile Synergy Core from source.
  • Text config - Write a text config file when running Synergy Core manually.
  • Command line - Go full manual and run Synergy Core from the command line.
  • Synergy Vintage - Use Synergy on operating systems available between 1995 and 2006.