From 2edd7de41319c11184706729047979ffb679e18f Mon Sep 17 00:00:00 2001 From: vkamn Date: Mon, 27 Apr 2026 13:18:50 +0800 Subject: [PATCH] chore: minor fixes (#2524) * fix: fixed i5 empty check * fix: add check config format in extractConfigFromQr --- CMakeLists.txt | 4 ++-- client/ui/controllers/importController.cpp | 11 ++++++++++- client/ui/qml/Pages2/PageProtocolAwgSettings.qml | 1 + 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dd23b1fec..96aed3ea9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.25.0 FATAL_ERROR) set(PROJECT AmneziaVPN) -set(AMNEZIAVPN_VERSION 4.8.15.2) +set(AMNEZIAVPN_VERSION 4.8.15.4) project(${PROJECT} VERSION ${AMNEZIAVPN_VERSION} DESCRIPTION "AmneziaVPN" @@ -12,7 +12,7 @@ string(TIMESTAMP CURRENT_DATE "%Y-%m-%d") set(RELEASE_DATE "${CURRENT_DATE}") set(APP_MAJOR_VERSION ${CMAKE_PROJECT_VERSION_MAJOR}.${CMAKE_PROJECT_VERSION_MINOR}.${CMAKE_PROJECT_VERSION_PATCH}) -set(APP_ANDROID_VERSION_CODE 2119) +set(APP_ANDROID_VERSION_CODE 2120) if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") set(MZ_PLATFORM_NAME "linux") diff --git a/client/ui/controllers/importController.cpp b/client/ui/controllers/importController.cpp index 91d7ec3b5..3708d0f66 100644 --- a/client/ui/controllers/importController.cpp +++ b/client/ui/controllers/importController.cpp @@ -217,6 +217,8 @@ bool ImportController::extractConfigFromData(QString data) bool ImportController::extractConfigFromQr(const QByteArray &data) { + m_configType = checkConfigFormat(QString::fromUtf8(data)); + QJsonObject dataObj = QJsonDocument::fromJson(data).object(); if (!dataObj.isEmpty()) { m_config = dataObj; @@ -226,10 +228,13 @@ bool ImportController::extractConfigFromQr(const QByteArray &data) QByteArray ba_uncompressed = qUncompress(data); if (!ba_uncompressed.isEmpty()) { m_config = QJsonDocument::fromJson(ba_uncompressed).object(); + if (m_config.isEmpty()) { + return false; + } + m_configType = checkConfigFormat(QString::fromUtf8(ba_uncompressed)); return true; } - m_configType = checkConfigFormat(data); if (m_configType == ConfigTypes::Invalid) { QByteArray ba = QByteArray::fromBase64(data, QByteArray::Base64UrlEncoding | QByteArray::OmitTrailingEquals); QByteArray baUncompressed = qUncompress(ba); @@ -240,6 +245,10 @@ bool ImportController::extractConfigFromQr(const QByteArray &data) if (!ba.isEmpty()) { m_config = QJsonDocument::fromJson(ba).object(); + if (m_config.isEmpty()) { + return false; + } + m_configType = checkConfigFormat(QString::fromUtf8(ba)); return true; } } diff --git a/client/ui/qml/Pages2/PageProtocolAwgSettings.qml b/client/ui/qml/Pages2/PageProtocolAwgSettings.qml index 1e4bdcb37..f725b4b11 100644 --- a/client/ui/qml/Pages2/PageProtocolAwgSettings.qml +++ b/client/ui/qml/Pages2/PageProtocolAwgSettings.qml @@ -482,6 +482,7 @@ PageType { headerText: qsTr("I5 - Special junk 5") textField.text: serverSpecialJunk5 + checkEmptyText: false textField.onEditingFinished: { if (textField.text !== serverSpecialJunk5) {