From 5d06ca3c8e30f9fe5ef2a3e9a306e747ecc72020 Mon Sep 17 00:00:00 2001 From: Hocuri Date: Sat, 21 Mar 2026 14:48:56 +0100 Subject: [PATCH] fix: Make newlines work in chat descriptions (#8012) This fixes a bug: If there is a multi-line chat description, only the first line was shown on recipient devices. Credits to @lk108 for noticing! --- src/chat/chat_tests.rs | 7 ++++++- src/mimefactory.rs | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/chat/chat_tests.rs b/src/chat/chat_tests.rs index d6c4e0ccb..04fe46195 100644 --- a/src/chat/chat_tests.rs +++ b/src/chat/chat_tests.rs @@ -3335,7 +3335,12 @@ async fn test_chat_description( initial_description ); - for description in ["This is a cool chat", "", "ä ẟ 😂"] { + for description in [ + &"This<>is 'a' \"cool\" chat:/\\|?*".repeat(50), + "multiple\nline\n\nbreaks\n\n\r\n.", + "", + "ä ẟ 😂", + ] { tcm.section(&format!( "Alice sets the chat description to '{description}'" )); diff --git a/src/mimefactory.rs b/src/mimefactory.rs index 94eeda020..ca615b470 100644 --- a/src/mimefactory.rs +++ b/src/mimefactory.rs @@ -1525,7 +1525,7 @@ impl MimeFactory { let description = chat::get_chat_description(context, chat.id).await?; headers.push(( "Chat-Group-Description", - mail_builder::headers::text::Text::new(description.clone()).into(), + mail_builder::headers::raw::Raw::new(b_encode(&description)).into(), )); if let Some(ts) = chat.param.get_i64(Param::GroupDescriptionTimestamp) { headers.push((