Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kactivities-stats for
openSUSE:Factory checked in at 2022-05-16 18:06:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kactivities-stats (Old)
and /work/SRC/openSUSE:Factory/.kactivities-stats.new.1538 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kactivities-stats"
Mon May 16 18:06:32 2022 rev:74 rq:977145 version:5.94.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kactivities-stats/kactivities-stats.changes
2022-04-11 23:47:52.640007342 +0200
+++
/work/SRC/openSUSE:Factory/.kactivities-stats.new.1538/kactivities-stats.changes
2022-05-16 18:08:09.157253363 +0200
@@ -1,0 +2,12 @@
+Tue May 10 08:17:44 UTC 2022 - Christophe Giboudeaux <[email protected]>
+
+- Update to 5.94.0
+ * New feature release
+ * For more details please see:
+ * https://kde.org/announcements/frameworks/5/5.94.0
+- Changes since 5.93.0:
+ * Make replace to not block because of missing item removal
+ * Add ResultModel::forgetResources method
+ * Require unittests to pass for CI jobs to pass
+
+-------------------------------------------------------------------
Old:
----
kactivities-stats-5.93.0.tar.xz
kactivities-stats-5.93.0.tar.xz.sig
New:
----
kactivities-stats-5.94.0.tar.xz
kactivities-stats-5.94.0.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kactivities-stats.spec ++++++
--- /var/tmp/diff_new_pack.R6ciFt/_old 2022-05-16 18:08:09.657253836 +0200
+++ /var/tmp/diff_new_pack.R6ciFt/_new 2022-05-16 18:08:09.661253840 +0200
@@ -17,7 +17,7 @@
%define lname libKF5ActivitiesStats1
-%define _tar_path 5.93
+%define _tar_path 5.94
# Full KF5 version (e.g. 5.33.0)
%{!?_kf5_version: %global _kf5_version %{version}}
# Last major and minor KF5 version (e.g. 5.33)
@@ -25,7 +25,7 @@
# Only needed for the package signature condition
%bcond_without released
Name: kactivities-stats
-Version: 5.93.0
+Version: 5.94.0
Release: 0
Summary: KDE Plasma Activities support
License: LGPL-2.0-or-later
++++++ kactivities-stats-5.93.0.tar.xz -> kactivities-stats-5.94.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kactivities-stats-5.93.0/.kde-ci.yml
new/kactivities-stats-5.94.0/.kde-ci.yml
--- old/kactivities-stats-5.93.0/.kde-ci.yml 2022-04-02 11:55:04.000000000
+0200
+++ new/kactivities-stats-5.94.0/.kde-ci.yml 2022-05-02 14:48:49.000000000
+0200
@@ -6,3 +6,4 @@
Options:
test-before-installing: True
+ require-passing-tests-on: [ 'Linux', 'FreeBSD' ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kactivities-stats-5.93.0/CMakeLists.txt
new/kactivities-stats-5.94.0/CMakeLists.txt
--- old/kactivities-stats-5.93.0/CMakeLists.txt 2022-04-02 11:55:04.000000000
+0200
+++ new/kactivities-stats-5.94.0/CMakeLists.txt 2022-05-02 14:48:49.000000000
+0200
@@ -2,7 +2,7 @@
cmake_minimum_required(VERSION 3.16)
-set(KF_VERSION "5.93.0") # handled by release scripts
+set(KF_VERSION "5.94.0") # handled by release scripts
set(KF_DEP_VERSION "5.93.0") # handled by release scripts
project (KActivitiesStats VERSION ${KF_VERSION})
@@ -49,6 +49,7 @@
# find_package (KF5I18n ${KF_DEP_VERSION} CONFIG REQUIRED)
find_package (KF5Config ${KF_DEP_VERSION} CONFIG REQUIRED)
find_package (KF5Activities ${KF_DEP_VERSION} CONFIG REQUIRED)
+find_package(Threads REQUIRED)
# Basic includes
include (CPack)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kactivities-stats-5.93.0/src/CMakeLists.txt
new/kactivities-stats-5.94.0/src/CMakeLists.txt
--- old/kactivities-stats-5.93.0/src/CMakeLists.txt 2022-04-02
11:55:04.000000000 +0200
+++ new/kactivities-stats-5.94.0/src/CMakeLists.txt 2022-05-02
14:48:49.000000000 +0200
@@ -68,6 +68,7 @@
Qt${QT_MAJOR_VERSION}::Sql
KF5::Activities
KF5::ConfigCore
+ Threads::Threads
)
target_include_directories (
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kactivities-stats-5.93.0/src/resultmodel.cpp
new/kactivities-stats-5.94.0/src/resultmodel.cpp
--- old/kactivities-stats-5.93.0/src/resultmodel.cpp 2022-04-02
11:55:04.000000000 +0200
+++ new/kactivities-stats-5.94.0/src/resultmodel.cpp 2022-05-02
14:48:49.000000000 +0200
@@ -8,13 +8,15 @@
#include "resultmodel.h"
// Qt
-#include <QDebug>
-#include <QDateTime>
#include <QCoreApplication>
+#include <QDateTime>
+#include <QDebug>
#include <QFile>
+#include <QTimer>
// STL
#include <functional>
+#include <thread>
// KDE
#include <KSharedConfig>
@@ -493,11 +495,24 @@
// Check whether we got an item representing a non-existent file,
// if so, schedule its removal from the database
- for (const auto &item: newItems) {
- if (item.resource().startsWith(QLatin1Char('/')) &&
!QFile(item.resource()).exists()) {
- d->q->forgetResource(item.resource());
+ // we want to do this async so that we don't block
+ std::thread([=] {
+ QList<QString> missingResources;
+ for (const auto &item: newItems) {
+ // QFile.exists() can be incredibly slow (eg. if resource
is on remote filesystem)
+ if (item.resource().startsWith(QLatin1Char('/')) &&
!QFile(item.resource()).exists()) {
+ missingResources << item.resource();
+ }
}
- }
+
+ if (missingResources.empty()) {
+ return;
+ }
+
+ QTimer::singleShot(0, this->d->q, [=] {
+ d->q->forgetResources(missingResources);
+ });
+ }).detach();
}
//^
@@ -1060,23 +1075,30 @@
: d->hasMore;
}
-void ResultModel::forgetResource(const QString &resource)
+void ResultModel::forgetResources(const QList<QString> &resources)
{
const auto lstActivities = d->query.activities();
for (const QString &activity : lstActivities) {
const auto lstAgents = d->query.agents();
for (const QString &agent : lstAgents) {
- /* clang-format off */
- Stats::forgetResource(
- activity,
- agent == CURRENT_AGENT_TAG ?
- QCoreApplication::applicationName() : agent,
- resource);
- /* clang-format on */
+ for (const QString &resource : resources) {
+ /* clang-format off */
+ Stats::forgetResource(
+ activity,
+ agent == CURRENT_AGENT_TAG ?
+ QCoreApplication::applicationName() : agent,
+ resource);
+ /* clang-format on */
+ }
}
}
}
+void ResultModel::forgetResource(const QString &resource)
+{
+ ResultModel::forgetResources({ resource });
+}
+
void ResultModel::forgetResource(int row)
{
if (row >= d->cache.size()) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kactivities-stats-5.93.0/src/resultmodel.h
new/kactivities-stats-5.94.0/src/resultmodel.h
--- old/kactivities-stats-5.93.0/src/resultmodel.h 2022-04-02
11:55:04.000000000 +0200
+++ new/kactivities-stats-5.94.0/src/resultmodel.h 2022-05-02
14:48:49.000000000 +0200
@@ -75,6 +75,11 @@
void forgetResource(const QString &resource);
/**
+ * Removes specified list of resources from the history
+ */
+ void forgetResources(const QList<QString> &resources);
+
+ /**
* Removes the specified resource from the history
*/
void forgetResource(int row);