Skip to content
Snippets Groups Projects
Commit eea8e291 authored by Ming Rui Zhang's avatar Ming Rui Zhang Committed by Andreas Traczyk
Browse files

update: improvement for update mechanism

1. Distinguish SSL error and network error
2. Cancel request when connectivity is changed
3. Cancel request when download box is closed

Change-Id: I155ef5d97017c61d164f64ade513cfe37d5dc8bc
parent 59e8bd3c
Branches
Tags
No related merge requests found
......@@ -282,7 +282,8 @@ Item {
property string updateFound: qsTr("A new version of Jami was found\n Would you like to update now?")
property string updateNotFound: qsTr("No new version of Jami was found")
property string updateCheckError: qsTr("An error occured when checking for a new version")
property string updateDownloadNetworkError: qsTr("Installer download failed due to a network error")
property string updateNetworkError: qsTr("Network error")
property string updateSSLError: qsTr("SSL error")
property string updateDownloadCanceled: qsTr("Installer download canceled")
property string updateDownloading: "Downloading"
property string confirmBeta: qsTr("This will uninstall your current Release version and you can always download the latest Release version on our website")
......
......@@ -30,9 +30,13 @@ NetWorkManager::NetWorkManager(ConnectivityMonitor* cm, QObject* parent)
, manager_(new QNetworkAccessManager(this))
, reply_(nullptr)
, connectivityMonitor_(cm)
, lastConnectionState_(cm->isOnline())
{
emit statusChanged(GetStatus::IDLE);
connect(connectivityMonitor_, &ConnectivityMonitor::connectivityChanged, [this] {
cancelRequest();
auto connected = connectivityMonitor_->isOnline();
if (connected && !lastConnectionState_) {
manager_->deleteLater();
......@@ -129,6 +133,9 @@ void
NetWorkManager::onSslErrors(const QList<QSslError>& sslErrors)
{
#if QT_CONFIG(ssl)
reply_->disconnect();
reset(true);
QString errorsString;
for (const QSslError& error : sslErrors) {
if (errorsString.length() > 0) {
......
......@@ -121,8 +121,9 @@ ColumnLayout {
case NetWorkManager.DISCONNECTED:
return JamiStrings.networkDisconnected
case NetWorkManager.NETWORK_ERROR:
return JamiStrings.updateNetworkError
case NetWorkManager.SSL_ERROR:
return JamiStrings.updateDownloadNetworkError
return JamiStrings.updateSSLError
case NetWorkManager.CANCELED:
return JamiStrings.updateDownloadCanceled
default: return {}
......@@ -248,5 +249,9 @@ ColumnLayout {
buttonTitles: [JamiStrings.optionCancel]
buttonStyles: [SimpleMessageDialog.ButtonStyle.TintedBlue]
buttonCallBacks: [function() {UpdateManager.cancelUpdate()}]
onVisibilityChanged: {
if (!visible)
UpdateManager.cancelUpdate()
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment