Merge branch 'master' into v1-dev #6564

This commit is contained in:
Jamie Newbon 2019-10-08 17:35:28 +01:00
commit 2810a5b6da
10 changed files with 113 additions and 55 deletions

View File

@ -2,53 +2,40 @@
name: Bug report
about: Create a report to help us improve
title: Client goes crazy when I mash the keyboard
labels: bug
labels: bug, triage
assignees: ''
---
### Operating Systems ###
# README & DELETE #
---BEGIN HELP---
Remember: Delete the help text (between `---BEGIN HELP---` and `---END HELP---`).
Technical support: https://symless.com/contact/customer-support?help-option=GitHub
For example:
Server: exampleOS 10.13
Client: Foobar XP
Server: niceOS 10.42
Client: Awesome XP SP13
Note: Please use this issue tracker only for raising bugs.
- Feature requests: https://symless.com/forums/forum/18-feature-ideas/
- Technical support: https://symless.com/contact/customer-support?help-option=GitHub
It's very important that you distinguish which operating system is the client and which
is the server. The server is the computer that the mouse and keyboard are shared from.
Remember: Delete the `# README & DELETE #` sections (including `---BEGIN HELP---` and
`---END HELP---`).
Please distinguish which operating system is the client and which is the server. The server is the computer that the mouse and keyboard are shared from.
---END HELP---
### Synergy Version ###
# README & DELETE #
---BEGIN HELP---
If you're not using the latest version of Synergy, please update first:
https://symless.com/synergy/downloads
Please don't rely on Linux package manager versioning, they sometimes get it wrong.
If using the command line, you can use the `--version` arg to get your installed
Synergy version, like so:
Please don't rely on Linux package manager versioning, they often get it wrong. If using the command line, you can use the `--version` arg to get your installed Synergy version, like so:
Synergy 1: `synergys --version`
Synergy 2: `synergy-core --server --version`
If you're using the Synergy 1 config app (main Synergy app) then go to the Help
menu, and click About. In Synergy 2 Beta, the version is displayed at all times.
If you're using the Synergy 1 config app (main Synergy app) then go to the Help menu, and click About. In Synergy 2 Beta, the version is displayed at all times.
---END HELP---
@ -56,8 +43,7 @@ menu, and click About. In Synergy 2 Beta, the version is displayed at all times.
---BEGIN HELP---
This is the most important part. Try to remember exactly what exact steps caused
the bug. Please make sure the steps are numbered and concise, like so:
This is the most important part. Try to remember exactly what exact steps caused the bug. Please make sure the steps are numbered and concise, like so:
1. Do a little dance
2. Make a little love
@ -76,14 +62,12 @@ Before submitting, try to reproduce the bug based on the steps you provided.
---BEGIN HELP---
Please do not paste entire logs here, it looks really silly. Instead, upload your logs,
and share the URLs to the uploaded logs. Here's how you that:
Please do not paste entire logs here, it looks really silly. Instead, upload your logs, and share the URLs to the uploaded logs. Here's how you that:
Synergy 1: https://symless.com/help/s1-troubleshooting/s1-sending-logs
Synergy 2: https://symless.com/help/s2-troubleshooting/s2-sending-logs
Make sure you say which log is for which computer, and also which computer is the
client and which one is the server. This helps to avoid any confusion.
Make sure you say which log is for which computer, and also which computer is the client and which one is the server. This helps to avoid any confusion.
---END HELP---
@ -93,7 +77,7 @@ client and which one is the server. This helps to avoid any confusion.
---BEGIN HELP---
* Attach screenshots
* Attach any screenshots
* What maybe causing it?
* Are there any workarounds?
* What other apps are you running?

View File

@ -2,7 +2,7 @@
name: Feature request
about: Suggest an idea for this project
title: Make beep sound when moving from client to server
labels: enhancement
labels: enhancement, triage
assignees: ''
---

View File

