Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
a521ac1
Re-fork Deskflow 1.26 an add Synergy brand
nbolton May 6, 2026
a21afff
Port activation changes from extra
nbolton May 6, 2026
9f5f638
build: update minor version to 21 in CMakeLists.txt
nbolton May 6, 2026
9deafd6
refactor: remove unused launch configurations and test tasks from VSC…
nbolton May 6, 2026
e33071f
refactor: update icon paths and improve error message handling in Win…
nbolton May 6, 2026
b23cd19
refactor: reorganize project structure and enhance CMake configuratio…
nbolton May 6, 2026
71867f5
refactor: update project domain handling and remove unused UrlConstan…
nbolton May 7, 2026
8ec8fbb
refactor: update project structure and naming conventions across CMak…
nbolton May 7, 2026
762b2a6
refactor: standardize translation filenames using a variable for cons…
nbolton May 7, 2026
18ae562
refactor: enhance versioning logic to compute revision count from Git…
nbolton May 7, 2026
9144cf9
Enhance application dialogs and translations
nbolton May 7, 2026
6de422a
Add README and update copyright information to Synergy App Ltd
nbolton May 7, 2026
678833b
Refactor settings management and introduce test settings
nbolton May 7, 2026
deb0a3a
feat: add test menu functionality to FeatureHandler
nbolton May 7, 2026
0eaafb6
refactor: update ExtraSettings to use QSettings for configuration man…
nbolton May 7, 2026
304388d
feat: implement settings migration and update URLs for API and downlo…
nbolton May 10, 2026
9db3ddd
refactor: enhance documentation and improve legacy settings migration…
nbolton May 10, 2026
ad6df2f
feat: add Synergy.icns resource for macOS bundle
nbolton May 10, 2026
6e342b7
feat: implement settings scope management and migration logic
nbolton May 10, 2026
2f856d0
refactor: remove unused icon files from resource configuration
nbolton May 10, 2026
342ca06
feat: add example configuration file for Synergy test settings
nbolton May 10, 2026
e51bb0b
refactor: update "Report a Bug" action text to "Get help"
nbolton May 10, 2026
2525d00
refactor: replace "Report a Bug" text with "Get help" in multiple tra…
nbolton May 10, 2026
7944811
feat: add synergy icons to resource configuration
nbolton May 10, 2026
c2f8a50
feat: add licensing option to test settings for activation flow
nbolton May 11, 2026
979635e
feat: add build options for GUI and core flavor, update window title …
nbolton May 11, 2026
8663a7b
Refactor versioning system to use a single source of truth
nbolton Jun 1, 2026
806c935
feat: ensure core uses the same settings file as GUI for consistent c…
nbolton Jun 2, 2026
14f2f16
feat: add platform selection option for CI builds to filter by target OS
nbolton Jun 2, 2026
e54a98b
fix: update CI job dependencies and remove unused unix job
nbolton Jun 2, 2026
56468d1
feat: add Synergy desktop entry and Flatpak manifest for deployment
nbolton Jun 2, 2026
ba19a51
fix: update Slack notification mechanism in CI workflow for improved …
nbolton Jun 2, 2026
65353fa
fix: change shell to default for CI configuration step
nbolton Jun 2, 2026
64a77b6
fix: update file paths for desktop and metainfo installations in depl…
nbolton Jun 2, 2026
4b24d5a
fix: replace incorrect include of bits/chrono.h with chrono in consta…
nbolton Jun 2, 2026
0592c17
refactor: simplify CI workflow by removing test summary job and updat…
nbolton Jun 2, 2026
4868de5
fix: update CPackWiXFragment identifiers and names to use CMake varia…
nbolton Jun 2, 2026
9007404
refactor: update translation handling to use upstream project name fo…
nbolton Jun 2, 2026
ba45975
fix: update action.yml to use 'synergy' instead of 'deskflow' for pac…
nbolton Jun 2, 2026
9fc648f
fix: update help URL in metainfo.xml for consistency
nbolton Jun 2, 2026
b29566d
refactor: update version handling to use base version for consistency…
nbolton Jun 2, 2026
4f896e2
fix: update synergy_compute_version call to include base version para…
nbolton Jun 2, 2026
038105f
fix: update icon installation paths and rename for synergy branding
nbolton Jun 3, 2026
10efc3e
fix: improve package build error handling with retry logic
nbolton Jun 3, 2026
adaf344
fix: update app position reference to use dynamic image name
nbolton Jun 3, 2026
a286600
fix: update project organization and key for synergy configuration
nbolton Jun 3, 2026
3d882b7
fix: update Qt version for Windows and macOS builds
nbolton Jun 3, 2026
2ef62fa
fix: update default network protocol to Synergy
nbolton Jun 3, 2026
f4074cf
fix: disable macOS bundle creation for headless builds
nbolton Jun 3, 2026
59657c3
fix: unify macOS deployment target handling in CI and CMake
nbolton Jun 3, 2026
570fa1d
fix: enhance CI configuration and dependency management for Wayland s…
nbolton Jun 3, 2026
9563666
fix: simplify state file path assignment in Settings.cpp
nbolton Jun 3, 2026
38bec6a
fix: streamline state file path assignment in Settings.cpp
nbolton Jun 3, 2026
f4684d1
fix: update Lint Clang action description and remove CI comment workflow
nbolton Jun 3, 2026
5b8aa8b
fix: add missing Qt6 localization tools for Linux dependency installa…
nbolton Jun 3, 2026
e1298bf
fix: optimize LogLevel option handling and improve string manipulatio…
nbolton Jun 3, 2026
cf04a2a
fix: replace QtTypes with QtGlobal in header files for consistency
nbolton Jun 3, 2026
c8fde32
fix: add forward declaration for QTextStream in FingerprintDatabase.h
nbolton Jun 3, 2026
98f4891
fix: update minimum CMake version to 3.24 and required Qt version to …
nbolton Jun 3, 2026
3b7a085
fix: convert std::string to QString for logging in longerText test
nbolton Jun 3, 2026
975020e
fix: reorder Qt header inclusion to prevent conflicts with X11 headers
nbolton Jun 3, 2026
609734f
fix: update clipboard format references to use IClipboard::Format for…
nbolton Jun 3, 2026
22bd368
fix: implement isPrivateUse function for QHostAddress compatibility a…
nbolton Jun 3, 2026
828adcd
fix: handle case when X display is unavailable in XWindowsClipboardTests
nbolton Jun 3, 2026
4e20555
feat: add update channel option to settings dialog and implement vers…
nbolton Jun 3, 2026
df7a135
fix: downgrade REQUIRED_LIBPORTAL_VERSION from 0.8.0 to 0.7.0
nbolton Jun 3, 2026
e036d68
feat: add style update notice functionality to FeatureHandler and upd…
nbolton Jun 3, 2026
ac136d1
fix: update REQUIRED_LIBPORTAL_VERSION to 0.8.0 and streamline depend…
nbolton Jun 3, 2026
817d901
feat: enhance launch configurations and add server/client tasks for s…
nbolton Jun 4, 2026
701d7ba
feat: update versioning scheme to include stage in version string
nbolton Jun 5, 2026
f74bfe1
feat: implement About dialog functionality in FeatureHandler and Lice…
nbolton Jun 5, 2026
38ad1e7
feat: add GPL and EULA links to About dialog in FeatureHandler
nbolton Jun 5, 2026
2c86965
feat: enhance About dialog with tagline, attribution, and license links
nbolton Jun 5, 2026
08e0c6d
refactor: change pathLabel function to static and remove unnecessary …
nbolton Jun 5, 2026
a255828
fix: remove unnecessary argument from kUrlUpdateCheck definition
nbolton Jun 5, 2026
76234f9
feat: update window title handling to include version stage and show/…
nbolton Jun 5, 2026
8abef90
feat: bundle MSVC C++ runtime as merge module in installer and remove…
nbolton Jun 5, 2026
f48d772
feat: add synergy-dark and synergy-light theme files to resource conf…
nbolton Jun 5, 2026
56848bb
fix: remove redundant runInTerminal property from launch configurations
nbolton Jun 5, 2026
732851d
feat: add support for crisp system-tray icons using SVG resources
nbolton Jun 5, 2026
33dfa85
feat: add symbolic SVG icons for dark and light themes
nbolton Jun 5, 2026
aa5d641
feat: update tray icon handling to support synergy extra header
nbolton Jun 5, 2026
1f432e4
feat: update SVG viewBox dimensions for dark and light theme icons
nbolton Jun 5, 2026
a2bb61d
feat: update SVG dimensions for consistency in dark and light theme i…
nbolton Jun 5, 2026
198caaf
fix: standardize default values and improve concurrency handling in C…
nbolton Jun 8, 2026
b6d6976
refactor: streamline test settings configuration and remove environme…
nbolton Jun 10, 2026
74d27d5
feat: enhance license handling with activation unreachable signal and…
nbolton Jun 10, 2026
b60a035
fix: improve core process start handling with clearer warnings for un…
nbolton Jun 10, 2026
ba04159
feat: Implement offline activation feature
nbolton Jun 10, 2026
e91ead4
feat: implement destructor for MSWindowsWatchdog and improve thread s…
nbolton Jun 11, 2026
87e6f58
fix: simplify thread stopping logic in MSWindowsWatchdog::stop
nbolton Jun 11, 2026
49c2b17
feat: add seat count handling to SerialKey and update related parsing…
nbolton Jun 11, 2026
e0c3e40
feat: add handling for deactivated license state and related signals
nbolton Jun 11, 2026
dc7e87a
feat: enhance LicenseApiClient and LicenseHandler for server takeover…
nbolton Jun 11, 2026
49c149f
feat: add handling for deactivated license state and introduce checkD…
nbolton Jun 11, 2026
30ef107
feat: implement server takeover handling and introduce askServerQuest…
nbolton Jun 11, 2026
33ba2cb
feat: add QTimer include to ActivationDialog for improved timing func…
nbolton Jun 11, 2026
0d0cb4e
feat: refine core process activation logic based on activation type
nbolton Jun 11, 2026
c828595
feat: improve core process mode handling for offline licenses and sim…
nbolton Jun 11, 2026
b01be49
feat: simplify contact link styling in activation dialogs and improve…
nbolton Jun 11, 2026
d7158a5
feat: implement transfer timeout for LicenseApiClient and improve cor…
nbolton Jun 11, 2026
ed53959
feat: enhance license activation error handling and improve user mess…
nbolton Jun 11, 2026
652e142
feat: update license handling logic and improve method naming for cla…
nbolton Jun 11, 2026
9e981b0
feat: update copyright years to 2026 across multiple files
nbolton Jun 11, 2026
a2f3d7a
feat: update URL parameters for tracking in activation dialogs and co…
nbolton Jun 11, 2026
0238bbe
feat: update license test assertions to reflect new product naming co…
nbolton Jun 11, 2026
b5b9df4
feat: update copyright information to reflect current ownership and y…
nbolton Jun 12, 2026
a894817
feat: update trademark notice for consistency in FeatureHandler
nbolton Jun 12, 2026
fdd4779
feat: enhance ActivationDialog UI and improve license handling for pe…
nbolton Jun 12, 2026
2b7cb3f
feat: update SSL signing credentials and disable malware block for si…
nbolton Jun 12, 2026
7e500f5
feat: add build date display to About dialog in FeatureHandler
nbolton Jun 12, 2026
9599ea6
feat: refactor license handling and add remote check functionality
nbolton Jun 15, 2026
519f768
feat: improve code readability in LicenseHandler by formatting connec…
nbolton Jun 15, 2026
d22477c
feat: clarify server activation deactivation messages in LicenseHandler
nbolton Jun 16, 2026
7419a95
feat: enhance warning message for running instance in deskflow core
nbolton Jun 16, 2026
4aae9d8
feat: update offline activation constants and test vectors for consis…
nbolton Jun 16, 2026
4dfe0c4
feat: refactor license API URL handling to use a base URL for activat…
nbolton Jun 17, 2026
cc1305b
feat: enhance versioning display logic for better traceability in builds
nbolton Jun 17, 2026
4e76f50
feat: add MSVC runtime requirement handling to ensure bundled CRT is …
nbolton Jun 17, 2026
ffce523
refactor: improve comments and streamline MSVC runtime version handling
nbolton Jun 17, 2026
2074ccb
feat: update CPack configuration for improved project name handling a…
nbolton Jun 17, 2026
e262a6a
refactor: clarify comments on MSVC runtime version mapping and bundli…
nbolton Jun 17, 2026
fcf220f
feat: enhance versioning logic to include short git SHA for dev builds
nbolton Jun 17, 2026
d4e6917
feat: refine human-facing versioning logic to improve snapshot tracea…
nbolton Jun 17, 2026
3be29dd
feat: adjust version label font to match sibling label for consistent…
nbolton Jun 17, 2026
f35e7d5
feat: update Wix banner image for enhanced visual presentation
nbolton Jun 17, 2026
e1eb685
feat: implement custom package filename scheme for Synergy distribution
nbolton Jun 17, 2026
3e62ffc
feat: update package file matching patterns for cross-platform compat…
nbolton Jun 17, 2026
80e92d0
feat: add Synergy EULA to the installer package for compliance
nbolton Jun 17, 2026
7319d26
Refactor code structure for improved readability and maintainability
nbolton Jun 17, 2026
28b05df
Update wix-dialog assets: change background color in SVG and modify d…
nbolton Jun 17, 2026
6db3166
Update wix-dialog assets: replace PNG and modify SVG content
nbolton Jun 17, 2026
3064fde
Refactor code structure for improved readability and maintainability
nbolton Jun 17, 2026
c5068dd
Update Synergy EULA text in installer package for clarity and compliance
nbolton Jun 17, 2026
88eb0e5
Remove unused image assets from wix deployment
nbolton Jun 17, 2026
e3f8399
Update developer ID and homepage URL in metainfo file; enhance releas…
nbolton Jun 17, 2026
4d820df
Add git configuration to handle dubious ownership in CI environment
nbolton Jun 17, 2026
2761dd3
Add EULA and update DMG background image for macOS deployment
nbolton Jun 17, 2026
7d13979
Update project references from Deskflow to Synergy in source files
nbolton Jun 17, 2026
14d3e50
Update local network usage description to use project name placeholder
nbolton Jun 17, 2026
4132561
Refactor macOS signing conditions in CI workflow to use MAC_SIGNING e…
nbolton Jun 17, 2026
4ab27c3
Enhance macOS notarization process by adding codesigning for app bund…
nbolton Jun 17, 2026
6c34f21
Add CPack pre-build script for app bundle codesigning to ensure notar…
nbolton Jun 17, 2026
c7b72e8
Replace qFatal with qCritical for improved error handling in various …
nbolton Jun 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
187 changes: 0 additions & 187 deletions .github/README.md

