From 4b2382bf93e7a1f54f85610fd7a5acb2e33419cc Mon Sep 17 00:00:00 2001 From: vaw Date: Sat, 25 Oct 2025 20:00:49 +0000 Subject: [PATCH] Fix image preview placeholder rendering (#483) --- src/message/mod.rs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/message/mod.rs b/src/message/mod.rs index 17c6875..1e9725d 100644 --- a/src/message/mod.rs +++ b/src/message/mod.rs @@ -172,7 +172,8 @@ fn placeholder_frame( image_preview_size: &ImagePreviewSize, ) -> Option { let ImagePreviewSize { width, height } = image_preview_size; - if outer_width < *width || (*width < 2 || *height < 2) { + let width = usize::min(*width, outer_width); + if width < 2 || *height < 2 { return None; } let mut placeholder = "\u{230c}".to_string(); @@ -1083,7 +1084,7 @@ impl Message { }, ImageStatus::Loaded(backend) => { proto = Some(backend); - placeholder_frame(Some("Cut off..."), width, &backend.area().into()) + placeholder_frame(Some("No Space..."), width, &backend.area().into()) }, ImageStatus::Error(err) => Some(format!("[Image error: {err}]\n")), }; @@ -1341,7 +1342,17 @@ pub mod tests { ) ); - assert_eq!(placeholder_frame(None, 2, &ImagePreviewSize { width: 4, height: 4 }), None); + assert_eq!( + placeholder_frame(None, 2, &ImagePreviewSize { width: 4, height: 4 }), + pretty_frame_test( + r#" +⌌⌍ + + +⌎⌏ +"# + ) + ); assert_eq!(placeholder_frame(None, 4, &ImagePreviewSize { width: 1, height: 4 }), None); assert_eq!(placeholder_frame(None, 4, &ImagePreviewSize { width: 4, height: 1 }), None);