New upstream version 2.5.1+ds
authorIOhannes m zmölnig (Debian/GNU) <umlaeute@debian.org>
Sun, 9 Feb 2025 19:19:19 +0000 (20:19 +0100)
committerIOhannes m zmölnig (Debian/GNU) <umlaeute@debian.org>
Sun, 9 Feb 2025 19:19:19 +0000 (20:19 +0100)
docs/changelog.yml
linux/README.md
src/jacktrip_globals.h
src/vs/Browse.qml
src/vs/virtualstudio.cpp
src/vs/vs.qml
src/vs/vsServerInfo.cpp
src/vs/vsServerInfo.h

index e44a0ec824b91bcb6017528bb988dfd12612be69..6784c61ca5918455e4c8933d9d88f2437db63ada 100644 (file)
@@ -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:
index 3d46779af5bf7b53b9f9cd5f85ffc3e73a6ebe00..585fa958b75f154cdff37882270bade81e2e426f 100644 (file)
@@ -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:
index c2ed2335dff96d35f81c13697301a8e12f41e9c5..dbeef2a55071dadf62268ba9259a4e2de6b71709 100644 (file)
@@ -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
index 4974347837f9be37a0b3778040b023e4fcfdedab..d9572d26e6313b3718342644e4f97743bf0016b6 100644 (file)
@@ -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
index 15d2e8a508f6b1b2fa83036f7ac007523c306814..bef8af4b85d5ba5aeb945c846a5e98c171ec78fe 100644 (file)
@@ -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<VsServerInfo> 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
index 360a12ab7a14931e837eb2d8e2dd545d2b23daa3..3c327b2c252520b3b78dcd348676e33e35f29d10 100644 (file)
@@ -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
     }
 
index 8d13a77b9e93124b6899dc3b1efb0316da1bea7c..094e323c5db2020e635486a149815eef2d605365 100644 (file)
@@ -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;
index 15f9d8fe6b5522a57d9c25f825e20dc56a9fa1c1..48aac8b41b4e12eda1694d492bc4b60faa5731bf 100644 (file)
@@ -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();