Compare commits

..

No commits in common. "497be7f0998d850e123362aa0ac2f8fdb8362066" and "59e1862e9ce46b175a1ac78a9da2ab674e930131" have entirely different histories.

5 changed files with 5 additions and 146 deletions

16
Cargo.lock generated
View File

@ -2029,15 +2029,6 @@ version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
[[package]]
name = "humansize"
version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7"
dependencies = [
"libm",
]
[[package]]
name = "hyper"
version = "0.14.28"
@ -2104,7 +2095,6 @@ dependencies = [
"futures",
"gethostname",
"html5ever",
"humansize",
"image",
"lazy_static 1.4.0",
"libc",
@ -2471,12 +2461,6 @@ dependencies = [
"windows-targets 0.48.5",
]
[[package]]
name = "libm"
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
[[package]]
name = "libredox"
version = "0.1.3"

View File

@ -61,7 +61,6 @@ unicode-segmentation = "^1.7"
unicode-width = "0.1.10"
url = {version = "^2.2.2", features = ["serde"]}
edit = "0.1.4"
humansize = "2.0.0"
[dependencies.modalkit]
version = "0.0.19"

View File

@ -515,9 +515,6 @@ fn iamb_open(desc: CommandDescription, ctx: &mut ProgContext) -> ProgResult {
fn iamb_logout(desc: CommandDescription, ctx: &mut ProgContext) -> ProgResult {
let args = desc.arg.strings()?;
if args.is_empty() {
return Result::Err(CommandError::Error("Missing username".to_string()));
}
if args.len() != 1 {
return Result::Err(CommandError::InvalidArgument);
}

View File

@ -10,7 +10,6 @@ use std::ops::{Deref, DerefMut};
use chrono::{DateTime, Local as LocalTz, NaiveDateTime, TimeZone};
use comrak::{markdown_to_html, ComrakOptions};
use humansize::{format_size, DECIMAL};
use serde_json::json;
use unicode_width::UnicodeWidthStr;
@ -510,27 +509,6 @@ impl MessageEvent {
}
}
/// Macro rule converting a File / Image / Audio / Video to its text content with the shape:
/// `[Attached <type>: <content>[ (<human readable file size>)]]`
macro_rules! display_file_to_text {
( $msgtype:ident, $content:expr ) => {
return Cow::Owned(format!(
"[Attached {}: {}{}]",
stringify!($msgtype),
$content.body,
$content
.info
.as_ref()
.map(|info| {
info.size
.map(|s| format!(" ({})", format_size(u64::from(s), DECIMAL)))
.unwrap_or_else(String::new)
})
.unwrap_or_else(String::new)
))
};
}
fn body_cow_content(content: &RoomMessageEventContent) -> Cow<'_, str> {
let s = match &content.msgtype {
MessageType::Text(content) => content.body.as_str(),
@ -540,16 +518,16 @@ fn body_cow_content(content: &RoomMessageEventContent) -> Cow<'_, str> {
MessageType::ServerNotice(content) => content.body.as_str(),
MessageType::Audio(content) => {
display_file_to_text!(Audio, content);
return Cow::Owned(format!("[Attached Audio: {}]", content.body));
},
MessageType::File(content) => {
display_file_to_text!(File, content);
return Cow::Owned(format!("[Attached File: {}]", content.body));
},
MessageType::Image(content) => {
display_file_to_text!(Image, content);
return Cow::Owned(format!("[Attached Image: {}]", content.body));
},
MessageType::Video(content) => {
display_file_to_text!(Video, content);
return Cow::Owned(format!("[Attached Video: {}]", content.body));
},
_ => {
return Cow::Owned(format!("[Unknown message type: {:?}]", content.msgtype()));
@ -1152,19 +1130,6 @@ impl ToString for Message {
#[cfg(test)]
pub mod tests {
use matrix_sdk::ruma::events::room::{
message::{
AudioInfo,
AudioMessageEventContent,
FileInfo,
FileMessageEventContent,
ImageMessageEventContent,
VideoInfo,
VideoMessageEventContent,
},
ImageInfo,
};
use super::*;
use crate::tests::*;
@ -1414,83 +1379,4 @@ pub mod tests {
)
);
}
#[test]
fn test_display_attachment_size() {
assert_eq!(
body_cow_content(&RoomMessageEventContent::new(MessageType::Image(
ImageMessageEventContent::plain(
"Alt text".to_string(),
"mxc://matrix.org/jDErsDugkNlfavzLTjJNUKAH".into()
)
.info(Some(Box::new(ImageInfo::default())))
))),
"[Attached Image: Alt text]".to_string()
);
let mut info = ImageInfo::default();
info.size = Some(442630_u32.into());
assert_eq!(
body_cow_content(&RoomMessageEventContent::new(MessageType::Image(
ImageMessageEventContent::plain(
"Alt text".to_string(),
"mxc://matrix.org/jDErsDugkNlfavzLTjJNUKAH".into()
)
.info(Some(Box::new(info)))
))),
"[Attached Image: Alt text (442.63 kB)]".to_string()
);
let mut info = ImageInfo::default();
info.size = Some(12_u32.into());
assert_eq!(
body_cow_content(&RoomMessageEventContent::new(MessageType::Image(
ImageMessageEventContent::plain(
"Alt text".to_string(),
"mxc://matrix.org/jDErsDugkNlfavzLTjJNUKAH".into()
)
.info(Some(Box::new(info)))
))),
"[Attached Image: Alt text (12 B)]".to_string()
);
let mut info = AudioInfo::default();
info.size = Some(4294967295_u32.into());
assert_eq!(
body_cow_content(&RoomMessageEventContent::new(MessageType::Audio(
AudioMessageEventContent::plain(
"Alt text".to_string(),
"mxc://matrix.org/jDErsDugkNlfavzLTjJNUKAH".into()
)
.info(Some(Box::new(info)))
))),
"[Attached Audio: Alt text (4.29 GB)]".to_string()
);
let mut info = FileInfo::default();
info.size = Some(4426300_u32.into());
assert_eq!(
body_cow_content(&RoomMessageEventContent::new(MessageType::File(
FileMessageEventContent::plain(
"Alt text".to_string(),
"mxc://matrix.org/jDErsDugkNlfavzLTjJNUKAH".into()
)
.info(Some(Box::new(info)))
))),
"[Attached File: Alt text (4.43 MB)]".to_string()
);
let mut info = VideoInfo::default();
info.size = Some(44000_u32.into());
assert_eq!(
body_cow_content(&RoomMessageEventContent::new(MessageType::Video(
VideoMessageEventContent::plain(
"Alt text".to_string(),
"mxc://matrix.org/jDErsDugkNlfavzLTjJNUKAH".into()
)
.info(Some(Box::new(info)))
))),
"[Attached Video: Alt text (44 kB)]".to_string()
);
}
}

View File

@ -484,14 +484,7 @@ impl ChatState {
let msg = if let SendAction::SubmitFromEditor = act {
let suffix =
store.application.settings.tunables.external_edit_file_suffix.as_str();
let edited_msg =
external_edit(msg.trim_end().to_string(), Builder::new().suffix(suffix))?
.trim_end()
.to_string();
if edited_msg.is_empty() {
return Ok(None);
}
edited_msg
external_edit(msg.trim_end().to_string(), Builder::new().suffix(suffix))?
} else if msg.is_blank() {
return Ok(None);
} else {