Commit Graph

4359 Commits

Author SHA1 Message Date
Nick Bolton
c916dcde89 Move if from step if condition to bash syntax 2024-09-04 17:52:51 +01:00
Nick Bolton
7355ae6595 Fixed syntax for if in get-version action step 2024-09-04 17:50:03 +01:00
Nick Bolton
bcb6ee28bf Move get version logic to composite action 2024-09-04 17:43:20 +01:00
Nick Bolton
ea90deba96 Revert "Don't return master as version"
This reverts commit 2d62e97e33.
2024-09-04 17:37:52 +01:00
Nick Bolton
22e3d8763f Remove version field requirement for workflow dispatch 2024-09-04 17:27:22 +01:00
Nick Bolton
2d62e97e33 Don't return master as version 2024-09-04 17:24:03 +01:00
Nick Bolton
7132c5990b Don't build on master push 2024-09-04 17:23:51 +01:00
Nick Bolton
20343f9a16 Upload on tag push and not when master 2024-09-04 17:10:42 +01:00
Nick Bolton
2a469e5690 Run CI on master push 2024-09-04 16:57:34 +01:00
Nick Bolton
94d9baca2d
Use vcpkg to manage openssl dep instead of choco (#7471)
* Brighter red

* Move openssl to vcpkg.exe

* Revert "Move openssl to vcpkg.exe"

This reverts commit 36f39d916f.

* 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 c266d29c2c.

* 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 a65c02d275.

* 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 4ddee1c66e.

* Add comment about why we're using local vcpkg

* Fixed comment about VC++

* Improve config comments

* Delete dead code

* Improve comment about vcpkg/buildtrees
2024-09-04 16:52:37 +01:00
Nick Bolton
0eadaec2d8
Port EI fixes to use pipe2 instead of pipe and fcntl (#7470)
* Kill build to prevent multiple processes running in dev

* Port EI fixes to use `pipe2` instead of `pipe` and `fcntl`
2024-09-03 20:18:13 +01:00
Nick Bolton
cd63a29c19
Option to link against local libportal and other subprojects (#7469)
* Link against local libei and libportal and use main for both

* Change to `--meson-no-system`

* Add missing libportal dep

* Python trick I learned from Peter Hutterer :D

* Remove qt6-base-private-dev not needed

* Remove unused HAVE_LIBEI_SEQUENCE_NUMBER

* Add hack to force all libportal functions on for local build

* Always wipe instead of reconfigure

* Fixed function name in deps

* Update ChangeLog

* Fixed formatting
2024-09-03 19:26:44 +01:00
Nick Bolton
b128863c67
Load server or client args from synergy-config.toml (#7467)
* 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
2024-09-02 23:48:57 +01:00
Nick Bolton
4b4bfc4bc8 Use github.rest.git instead of github.git 2024-09-02 16:21:54 +01:00
Nick Bolton
03fbc709a0 Fixed name for create-tag.yml and fixed typo 2024-09-02 16:19:55 +01:00
Nick Bolton
d063e08942
Also cut + char for SHORT_VERSION var used on upload (#7465)
* Also cut + when creating `SHORT_VERSION` var for upload

* Update ChangeLog
2024-09-02 16:18:34 +01:00
Nick Bolton
22498f6985 Add missing #7464 from ChangeLog 2024-09-02 16:09:35 +01:00
Nick Bolton
a05cb97074
Restore --only-python arg to only install Python deps (#7464) 2024-09-02 16:08:39 +01:00
Nick Bolton
996fb5c21b
Only create tags (not releases) when merging PRs into master (#7462)
* Create a tag instead of a release

* Rename script to 'tags' (not 'release')
2024-09-02 14:14:02 +01:00
Nick Bolton
8778a305f4
More robust choco install and helpful install_deps.py messages (#7461)
* Only show error/success conditionally

* Make choco install more robust

* Improve deps script to remind about restarting shells

* Add note about Mac Qt

* Update ChangeLog
2024-09-02 14:00:24 +01:00
Nick Bolton
bcdf70a298
Make Meson-provided packages optional (#7459)
* 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
2024-09-02 09:28:27 +01:00
Nick Bolton
1e6c603739
Restored SonarCloud quality badge 2024-08-30 23:15:49 +01:00
Nick Bolton
1ebfe2ac7d
Use EI screen when XDG_SESSION_TYPE is "wayland" (#7455)
* Use EI screen when XDG_SESSION_TYPE is wayland

* Log when using EI vs X

* Update ChangeLog
2024-08-30 22:35:20 +01:00
Nick Bolton
88cc3b5e67 Update ChangeLog for 1.15.1 2024-08-30 22:23:45 +01:00
Nick Bolton
4d84097334
Change default value for dev thanks message (1.16) (#7453)
* Forward port: Change default value for dev thanks message

* Remove sneaky submodules

* Update ChangeLog
2024-08-30 21:14:02 +01:00
Nick Bolton
4e844bf307
Wayland support (port Red Hat libei and libportal impl) (#7449)
* 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 610cebb5b6.

* 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 92c8a287b8.

* 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 c926d78ba4.

* 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 5bbc8fd689.

* 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
2024-08-30 15:53:25 +01:00
Nick Bolton
2b663a8dc9
Make community edition packages clearer in README 2024-08-24 17:51:16 +01:00
Nick Bolton
47735d25b4
Update README to make community links clearer 2024-08-24 17:40:13 +01:00
Nick Bolton
8449170c0b
Make steps numbered for developers and add packaging info 2024-08-23 13:11:12 +01:00
Nick Bolton
0cdfbd8635
Update readme for Unix users 2024-08-23 12:47:40 +01:00
import-that
5ec9397881
Update config.yaml to support Linux Mint build target (#7445)
* Update config.yaml to support Linux Mint build target

Linux Mint is a Debian downstream, and it should be supported as such

* Update ChangeLog

---------

Co-authored-by: Nick Bolton <nick@symless.com>
2024-08-23 11:32:18 +01:00
Nick Bolton
13bf2dace4
Only add PR comments for internal PR (#7448)
* Add write permission for issues

* Add write permission to PRs

* Update ChangeLog

* Fixed ChangeLog version

* Correct ChangeLog

* Remove GITHUB_TOKEN input

* Revert "Remove GITHUB_TOKEN input"

This reverts commit e868a8d3f4.

* Use COMMENT_PAT for GITHUB_TOKEN

* Use default permissions

* Only use `sticky-pull-request-comment` for internal PRs

* Update ChangeLog
2024-08-23 10:38:17 +01:00
Nick Bolton
19ecbd379d
Bump version to 1.16.0-beta 2024-08-23 08:53:54 +01:00
Nick Bolton
2dcf13040c Merge branch 'master' of github.com:symless/synergy-core 2024-08-19 23:03:00 +01:00
Nick Bolton
bec4db1711 Version to 1.15.0 2024-08-19 23:02:58 +01:00
Nick Bolton
f0b3e32d89
Clarify that no serial key is required in README.md 2024-08-14 17:16:01 +01:00
Nick Bolton
3293deff39
Improve error handling and use long long for dates (#7442)
* Improve error handling

* Remove unused includes

* Use long long for unix date

* Update ChangeLog

* Fixed include

* Clang format
2024-08-14 00:13:17 +01:00
Nick Bolton
28cefff13b
Share file line logic between logger and message box (#7441)
* Share file line logic between logger and message box

* Update ChangeLog
2024-08-13 22:39:09 +01:00
Nick Bolton
7bb1bb2611
Fixed light logo filename on about screen (#7440)
* Fixed light logo filename

* Update ChangeLog
2024-08-13 22:27:17 +01:00
Nick Bolton
da02fca602
Compare result of clickedButton instead of exec (#7438)
* Compare result of `clickedButton` instead of `exec` to workaround Qt 6.5 bug

* Update ChangeLog

* Fixed typo

* Add missing backticks

* Init as nullptr
2024-08-13 11:29:59 +01:00
Nick Bolton
7fa9379a24
Update README.md to include install instructions 2024-08-12 17:23:06 +01:00
Nick Bolton
0804f80724
Update README.md to clarify that CE is active 2024-08-12 17:11:13 +01:00
Nick Bolton
9464aa46b8
Show message box explaining why settings are read-only (#7437)
* 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
2024-08-12 16:39:18 +01:00
Nick Bolton
30ea95fb3d
Introduced new env vars for testing (#7436)
* New env vars for testing

* Update ChangeLog
2024-08-11 22:34:48 +01:00
Nick Bolton
b7d64f962e
Update wording on README.md 2024-08-11 02:09:06 +01:00
Nick Bolton
7b87af4309
Correct mistake in README.md screenshot 2024-08-11 01:59:23 +01:00
Nick Bolton
aba4b7a53d
Update screenshot on README.md 2024-08-11 01:58:28 +01:00
Nick Bolton
fbfd035fe7
Improve wording on README and add screenshot 2024-08-11 01:22:50 +01:00
Nick Bolton
3e4cb4a1c7
Add reset settings menu action and env var (#7435)
* 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
2024-08-11 00:58:24 +01:00
Nick Bolton
c4510bf093
Show dark logo in dark mode and improve .env loader (#7434)
* 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
2024-08-10 01:48:27 +01:00