@ -1,3 +1,28 @@
v1.10.3-stable
==============
Bug fixes:
- #6546 Filtered out self assigned ip addresses from being displayed
- #6541 Fixed connected info text to include without TLS encryption
- #6527 Config app renders incorrectly on high DPI screens
- #6526 New TLS/SSL socket handled when no socket
- #6525 Race condition on disconnecting TLS/SSL socket
- #6521 Access violation in TLS/SSL socket close
- #6409 Server freezes when clipboard contains an image
- #3705 Hotkeys not working on Mac server
Enhancements:
- #6535 Version URL and added stage check to version check
- #6529 Cleaner redistributable use in Windows installer
- #6528 More verbose message for Linux display errors
- #6524 Minimize config app to system tray
- #6523 Restore auto hide on startup for config app
- #6522 Double click Windows tray icon to show and hide
- #6520 Support for 32-bit Linux for legacy users
- #6519 Support for Ubuntu 14.04 LTS for legacy users
- #6390 Support for OpenSSL 1.1.1 for better security
v1.10.2-stable
==============

View File

@ -2,6 +2,10 @@
This is the open source core component of Synergy, a keyboard and mouse sharing tool.
**[We're hiring!](https://careers.symless.com/)** *Join the Synergy Team (Node.js, React, C++)*
**News:** [We Are Putting UX First](https://symless.com/blog/putting-ux-first) (Symless Blog)
## Recommended
Things most people will need.
@ -11,6 +15,7 @@ Things most people will need.
* [Help Guides](https://symless.com/synergy-help) - Self-help guides and information for when you don't want to talk to people.
* [Join us on Slack](http://bitly.com/synergy-slack) - Talk to other Synergy users in real time using instant messaging.
* [Symless Forums](https://symless.com/forums/forum/11-synergy/) - Discuss Synergy issues on the Symless Forums.
* [Symless Blog](https://symless.com/blog/) - Find out what's happening with Synergy development.
## Advanced Users

View File

@ -5,8 +5,8 @@ cmake_minimum_required (VERSION 3.4)
#
set (SYNERGY_VERSION_MAJOR 1)
set (SYNERGY_VERSION_MINOR 10)
set (SYNERGY_VERSION_PATCH 3)
set (SYNERGY_VERSION_MINOR 11)
set (SYNERGY_VERSION_PATCH 0)
set (SYNERGY_VERSION_STAGE "snapshot")
#

View File

@ -29,7 +29,6 @@ AboutDialog::AboutDialog(QWidget* parent, const QString& synergyApp) :
m_versionChecker.setApp(synergyApp);
QString version = m_versionChecker.getVersion();
version = version + '-' + SYNERGY_VERSION_STAGE;
#ifdef SYNERGY_REVISION
version += '-';
version += SYNERGY_REVISION;

View File

@ -975,7 +975,7 @@ void MainWindow::setSynergyState(qSynergyState state)
setStatus(tr("Synergy is connected (with %1)").arg(m_SecureSocketVersion));
}
else {
setStatus(tr("Synergy is running (without %1)").arg(m_SecureSocketVersion));
setStatus(tr("Synergy is running (without TLS encryption)").arg(m_SecureSocketVersion));
}
break;
}
@ -1034,8 +1034,10 @@ QString MainWindow::getIPAddresses()
hinted = true;
format = "<b>%1</b>, ";
}
result += format.arg(address);
//Prevent self assigned IPs being displayed
if (!address.startsWith("169.254")) {
result += format.arg(address);
}
}
}

View File

@ -24,8 +24,11 @@
#include <QProcess>
#include <QLocale>
#define VERSION_REGEX "(\\d+\\.\\d+\\.\\d+)"
#define VERSION_URL "http://symless.com/version/"
#define VERSION_REGEX "(\\d+\\.\\d+\\.\\d+-[a-z1-9]*)"
#define VERSION_REGEX_SECTIONED "(\\d+)\\.(\\d+)\\.(\\d+)-([a-z1-9]*)"
#define VERSION_SEGMENT_COUNT 4
#define VERSION_URL "http://version.symless.com/synergy"
VersionChecker::VersionChecker()
{
@ -58,31 +61,64 @@ void VersionChecker::replyFinished(QNetworkReply* reply)
}
}
int VersionChecker::getStageVersion(QString stage)
{
const int valueStable = INT_MAX; //Stable will always be considered the highest value
const int valueRC = 2;
const int valueSnapshot = 1;
const int valueOther = 0;
//Stable should always be considered highest, followed by rc[0-9] then snapshots with everything else at the end
//HACK There is probably a much better way of doing this
if (stage == "stable")
{
return valueStable;
}
else if (stage.startsWith("rc") || stage.startsWith("RC"))
{
QRegExp rx("\\d*", Qt::CaseInsensitive);
if (rx.indexIn(stage) != -1)
{
//Return the RC value plus the RC version as in int
return valueRC + rx.cap(1).toInt();
}
}
else if (stage == "snapshot")
{
return valueSnapshot;
}
return valueOther;
}
int VersionChecker::compareVersions(const QString& left, const QString& right)
{
if (left.compare(right) == 0)
return 0; // versions are same.
QStringList leftSplit = left.split(QRegExp("\\."));
if (leftSplit.size() != 3)
QStringList leftSplit = left.split(QRegExp("[\\.-]"));
if (leftSplit.size() != VERSION_SEGMENT_COUNT)
return 1; // assume right wins.
QStringList rightSplit = right.split(QRegExp("\\."));
if (rightSplit.size() != 3)
QStringList rightSplit = right.split(QRegExp("[\\.-]"));
if (rightSplit.size() != VERSION_SEGMENT_COUNT)
return -1; // assume left wins.
int leftMajor = leftSplit.at(0).toInt();
int leftMinor = leftSplit.at(1).toInt();
int leftRev = leftSplit.at(2).toInt();
const int leftMajor = leftSplit.at(0).toInt();
const int leftMinor = leftSplit.at(1).toInt();
const int leftRev = leftSplit.at(2).toInt();
const int leftStage = getStageVersion(leftSplit.at(3));
int rightMajor = rightSplit.at(0).toInt();
int rightMinor = rightSplit.at(1).toInt();
int rightRev = rightSplit.at(2).toInt();
const int rightMajor = rightSplit.at(0).toInt();
const int rightMinor = rightSplit.at(1).toInt();
const int rightRev = rightSplit.at(2).toInt();
const int rightStage = getStageVersion(rightSplit.at(3));
bool rightWins =
(rightMajor > leftMajor) ||
const bool rightWins =
( rightMajor > leftMajor) ||
((rightMajor >= leftMajor) && (rightMinor > leftMinor)) ||
((rightMajor >= leftMajor) && (rightMinor >= leftMinor) && (rightRev > leftRev));
((rightMajor >= leftMajor) && (rightMinor >= leftMinor) && (rightRev > leftRev)) ||
((rightMajor >= leftMajor) && (rightMinor >= leftMinor) && (rightRev >= leftRev) && (rightStage > leftStage));
return rightWins ? 1 : -1;
}
@ -95,7 +131,7 @@ QString VersionChecker::getVersion()
process.setReadChannel(QProcess::StandardOutput);
if (process.waitForStarted() && process.waitForFinished())
{
QRegExp rx(VERSION_REGEX);
QRegExp rx(VERSION_REGEX,Qt::CaseInsensitive);
QString text = process.readLine();
if (rx.indexIn(text) != -1)
{

View File

@ -1,6 +1,6 @@
/*
* synergy -- mouse and keyboard sharing utility
* Copyright (C) 2012-2016 Symless Ltd.
* Copyright (C) 2012-2019 Symless Ltd.
* Copyright (C) 2012 Nick Bolton
*
* This package is free software; you can redistribute it and/or
@ -41,4 +41,11 @@ signals:
private:
QNetworkAccessManager* m_manager;
QString m_app;
/**
* \brief Converts a string stage to a integer value
* \param stage The string containing the stage version
* \return An integer representation of the stage, the higher the number the more recent the version
*/
int getStageVersion(QString stage);
};

View File

@ -19,10 +19,10 @@
#include "common/Version.h"
const char* kApplication = "Synergy";
const char* kCopyright = "Copyright (C) 2012-2016 Symless Ltd.\n"
const char* kCopyright = "Copyright (C) 2012-2019 Symless Ltd.\n"
"Copyright (C) 2008-2014 Nick Bolton\n"
"Copyright (C) 2002-2014 Chris Schoeneman";
const char* kContact = "Email: engineering@symless.com";
const char* kWebsite = "https://symless.com/";
const char* kVersion = SYNERGY_VERSION;
const char* kVersion = SYNERGY_VERSION_STRING;
const char* kAppVersion = "Synergy " SYNERGY_VERSION;