mirror of
https://git.jami.net/savoirfairelinux/jami-client-qt.git
synced 2025-08-03 22:35:45 +02:00
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
This commit is contained in:
parent
59e8bd3cc2
commit
eea8e291d3
3 changed files with 15 additions and 2 deletions
|
@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue