From 1567bc64efa5034a15b2a023b329605791562a18 Mon Sep 17 00:00:00 2001 From: Lennart <18233294+lennart-k@users.noreply.github.com> Date: Sun, 4 Jan 2026 00:05:07 +0100 Subject: [PATCH] addressbook-query: Fix filter matching for empty filters --- .../addressbook/methods/report/addressbook_query/elements.rs | 5 +++++ .../methods/report/addressbook_query/prop_filter.rs | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/crates/carddav/src/addressbook/methods/report/addressbook_query/elements.rs b/crates/carddav/src/addressbook/methods/report/addressbook_query/elements.rs index ca34a11..b294482 100644 --- a/crates/carddav/src/addressbook/methods/report/addressbook_query/elements.rs +++ b/crates/carddav/src/addressbook/methods/report/addressbook_query/elements.rs @@ -82,6 +82,11 @@ pub struct FilterElement { impl FilterElement { #[must_use] pub fn matches(&self, addr_object: &AddressObject) -> bool { + if self.prop_filter.is_empty() { + // Filter empty + return true; + } + let Allof(allof) = self.test; let mut results = self .prop_filter diff --git a/crates/carddav/src/addressbook/methods/report/addressbook_query/prop_filter.rs b/crates/carddav/src/addressbook/methods/report/addressbook_query/prop_filter.rs index eb368a8..e8de84d 100644 --- a/crates/carddav/src/addressbook/methods/report/addressbook_query/prop_filter.rs +++ b/crates/carddav/src/addressbook/methods/report/addressbook_query/prop_filter.rs @@ -32,6 +32,10 @@ pub struct PropFilterElement { impl PropFilterElement { #[must_use] pub fn match_property(&self, property: &Property) -> bool { + if self.param_filter.is_empty() && self.text_match.is_empty() { + // Filter empty + return true; + } let Allof(allof) = self.test; let text_matches = self .text_match