Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package plasma6-activities for openSUSE:Factory checked in at 2025-10-29 21:05:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/plasma6-activities (Old) and /work/SRC/openSUSE:Factory/.plasma6-activities.new.1980 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plasma6-activities" Wed Oct 29 21:05:04 2025 rev:31 rq:1314172 version:6.5.1 Changes: -------- --- /work/SRC/openSUSE:Factory/plasma6-activities/plasma6-activities.changes 2025-10-22 12:13:32.736478011 +0200 +++ /work/SRC/openSUSE:Factory/.plasma6-activities.new.1980/plasma6-activities.changes 2025-10-29 21:05:50.148555676 +0100 @@ -1,0 +2,10 @@ +Tue Oct 28 11:51:32 UTC 2025 - Fabian Vogt <[email protected]> + +- Update to 6.5.1: + * New bugfix release + * For more details see https://kde.org/announcements/plasma/6/6.5.1 +- Changes since 6.5.0: + * Update version for new release 6.5.1 + * Revert "fix: replace continue_with with QFuture::then" + +------------------------------------------------------------------- Old: ---- plasma-activities-6.5.0.tar.xz plasma-activities-6.5.0.tar.xz.sig New: ---- plasma-activities-6.5.1.tar.xz plasma-activities-6.5.1.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ plasma6-activities.spec ++++++ --- /var/tmp/diff_new_pack.F05psI/_old 2025-10-29 21:05:51.556614875 +0100 +++ /var/tmp/diff_new_pack.F05psI/_new 2025-10-29 21:05:51.564615211 +0100 @@ -23,14 +23,14 @@ %define rname plasma-activities %bcond_without released Name: plasma6-activities -Version: 6.5.0 +Version: 6.5.1 Release: 0 Summary: Plasma Activities support License: GPL-2.0-or-later URL: https://www.kde.org -Source: %{rname}-%{version}.tar.xz +Source: https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz %if %{with released} -Source1: %{rname}-%{version}.tar.xz.sig +Source1: https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz.sig Source2: plasma.keyring %endif BuildRequires: doxygen ++++++ plasma-activities-6.5.0.tar.xz -> plasma-activities-6.5.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-activities-6.5.0/CMakeLists.txt new/plasma-activities-6.5.1/CMakeLists.txt --- old/plasma-activities-6.5.0/CMakeLists.txt 2025-10-16 11:08:00.000000000 +0200 +++ new/plasma-activities-6.5.1/CMakeLists.txt 2025-10-28 10:20:53.000000000 +0100 @@ -1,7 +1,7 @@ # vim:set softtabstop=3 shiftwidth=3 tabstop=3 expandtab: cmake_minimum_required(VERSION 3.16) -set(PROJECT_VERSION "6.5.0") +set(PROJECT_VERSION "6.5.1") project(PlasmaActivities VERSION ${PROJECT_VERSION}) set(QT_MIN_VERSION "6.9.0") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-activities-6.5.0/src/imports/activitymodel.cpp new/plasma-activities-6.5.1/src/imports/activitymodel.cpp --- old/plasma-activities-6.5.0/src/imports/activitymodel.cpp 2025-10-16 11:08:00.000000000 +0200 +++ new/plasma-activities-6.5.1/src/imports/activitymodel.cpp 2025-10-28 10:20:53.000000000 +0100 @@ -26,8 +26,12 @@ #include <optional> // Local +#define ENABLE_QJSVALUE_CONTINUATION +#include "utils/continue_with.h" #include "utils/model_updaters.h" +using kamd::utils::continue_with; + namespace KActivities { namespace Imports @@ -473,9 +477,7 @@ void ActivityModel::setActivity##What( \ const QString &id, const QString &value, const QJSValue &callback) \ { \ - m_service.setActivity##What(id, value).then([=]() { \ - callback.call({}); \ - }); \ + continue_with(m_service.setActivity##What(id, value), callback); \ } // clang-format on @@ -488,25 +490,19 @@ // QFuture<bool> Controller::setCurrentActivity(id) void ActivityModel::setCurrentActivity(const QString &id, const QJSValue &callback) { - m_service.setCurrentActivity(id).then([=](bool successful) { - callback.call({successful}); - }); + continue_with(m_service.setCurrentActivity(id), callback); } // QFuture<QString> Controller::addActivity(name) void ActivityModel::addActivity(const QString &name, const QJSValue &callback) { - m_service.addActivity(name).then([=](const QString &activityId) { - callback.call({activityId}); - }); + continue_with(m_service.addActivity(name), callback); } // QFuture<void> Controller::removeActivity(id) void ActivityModel::removeActivity(const QString &id, const QJSValue &callback) { - m_service.removeActivity(id).then([=]() { - callback.call({}); - }); + continue_with(m_service.removeActivity(id), callback); } } // namespace Imports diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-activities-6.5.0/src/lib/manager_p.cpp new/plasma-activities-6.5.1/src/lib/manager_p.cpp --- old/plasma-activities-6.5.0/src/lib/manager_p.cpp 2025-10-16 11:08:00.000000000 +0200 +++ new/plasma-activities-6.5.1/src/lib/manager_p.cpp 2025-10-28 10:20:53.000000000 +0100 @@ -7,6 +7,7 @@ #include "manager_p.h" #include <mutex> +#include <optional> #include <QCoreApplication> #include <QDBusConnection> @@ -17,6 +18,7 @@ #include "mainthreadexecutor_p.h" #include "common/dbus/common.h" +#include "utils/continue_with.h" #include "utils/dbusfuture_p.h" #include "version.h" @@ -90,7 +92,6 @@ void Manager::serviceOwnerChanged(const QString &serviceName, const QString &oldOwner, const QString &newOwner) { Q_UNUSED(oldOwner); - Q_UNUSED(newOwner); if (serviceName == KAMD_DBUS_SERVICE) { const bool isRunning = QDBusConnection::sessionBus().interface()->isServiceRegistered(KAMD_DBUS_SERVICE); @@ -98,10 +99,19 @@ Q_EMIT serviceStatusChanged(m_serviceStatus); if (isRunning) { - DBusFuture::fromReply(m_service->serviceVersion()).then([](const QString &serviceVersion) { + using namespace kamd::utils; + + continue_with(DBusFuture::fromReply(m_service->serviceVersion()), [this](const std::optional<QString> &serviceVersion) { // Test whether the service is older than the library. // If it is, we need to end this - auto split = serviceVersion.split(QLatin1Char('.')); + + if (!serviceVersion.has_value()) { + qWarning() << "KActivities: FATAL ERROR: Failed to contact the activity manager daemon"; + m_serviceStatus = NotRunning; + return; + } + + auto split = serviceVersion->split(QLatin1Char('.')); QList<int> version; // We require kactivitymanagerd version to be at least the @@ -117,7 +127,7 @@ QString libraryVersion = QString::number(requiredVersion[0]) + QLatin1Char('.') + QString::number(requiredVersion[1]) + QLatin1Char('.') + QString::number(requiredVersion[2]); - qDebug() << "KActivities service version: " << serviceVersion; + qDebug() << "KActivities service version: " << serviceVersion.value(); qDebug() << "KActivities library version: " << libraryVersion; qFatal("KActivities: FATAL ERROR: The service is older than the library"); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/plasma-activities-6.5.0/src/utils/continue_with.h new/plasma-activities-6.5.1/src/utils/continue_with.h --- old/plasma-activities-6.5.0/src/utils/continue_with.h 1970-01-01 01:00:00.000000000 +0100 +++ new/plasma-activities-6.5.1/src/utils/continue_with.h 2025-10-28 10:20:53.000000000 +0100 @@ -0,0 +1,90 @@ +/* + SPDX-FileCopyrightText: 2014-2016 Ivan Cukic <ivan.cukic(at)kde.org> + + SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL +*/ + +#ifndef UTILS_CONTINUE_WITH_H +#define UTILS_CONTINUE_WITH_H + +#include <QDebug> +#include <QFuture> +#include <QFutureWatcher> + +#include <optional> + +#ifdef ENABLE_QJSVALUE_CONTINUATION +#include <QJSValue> +#endif + +namespace kamd +{ +namespace utils +{ +namespace detail +{ //_ +#ifdef ENABLE_QJSVALUE_CONTINUATION +inline void test_continuation(const QJSValue &continuation) +{ + if (!continuation.isCallable()) { + qWarning() << "Passed handler is not callable: " << continuation.toString(); + } +} + +template<typename _ReturnType> +inline void pass_value(const QFuture<_ReturnType> &future, QJSValue continuation) +{ + auto result = continuation.call({future.result()}); + if (result.isError()) { + qWarning() << "Handler returned this error: " << result.toString(); + } +} + +inline void pass_value(const QFuture<void> &future, QJSValue continuation) +{ + Q_UNUSED(future); + auto result = continuation.call({}); + if (result.isError()) { + qWarning() << "Handler returned this error: " << result.toString(); + } +} +#endif + +template<typename _Continuation> +inline void test_continuation(_Continuation &&continuation) +{ + Q_UNUSED(continuation); +} + +template<typename _ReturnType, typename _Continuation> +inline void pass_value(const QFuture<_ReturnType> &future, _Continuation &&continuation) +{ + using namespace kamd::utils; + continuation(future.resultCount() > 0 ? std::optional(future.result()) : std::nullopt); +} + +template<typename _Continuation> +inline void pass_value(_Continuation &&continuation) +{ + continuation(); +} + +} //^ namespace detail + +template<typename _ReturnType, typename _Continuation> +inline void continue_with(const QFuture<_ReturnType> &future, _Continuation &&continuation) +{ + detail::test_continuation(continuation); + + auto watcher = new QFutureWatcher<_ReturnType>(); + QObject::connect(watcher, &QFutureWatcherBase::finished, [=]() mutable { + detail::pass_value(future, continuation); + }); + + watcher->setFuture(future); +} + +} // namespace utils +} // namespace kamd + +#endif /* !UTILS_CONTINUE_WITH_H */
