From 0343b6cf98805c05d855068c9c5c923f560a3b9f Mon Sep 17 00:00:00 2001 From: pokamest Date: Sat, 2 Sep 2023 19:48:43 +0100 Subject: [PATCH 1/6] Crash on exit fix --- client/protocols/openvpnovercloakprotocol.cpp | 1 - client/protocols/openvpnprotocol.cpp | 1 - client/ui/uilogic.cpp | 13 ------------- 3 files changed, 15 deletions(-) diff --git a/client/protocols/openvpnovercloakprotocol.cpp b/client/protocols/openvpnovercloakprotocol.cpp index c40999f6..538f555c 100644 --- a/client/protocols/openvpnovercloakprotocol.cpp +++ b/client/protocols/openvpnovercloakprotocol.cpp @@ -16,7 +16,6 @@ OpenVpnOverCloakProtocol::OpenVpnOverCloakProtocol(const QJsonObject &configurat OpenVpnOverCloakProtocol::~OpenVpnOverCloakProtocol() { - qDebug() << "OpenVpnOverCloakProtocol::~OpenVpnOverCloakProtocol"; OpenVpnOverCloakProtocol::stop(); m_ckProcess.close(); } diff --git a/client/protocols/openvpnprotocol.cpp b/client/protocols/openvpnprotocol.cpp index f395b4bc..ed6b63d0 100644 --- a/client/protocols/openvpnprotocol.cpp +++ b/client/protocols/openvpnprotocol.cpp @@ -20,7 +20,6 @@ OpenVpnProtocol::OpenVpnProtocol(const QJsonObject &configuration, QObject* pare OpenVpnProtocol::~OpenVpnProtocol() { - qDebug() << "OpenVpnProtocol::~OpenVpnProtocol()"; OpenVpnProtocol::stop(); QThread::msleep(200); } diff --git a/client/ui/uilogic.cpp b/client/ui/uilogic.cpp index b9c7567f..f3c0b1b4 100644 --- a/client/ui/uilogic.cpp +++ b/client/ui/uilogic.cpp @@ -107,19 +107,6 @@ UiLogic::~UiLogic() { emit hide(); -#ifdef AMNEZIA_DESKTOP - if (m_vpnConnection->connectionState() != VpnProtocol::VpnConnectionState::Disconnected) { - m_vpnConnection->disconnectFromVpn(); - for (int i = 0; i < 50; i++) { - qApp->processEvents(QEventLoop::ExcludeUserInputEvents); - QThread::msleep(100); - if (m_vpnConnection->isDisconnected()) { - break; - } - } - } -#endif - m_vpnConnection->deleteLater(); m_vpnConnectionThread.quit(); m_vpnConnectionThread.wait(3000); From 66a3538d05b75ff51e50156a33df9c3e0eeef118 Mon Sep 17 00:00:00 2001 From: ronoaer Date: Thu, 7 Sep 2023 07:44:51 +0800 Subject: [PATCH 2/6] fixed: text field can not be updated to memory, including site and port --- client/ui/pages_logic/protocols/CloakLogic.cpp | 6 +++++- client/ui/qml/Pages/Protocols/PageProtoCloak.qml | 10 ++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/client/ui/pages_logic/protocols/CloakLogic.cpp b/client/ui/pages_logic/protocols/CloakLogic.cpp index 0062d12d..4f21895b 100644 --- a/client/ui/pages_logic/protocols/CloakLogic.cpp +++ b/client/ui/pages_logic/protocols/CloakLogic.cpp @@ -47,7 +47,11 @@ void CloakLogic::updateProtocolPage(const QJsonObject &ckConfig, DockerContainer QJsonObject CloakLogic::getProtocolConfigFromPage(QJsonObject oldConfig) { oldConfig.insert(config_key::cipher, comboBoxCipherText()); - oldConfig.insert(config_key::site, lineEditSiteText()); + + QString newSite = lineEditSiteText(); + newSite.replace("https://", ""); + oldConfig.insert(config_key::site, newSite); + oldConfig.insert(config_key::port, lineEditPortText()); return oldConfig; diff --git a/client/ui/qml/Pages/Protocols/PageProtoCloak.qml b/client/ui/qml/Pages/Protocols/PageProtoCloak.qml index 2b5b12ca..3475a82b 100644 --- a/client/ui/qml/Pages/Protocols/PageProtoCloak.qml +++ b/client/ui/qml/Pages/Protocols/PageProtoCloak.qml @@ -76,11 +76,16 @@ PageProtocolBase { TextFieldType { id: lineEdit_proto_cloak_site Layout.fillWidth: true + focus: true height: 31 text: logic.lineEditSiteText onEditingFinished: { logic.lineEditSiteText = text } + + onCursorRectangleChanged: { + logic.lineEditSiteText = text + } } } @@ -96,12 +101,17 @@ PageProtocolBase { TextFieldType { id: lineEdit_proto_cloak_port Layout.fillWidth: true + focus: true height: 31 text: logic.lineEditPortText onEditingFinished: { logic.lineEditPortText = text } enabled: logic.lineEditPortEnabled + + onCursorRectangleChanged: { + logic.lineEditPortText = text + } } } From 3740cb2c300082886f6de2003a9249f545343725 Mon Sep 17 00:00:00 2001 From: pokamest Date: Thu, 7 Sep 2023 10:56:26 -0700 Subject: [PATCH 3/6] Remove unnecessary qDebug() [no ci] --- client/mozilla/localsocketcontroller.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/client/mozilla/localsocketcontroller.cpp b/client/mozilla/localsocketcontroller.cpp index 8d0c6255..cd25ddc1 100644 --- a/client/mozilla/localsocketcontroller.cpp +++ b/client/mozilla/localsocketcontroller.cpp @@ -113,7 +113,6 @@ void LocalSocketController::daemonConnected() { void LocalSocketController::activate(const QJsonObject &rawConfig) { - qDebug() << rawConfig; QJsonObject wgConfig = rawConfig.value("wireguard_config_data").toObject(); QJsonObject json; From 7c223feef5cbe1c915eb0c8b31fc4de37bfc59df Mon Sep 17 00:00:00 2001 From: ronoaer Date: Fri, 8 Sep 2023 16:05:24 +0800 Subject: [PATCH 4/6] updated installer-wizardstyle for adapting macos, especially text does not wrapped in the page 'ready for install' --- deploy/installer/config/macos.xml.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/installer/config/macos.xml.in b/deploy/installer/config/macos.xml.in index 74b682b7..3888d08d 100644 --- a/deploy/installer/config/macos.xml.in +++ b/deploy/installer/config/macos.xml.in @@ -8,7 +8,7 @@ /Applications/AmneziaVPN.app 600 380 - Modern + Mac true true false From 85414eb65f5eb3fff953f46b9229c613d60d9ff9 Mon Sep 17 00:00:00 2001 From: ronoaer Date: Fri, 8 Sep 2023 21:31:47 +0800 Subject: [PATCH 5/6] fixed protocol reloads old value in settings page --- client/amnezia_application.cpp | 2 +- client/amnezia_application.h | 2 +- client/ui/controllers/installController.cpp | 9 ++++++++- client/ui/controllers/installController.h | 3 +++ client/ui/qml/Pages2/PageProtocolCloakSettings.qml | 10 +++++++++- 5 files changed, 22 insertions(+), 4 deletions(-) diff --git a/client/amnezia_application.cpp b/client/amnezia_application.cpp index 8db6f8de..1725e1f8 100644 --- a/client/amnezia_application.cpp +++ b/client/amnezia_application.cpp @@ -330,7 +330,7 @@ void AmneziaApplication::initControllers() m_pageController.reset(new PageController(m_serversModel, m_settings)); m_engine->rootContext()->setContextProperty("PageController", m_pageController.get()); - m_installController.reset(new InstallController(m_serversModel, m_containersModel, m_settings)); + m_installController.reset(new InstallController(m_serversModel, m_containersModel, m_protocolsModel, m_settings)); m_engine->rootContext()->setContextProperty("InstallController", m_installController.get()); connect(m_installController.get(), &InstallController::passphraseRequestStarted, m_pageController.get(), &PageController::showPassphraseRequestDrawer); diff --git a/client/amnezia_application.h b/client/amnezia_application.h index 1ace6d8b..2dd74fcb 100644 --- a/client/amnezia_application.h +++ b/client/amnezia_application.h @@ -91,7 +91,7 @@ private: QSharedPointer m_containersModel; QSharedPointer m_serversModel; QSharedPointer m_languageModel; - QScopedPointer m_protocolsModel; + QSharedPointer m_protocolsModel; QSharedPointer m_sitesModel; QScopedPointer m_openVpnConfigModel; diff --git a/client/ui/controllers/installController.cpp b/client/ui/controllers/installController.cpp index 1db84b36..c0e9acbb 100644 --- a/client/ui/controllers/installController.cpp +++ b/client/ui/controllers/installController.cpp @@ -40,8 +40,13 @@ namespace InstallController::InstallController(const QSharedPointer &serversModel, const QSharedPointer &containersModel, + const QSharedPointer &protocolsModel, const std::shared_ptr &settings, QObject *parent) - : QObject(parent), m_serversModel(serversModel), m_containersModel(containersModel), m_settings(settings) + : QObject(parent), + m_serversModel(serversModel), + m_containersModel(containersModel), + m_protocolModel(protocolsModel), + m_settings(settings) { } @@ -252,6 +257,8 @@ void InstallController::updateContainer(QJsonObject config) auto errorCode = serverController.updateContainer(serverCredentials, container, oldContainerConfig, config); if (errorCode == ErrorCode::NoError) { m_containersModel->setData(modelIndex, config, ContainersModel::Roles::ConfigRole); + m_protocolModel->updateModel(config); + emit updateContainerFinished(); return; } diff --git a/client/ui/controllers/installController.h b/client/ui/controllers/installController.h index 4060c97c..47fc5dab 100644 --- a/client/ui/controllers/installController.h +++ b/client/ui/controllers/installController.h @@ -8,6 +8,7 @@ #include "core/defs.h" #include "ui/models/containers_model.h" #include "ui/models/servers_model.h" +#include "ui/models/protocols_model.h" class InstallController : public QObject { @@ -15,6 +16,7 @@ class InstallController : public QObject public: explicit InstallController(const QSharedPointer &serversModel, const QSharedPointer &containersModel, + const QSharedPointer &protocolsModel, const std::shared_ptr &settings, QObject *parent = nullptr); ~InstallController(); @@ -71,6 +73,7 @@ private: QSharedPointer m_serversModel; QSharedPointer m_containersModel; + QSharedPointer m_protocolModel; std::shared_ptr m_settings; ServerCredentials m_currentlyInstalledServerCredentials; diff --git a/client/ui/qml/Pages2/PageProtocolCloakSettings.qml b/client/ui/qml/Pages2/PageProtocolCloakSettings.qml index b53fdfdf..e15c5ec7 100644 --- a/client/ui/qml/Pages2/PageProtocolCloakSettings.qml +++ b/client/ui/qml/Pages2/PageProtocolCloakSettings.qml @@ -91,7 +91,15 @@ PageType { textField.onEditingFinished: { if (textFieldText !== site) { - site = textFieldText + var tmpText = textFieldText + tmpText = tmpText.toLocaleLowerCase() + + var indexHttps = tmpText.indexOf("https://") + if (indexHttps === 0) { + tmpText = textFieldText.substring(8) + } else { + site = textFieldText + } } } } From 3cfca046ba5ad8ed5d00c18cfd13e0c446697b00 Mon Sep 17 00:00:00 2001 From: ronoaer Date: Fri, 8 Sep 2023 21:40:55 +0800 Subject: [PATCH 6/6] adapted installer wizard to macos style --- deploy/installer/config/macos.xml.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/installer/config/macos.xml.in b/deploy/installer/config/macos.xml.in index 74b682b7..3888d08d 100644 --- a/deploy/installer/config/macos.xml.in +++ b/deploy/installer/config/macos.xml.in @@ -8,7 +8,7 @@ /Applications/AmneziaVPN.app 600 380 - Modern + Mac true true false