Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: [email protected], [email protected]
Control: affects -1 + src:akonadi
User: [email protected]
Usertags: pu

[ Reason ]

#1113998 - if you have more than 1000 folders in kmail not all are
visible and usable in KMail. It is very annoying as you see with every
start of KMail a different set of 1000 folders.

[ Tests ]
The patch that fixes the bug come from upstream and 4:24.12.3-2 was the
version in unstable for two months without any issue.
Me personally was also affected by that bug and know that this was fixed
with 4:24.12.3-2.

[ Risks ]
The patch is only changing two lines and is trivial.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]
Adding an upstream patch to fix the issue and update changelog.
diff -Nru akonadi-24.12.3/debian/changelog akonadi-24.12.3/debian/changelog
--- akonadi-24.12.3/debian/changelog    2025-03-29 18:47:17.000000000 +0100
+++ akonadi-24.12.3/debian/changelog    2026-01-31 10:14:45.000000000 +0100
@@ -1,3 +1,16 @@
+akonadi (4:24.12.3-2~deb13u1) trixie; urgency=medium
+
+  * Backport for Trixie.
+
+ -- Sandro Knauß <[email protected]>  Sat, 31 Jan 2026 10:14:45 +0100
+
+akonadi (4:24.12.3-2) unstable; urgency=medium
+
+  [ Patrick Franz ]
+  * Backport patch to show all folders in kmail (Closes: #1113998).
+
+ -- Patrick Franz <[email protected]>  Sun, 07 Sep 2025 12:52:29 +0200
+
 akonadi (4:24.12.3-1) unstable; urgency=medium
 
   [ Patrick Franz ]
diff -Nru akonadi-24.12.3/debian/patches/series 
akonadi-24.12.3/debian/patches/series
--- akonadi-24.12.3/debian/patches/series       2024-12-18 22:30:27.000000000 
+0100
+++ akonadi-24.12.3/debian/patches/series       2026-01-31 10:11:59.000000000 
+0100
@@ -1,3 +1,6 @@
+# Fixed in 25.04.2
+upstream_fix_many_folders.patch
+
 postgresql-data-checksums.patch
 disable_secure_file_priv_check.diff
 load_local_apparmor_rules.diff
diff -Nru akonadi-24.12.3/debian/patches/upstream_fix_many_folders.patch 
akonadi-24.12.3/debian/patches/upstream_fix_many_folders.patch
--- akonadi-24.12.3/debian/patches/upstream_fix_many_folders.patch      
1970-01-01 01:00:00.000000000 +0100
+++ akonadi-24.12.3/debian/patches/upstream_fix_many_folders.patch      
2026-01-31 10:11:59.000000000 +0100
@@ -0,0 +1,39 @@
+From 3416562fbac8184ee881c81cc6710c1effcaa982 Mon Sep 17 00:00:00 2001
+From: Martin Koller <[email protected]>
+Date: Mon, 19 May 2025 12:14:59 +0200
+Subject: [PATCH] fix batch query operation really completing full set
+
+Fixes a porting error which led to only doing a query for the first
+batch of ids instead of continuing the whole id set
+
+BUG: 494807
+FIXED-IN: 25.04.2
+---
+ src/server/handler/collectionfetchhandler.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/server/handler/collectionfetchhandler.cpp 
b/src/server/handler/collectionfetchhandler.cpp
+index c8b4a78e6..8f87ba2c3 100644
+--- a/src/server/handler/collectionfetchhandler.cpp
++++ b/src/server/handler/collectionfetchhandler.cpp
+@@ -401,7 +401,7 @@ void CollectionFetchHandler::retrieveCollections(const 
Collection &topParent, in
+         QStringList mimeTypes;
+         {
+             // Get new query if necessary
+-            if (!mimeTypeQb && mimetypeQueryStart < mimeTypeIds.size()) {
++            if ((!mimeTypeQb || !mimeTypeQb->query().isValid()) && 
mimetypeQueryStart < mimeTypeIds.size()) {
+                 const QVariantList ids = mimeTypeIds.mid(mimetypeQueryStart, 
querySizeLimit);
+                 mimetypeQueryStart += querySizeLimit;
+                 mimeTypeQb = getMimeTypeQuery(ids);
+@@ -425,7 +425,7 @@ void CollectionFetchHandler::retrieveCollections(const 
Collection &topParent, in
+         CollectionAttribute::List attributes;
+         {
+             // Get new query if necessary
+-            if (!attributeQb && attributeQueryStart < attributeIds.size()) {
++            if ((!attributeQb || !attributeQb->query().isValid()) && 
attributeQueryStart < attributeIds.size()) {
+                 const QVariantList ids = 
attributeIds.mid(attributeQueryStart, querySizeLimit);
+                 attributeQueryStart += querySizeLimit;
+                 attributeQb = getAttributeQuery(ids, QSet<QByteArray>());
+-- 
+GitLab
+

Reply via email to