From 5c6b5c0dfc9957d297e24ff7ffcdc1999e177297 Mon Sep 17 00:00:00 2001 From: =?utf8?q?IOhannes=20m=20zm=C3=B6lnig=20=28Debian/GNU=29?= Date: Sun, 9 Feb 2025 20:19:19 +0100 Subject: [PATCH] New upstream version 2.5.1+ds --- docs/changelog.yml | 7 +++++++ linux/README.md | 2 +- src/jacktrip_globals.h | 2 +- src/vs/Browse.qml | 10 +++++++--- src/vs/virtualstudio.cpp | 20 ++++++++++++++------ src/vs/vs.qml | 8 ++++---- src/vs/vsServerInfo.cpp | 12 +++++++++--- src/vs/vsServerInfo.h | 1 + 8 files changed, 44 insertions(+), 18 deletions(-) diff --git a/docs/changelog.yml b/docs/changelog.yml index e44a0ec..6784c61 100644 --- a/docs/changelog.yml +++ b/docs/changelog.yml @@ -1,3 +1,10 @@ +- Version: "2.5.1" + Date: 2025-01-30 + Description: + - (fixed) Updating Qt in Mac builds from 6.2.6 to 6.2.11 + - (fixed) Strange error message during startup on Linux + - (fixed) VS Mode studio padding when browsing on Linux + - (fixed) VS Mode ensure studio data is fresh before connecting - Version: "2.5.0" Date: 2025-01-21 Description: diff --git a/linux/README.md b/linux/README.md index 3d46779..585fa95 100644 --- a/linux/README.md +++ b/linux/README.md @@ -13,7 +13,7 @@ dnf install -y qt6-qtbase qt6-qtbase-common qt6-qtbase-gui qt6-qtsvg qt6-qtwebso For Debian or Ubuntu: ``` -apt install -y libqt6core6 libqt6gui6 libqt6network6 libqt6widgets6 libqt6qml6 libqt6qmlcore6 libqt6quick6 libqt6quickcontrols2-6 libqt6svg6 libqt6webchannel6 libqt6webengine6-data libqt6webenginecore6 libqt6webenginecore6-bin libqt6webenginequick6 libqt6websockets6 libqt6shadertools6 qt6-qpa-plugins qml6-module-qtquick-controls qml6-module-qtqml-workerscript qml6-module-qtquick-templates qml6-module-qtquick-layouts qml6-module-qt5compat-graphicaleffects qml6-module-qtwebchannel qml6-module-qtwebengine qml6-module-qtquick-window libjack-jackd2-0 librtaudio6 libgtkmm-3.0-1t64 libxcb-cursor0 +apt install -y libqt6core6 libqt6gui6 libqt6network6 libqt6widgets6 libqt6qml6 libqt6qmlcore6 libqt6quick6 libqt6quickcontrols2-6 libqt6svg6 libqt6webchannel6 libqt6webengine6-data libqt6webenginecore6 libqt6webenginecore6-bin libqt6webenginequick6 libqt6websockets6 libqt6shadertools6 qt6-qpa-plugins qml6-module-qtquick-controls qml6-module-qtqml-workerscript qml6-module-qtquick-templates qml6-module-qtquick-layouts qml6-module-qt5compat-graphicaleffects qml6-module-qtwebchannel qml6-module-qtwebengine qml6-module-qtquick-window libjack-jackd2-0 librtaudio6 libxcb-cursor0 ``` To install JackTrip as a Linux desktop application: diff --git a/src/jacktrip_globals.h b/src/jacktrip_globals.h index c2ed233..dbeef2a 100644 --- a/src/jacktrip_globals.h +++ b/src/jacktrip_globals.h @@ -40,7 +40,7 @@ #include "jacktrip_types.h" -constexpr const char* const gVersion = "2.5.0"; ///< JackTrip version +constexpr const char* const gVersion = "2.5.1"; ///< JackTrip version //******************************************************************************* /// \name Default Values diff --git a/src/vs/Browse.qml b/src/vs/Browse.qml index 4974347..d9572d2 100644 --- a/src/vs/Browse.qml +++ b/src/vs/Browse.qml @@ -52,7 +52,10 @@ Item { ListView { id: studioListView - x:0; y: 0; width: parent.width - (2 * x); height: parent.height - 36 * virtualstudio.uiScale + x:0; + y: 0; + width: parent.width + height: parent.height - (36 * virtualstudio.uiScale) spacing: 16 * virtualstudio.uiScale header: footer footer: footer @@ -60,8 +63,9 @@ Item { clip: true boundsBehavior: Flickable.StopAtBounds delegate: Studio { - x: 16 * virtualstudio.uiScale - width: studioListView.width - (2 * x) + anchors.left: parent ? parent.left : undefined + anchors.leftMargin: 16 * virtualstudio.uiScale + width: studioListView.width - (32 * virtualstudio.uiScale) serverLocation: virtualstudio.regions[modelData.location] ? "in " + virtualstudio.regions[modelData.location].label : "" flagImage: modelData.bannerURL ? modelData.bannerURL : modelData.flag studioName: modelData.name diff --git a/src/vs/virtualstudio.cpp b/src/vs/virtualstudio.cpp index 15d2e8a..bef8af4 100644 --- a/src/vs/virtualstudio.cpp +++ b/src/vs/virtualstudio.cpp @@ -1040,7 +1040,7 @@ void VirtualStudio::connectToStudio() m_studioSocketPtr->openSocket(); // Check if we have an address for our server - if (m_currentStudio.status() != "Ready") { + if (m_currentStudio.status() != "Ready" || m_currentStudio.host().isEmpty()) { m_connectionState = QStringLiteral("Waiting..."); emit connectionStateChanged(); } else { @@ -1226,7 +1226,7 @@ void VirtualStudio::disconnect() if (!m_currentStudio.id().isEmpty()) { emit openFeedbackSurveyModal(m_currentStudio.id()); - m_currentStudio.setId(""); + m_currentStudio.clear(); emit currentStudioChanged(); } @@ -1680,10 +1680,14 @@ void VirtualStudio::handleServerUpdate(QNetworkReply* reply, bool signalRefresh, QSharedPointer serverInfo(new VsServerInfo(this)); serverInfo->setIsAdmin(servers.at(i)[QStringLiteral("admin")].toBool()); serverInfo->setName(servers.at(i)[QStringLiteral("name")].toString()); - serverInfo->setHost(servers.at(i)[QStringLiteral("serverHost")].toString()); + // force these to be refreshed on connection + // they will only be set for the current studio + // serverInfo->setHost(servers.at(i)[QStringLiteral("serverHost")].toString()); + // serverInfo->setPort(servers.at(i)[QStringLiteral("serverPort")].toInt()); + // serverInfo->setSessionId( + // servers.at(i)[QStringLiteral("sessionId")].toString()); serverInfo->setIsManaged(servers.at(i)[QStringLiteral("managed")].toBool()); serverInfo->setStatus(servers.at(i)[QStringLiteral("status")].toString()); - serverInfo->setPort(servers.at(i)[QStringLiteral("serverPort")].toInt()); serverInfo->setIsPublic(servers.at(i)[QStringLiteral("public")].toBool()); serverInfo->setRegion(servers.at(i)[QStringLiteral("region")].toString()); serverInfo->setPeriod(servers.at(i)[QStringLiteral("period")].toInt()); @@ -1694,8 +1698,6 @@ void VirtualStudio::handleServerUpdate(QNetworkReply* reply, bool signalRefresh, serverInfo->setBannerURL( servers.at(i)[QStringLiteral("bannerURL")].toString()); serverInfo->setId(servers.at(i)[QStringLiteral("id")].toString()); - serverInfo->setSessionId( - servers.at(i)[QStringLiteral("sessionId")].toString()); serverInfo->setStreamId(servers.at(i)[QStringLiteral("streamId")].toString()); serverInfo->setInviteKey( servers.at(i)[QStringLiteral("inviteKey")].toString()); @@ -1886,6 +1888,12 @@ QApplication* VirtualStudio::createApplication(int& argc, char* argv[]) QQuickStyle::setStyle("Basic"); +#if defined(Q_OS_MACOS) && (QT_VERSION > QT_VERSION_CHECK(6, 2, 6)) \ + && (QT_VERSION < QT_VERSION_CHECK(6, 8, 0)) + // work-around for screen sharing bugs in qtwebengine 6.2.7-6.7.x + qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--disable-features=DesktopCaptureMacV2"); +#endif + // Initialize webengine QtWebEngineQuick::initialize(); // TODO: Add support for QtWebView diff --git a/src/vs/vs.qml b/src/vs/vs.qml index 360a12a..3c327b2 100644 --- a/src/vs/vs.qml +++ b/src/vs/vs.qml @@ -226,13 +226,13 @@ Rectangle { x: window.width } - CreateStudio { - id: createStudioScreen + Failed { + id: failedScreen x: window.width } - Failed { - id: failedScreen + CreateStudio { + id: createStudioScreen x: window.width } diff --git a/src/vs/vsServerInfo.cpp b/src/vs/vsServerInfo.cpp index 8d13a77..094e323 100644 --- a/src/vs/vsServerInfo.cpp +++ b/src/vs/vsServerInfo.cpp @@ -106,7 +106,7 @@ QString VsServerInfo::status() const bool VsServerInfo::canConnect() const { - return !m_host.isEmpty() && m_status == "Ready"; + return m_status == "Ready"; } bool VsServerInfo::canStart() const @@ -117,13 +117,11 @@ bool VsServerInfo::canStart() const void VsServerInfo::setHost(const QString& host) { m_host = host; - emit canConnectChanged(); } void VsServerInfo::setStatus(const QString& status) { m_status = status; - emit canConnectChanged(); } quint16 VsServerInfo::port() const @@ -317,4 +315,12 @@ bool VsServerInfo::operator<(const VsServerInfo& other) const return name() < other.name(); } +void VsServerInfo::clear() +{ + setId(""); + setHost(""); + setPort(0); + setSessionId(""); +} + VsServerInfo::~VsServerInfo() = default; diff --git a/src/vs/vsServerInfo.h b/src/vs/vsServerInfo.h index 15f9d8f..48aac8b 100644 --- a/src/vs/vsServerInfo.h +++ b/src/vs/vsServerInfo.h @@ -119,6 +119,7 @@ class VsServerInfo : public QObject QString cloudId() const; void setCloudId(const QString& cloudId); bool operator<(const VsServerInfo& other) const; + void clear(); signals: void canConnectChanged(); -- 2.30.2