From ef9c74821dacb89434cacd585d2c9f46bfdc1d81 Mon Sep 17 00:00:00 2001 From: Maurus Decimus <11444311+mdecimus@users.noreply.github.com> Date: Thu, 18 Jun 2026 17:22:45 +0200 Subject: [PATCH] Fix JMAP: `Email/query`: Non-standard header values are not searchable --- crates/email/src/message/index/search.rs | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/crates/email/src/message/index/search.rs b/crates/email/src/message/index/search.rs index 06cdaaf3..a7ed9aeb 100644 --- a/crates/email/src/message/index/search.rs +++ b/crates/email/src/message/index/search.rs @@ -193,19 +193,14 @@ impl ArchivedMessageMetadata { }); } _ => { - if (matches!( - header.value, - ArchivedMetadataHeaderValue::ContentType(_) - ) || matches!( - header.name, - ArchivedMetadataHeaderName::Received - )) && let Some(header) = + if let Some(raw_value) = raw_message.get(header.value_range()) { - let header = std::str::from_utf8(header.as_ref()) + let raw_value = std::str::from_utf8(raw_value.as_ref()) .unwrap_or_default(); - for word in WordTokenizer::new(header, MAX_TOKEN_LENGTH) + for word in + WordTokenizer::new(raw_value, MAX_TOKEN_LENGTH) { if !value.is_empty() { value.push(' ');