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
No related branches found
No related tags found
No related merge requests found
...@@ -282,7 +282,8 @@ Item { ...@@ -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 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 updateNotFound: qsTr("No new version of Jami was found")
property string updateCheckError: qsTr("An error occured when checking for a new version") 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 updateDownloadCanceled: qsTr("Installer download canceled")
property string updateDownloading: "Downloading" 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") 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) ...@@ -30,9 +30,13 @@ NetWorkManager::NetWorkManager(ConnectivityMonitor* cm, QObject* parent)
, manager_(new QNetworkAccessManager(this)) , manager_(new QNetworkAccessManager(this))
, reply_(nullptr) , reply_(nullptr)
, connectivityMonitor_(cm) , connectivityMonitor_(cm)
, lastConnectionState_(cm->isOnline())
{ {
emit statusChanged(GetStatus::IDLE); emit statusChanged(GetStatus::IDLE);
connect(connectivityMonitor_, &ConnectivityMonitor::connectivityChanged, [this] { connect(connectivityMonitor_, &ConnectivityMonitor::connectivityChanged, [this] {
cancelRequest();
auto connected = connectivityMonitor_->isOnline(); auto connected = connectivityMonitor_->isOnline();
if (connected && !lastConnectionState_) { if (connected && !lastConnectionState_) {
manager_->deleteLater(); manager_->deleteLater();
...@@ -129,6 +133,9 @@ void ...@@ -129,6 +133,9 @@ void
NetWorkManager::onSslErrors(const QList<QSslError>& sslErrors) NetWorkManager::onSslErrors(const QList<QSslError>& sslErrors)
{ {
#if QT_CONFIG(ssl) #if QT_CONFIG(ssl)
reply_->disconnect();
reset(true);
QString errorsString; QString errorsString;
for (const QSslError& error : sslErrors) { for (const QSslError& error : sslErrors) {
if (errorsString.length() > 0) { if (errorsString.length() > 0) {
......
...@@ -121,8 +121,9 @@ ColumnLayout { ...@@ -121,8 +121,9 @@ ColumnLayout {
case NetWorkManager.DISCONNECTED: case NetWorkManager.DISCONNECTED:
return JamiStrings.networkDisconnected return JamiStrings.networkDisconnected
case NetWorkManager.NETWORK_ERROR: case NetWorkManager.NETWORK_ERROR:
return JamiStrings.updateNetworkError
case NetWorkManager.SSL_ERROR: case NetWorkManager.SSL_ERROR:
return JamiStrings.updateDownloadNetworkError return JamiStrings.updateSSLError
case NetWorkManager.CANCELED: case NetWorkManager.CANCELED:
return JamiStrings.updateDownloadCanceled return JamiStrings.updateDownloadCanceled
default: return {} default: return {}
...@@ -248,5 +249,9 @@ ColumnLayout { ...@@ -248,5 +249,9 @@ ColumnLayout {
buttonTitles: [JamiStrings.optionCancel] buttonTitles: [JamiStrings.optionCancel]
buttonStyles: [SimpleMessageDialog.ButtonStyle.TintedBlue] buttonStyles: [SimpleMessageDialog.ButtonStyle.TintedBlue]
buttonCallBacks: [function() {UpdateManager.cancelUpdate()}] 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.
Finish editing this message first!
Please register or to comment