This file was deleted.

33 changes: 24 additions & 9 deletions .github/actions/get-version/action.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,30 @@
name: "Get version"
description: "Gets the version number from GitHub environment"
description: >
Computes the build version via extra/cmake/SaveVersion.cmake — runs the same
synergy_compute_version() the build uses, so the CI-side version (used in
package filenames, S3 paths, release titles) matches what binaries report.

outputs:
version:
description: "Synergy version (e.g. 1.21.0, 1.21.0-snapshot+r42, 1.21.0-dev)"
value: ${{ steps.compute.outputs.version }}

runs:
using: "composite"

steps:
- run: |
echo "DESKFLOW_VERSION=$(git describe --long | sed 's/-/./g;s/v//g' | grep -o '^[0-9]*.[0-9]*.[0-9]*.[0-9]*')">> $GITHUB_ENV
if [[ "$GITHUB_REF" == *"tags/v"* ]]; then
echo "DESKFLOW_PACKAGE_VERSION=$(echo $GITHUB_REF | sed 's,refs/tags/v,,g')">> $GITHUB_ENV
else
echo "DESKFLOW_PACKAGE_VERSION=continuous">> $GITHUB_ENV
fi
- id: compute
shell: bash
run: |
# Container jobs bind-mount the workspace owned by the host user while
# running as root, so git rejects it as dubious-owned and the SHA lookup
# in Version.cmake fails silently, degrading the version to a no-SHA form.
git config --global --add safe.directory "$GITHUB_WORKSPACE"
mkdir -p build
cmake \
-DVERSION_FILE=build/VERSION \
-DSYNERGY_VERSION_RELEASE=${SYNERGY_VERSION_RELEASE:-false} \
-DSYNERGY_VERSION_SNAPSHOT=${SYNERGY_VERSION_SNAPSHOT:-false} \
-P extra/cmake/SaveVersion.cmake
version=$(cat build/VERSION)
echo "Computed version: $version"
echo "version=$version" >> "$GITHUB_OUTPUT"
3 changes: 3 additions & 0 deletions .github/actions/install-dependencies/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,12 @@ runs:
elif [ "$RUNNER_OS" == "Linux" ]; then
if [ ${{inputs.like}} == "debian" ]; then
apt update -qqq > /dev/null
# qt6-l10n-tools + qt6-tools-dev-tools provide lconvert/lupdate/lrelease that
# qt6-tools-dev's LinguistTools cmake references but doesn't always pull in.
apt install -qqq cmake build-essential ninja-build \
xorg-dev libx11-dev libxtst-dev libssl-dev \
libglib2.0-dev libxkbfile-dev qt6-base-dev qt6-tools-dev \
qt6-l10n-tools qt6-tools-dev-tools \
libgtk-3-dev libgtest-dev libgmock-dev \
libei-dev libportal-dev help2man doxygen -y >/dev/null
elif [ ${{inputs.like}} == "fedora" ]; then
Expand Down
36 changes: 4 additions & 32 deletions .github/actions/lint-clang/action.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: "Lint Clang"
description: "Checks for Clang lint errors and posts a helpful comment"
description: "Fails CI if any source file doesn't match clang-format"

runs:
using: "composite"
Expand Down Expand Up @@ -43,48 +43,20 @@ runs:
if-no-files-found: error

- name: Set summary
id: summary
if: steps.changes.outputs.diff
run: |
code_block="\`\`\`"

clang_version=$(clang-format --version | sed -n 's/^.*version //p')
cat <<EOF >> $GITHUB_STEP_SUMMARY
❌ \`clang-format\` \`v${clang_version}\`: changes don't match the code style.

summary=$(cat <<EOF
❌ \`clang-format\` \`v${clang_version}\`: It looks like your changes don't match our code style.

🛠️ Please either run \`clang-format -i\` on the file or apply this patch with \`git apply\`:

[\`${{ steps.changes.outputs.file }}\`](${{ steps.upload.outputs.artifact-url }})
Run \`clang-format -i\` on the changed files, or download the \`clang-format-diff\` artifact and \`git apply\` it.
$code_block diff
${{ steps.changes.outputs.diff }}
$code_block

Hint: Install the right version of \`clang-format\`, e.g.: \`pipx install --global clang-format==${clang_version}\`
EOF
)
echo "$summary" >> $GITHUB_STEP_SUMMARY

pr_comment=$(cat <<EOF
### Lint result

$summary
EOF
)

file="ci-summary.md"
echo "$pr_comment" | tee $file
echo "file=$file" >> $GITHUB_OUTPUT
shell: bash

- name: Upload CI summary as artifact
if: steps.summary.outputs.file
uses: actions/upload-artifact@v7
with:
name: summary-clang-format
path: ${{ steps.summary.outputs.file }}
if-no-files-found: error

- name: Fail if diff exists
if: steps.changes.outputs.diff
run: exit 1
Expand Down
49 changes: 6 additions & 43 deletions .github/actions/run-tests/action.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
name: "Run tests"
description: "Runs both unit tests and integration tests and appends to a PR comment"
description: "Runs both unit tests and legacy tests"

inputs:
job:
description: "The job name to append to the PR comment"
required: true
default: "unknown"

bin-dir:
description: "The directory containing the test binaries"
default: "build/bin"
Expand All @@ -20,11 +15,12 @@ runs:
env:
QT_QPA_PLATFORM: offscreen
run: |
ctest --test-dir "build/src/unittests" --output-on-failure
result=$?
ctest --test-dir "build/src/unittests" --output-on-failure || result=1
ctest --test-dir "build/extra/src/unittests" --output-on-failure || result=1

if [ $result -ne 0 ]; then
echo "Unit tests failed with code: $result" >> $GITHUB_STEP_SUMMARY
if [ "${result:-0}" -ne 0 ]; then
echo "Unit tests failed" >> $GITHUB_STEP_SUMMARY
exit 1
fi
shell: bash
continue-on-error: true
Expand All @@ -43,39 +39,6 @@ runs:
shell: bash
continue-on-error: true

- name: Get test results
id: results
run: |
pass="✅ Pass"
fail="❌ Fail"
unit_tests_outcome="${{ steps.unit-tests.outcome }}"
legacy_tests_outcome="${{ steps.legacy-tests.outcome }}"
unit_tests=$( [ "$unit_tests_outcome" = "success" ] && echo $pass || echo $fail )
legacy_tests=$( [ "$legacy_tests_outcome" = "success" ] && echo $pass || echo $fail )
echo "unit-tests=$unit_tests" >> $GITHUB_OUTPUT
echo "legacy-tests=$legacy_tests" >> $GITHUB_OUTPUT
shell: bash

- name: Summary row
id: row
run: |
file="row-${{ inputs.job }}.md"

row=""
row+="| ${{ inputs.job }} "
row+="| ${{ steps.results.outputs.unit-tests }} "
row+="| ${{ steps.results.outputs.legacy-tests }} "
echo "$row" > $file

echo "file=$file" > $GITHUB_OUTPUT
shell: bash

- name: Save summary row
uses: actions/upload-artifact@v7
with:
name: test-result-${{ inputs.job }}
path: ${{ steps.row.outputs.file }}

- name: Check test outcome
if: (steps.unit-tests.outcome != 'success' || steps.legacy-tests.outcome != 'success')
run: |
Expand Down
Loading
Loading