diff --git a/src/blob/blob_tests.rs b/src/blob/blob_tests.rs index 63763f54a..86056e739 100644 --- a/src/blob/blob_tests.rs +++ b/src/blob/blob_tests.rs @@ -258,6 +258,26 @@ async fn test_selfavatar_copy_without_recode() { assert_eq!(avatar_cfg, avatar_blob.to_str().map(|s| s.to_string())); } +#[tokio::test(flavor = "multi_thread", worker_threads = 2)] +async fn test_recode_image_long_narrow() { + let bytes = include_bytes!("../../test-data/image/screenshot.png"); + SendImageCheckMediaquality { + viewtype: Viewtype::Image, + media_quality_config: "0", + bytes, + extension: "jpg", + original_width: 1920, + original_height: 1080, + compressed_width: 1872, + compressed_height: 1053, + ..Default::default() + } + .test() + .await + .unwrap(); + assert!(false); +} + #[tokio::test(flavor = "multi_thread", worker_threads = 2)] async fn test_recode_image_1() { let bytes = include_bytes!("../../test-data/image/avatar1000x1000.jpg"); diff --git a/src/constants.rs b/src/constants.rs index 6850cf243..25398568b 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -193,7 +193,7 @@ pub const DC_LP_AUTH_NORMAL: i32 = 0x4; pub const DC_LP_AUTH_FLAGS: i32 = DC_LP_AUTH_OAUTH2 | DC_LP_AUTH_NORMAL; // max. weight of images to send w/o recoding -pub const BALANCED_IMAGE_BYTES: usize = 500_000; +pub const BALANCED_IMAGE_BYTES: usize = 1; pub const WORSE_IMAGE_BYTES: usize = 130_000; // max. width/height and bytes of an avatar @@ -203,7 +203,7 @@ pub(crate) const WORSE_AVATAR_SIZE: u32 = 256; pub(crate) const WORSE_AVATAR_BYTES: usize = 20_000; // this also fits to Outlook servers don't allowing headers larger than 32k. // max. width/height of images scaled down because of being too huge -pub const BALANCED_IMAGE_SIZE: u32 = 1280; +pub const BALANCED_IMAGE_SIZE: u32 = 1408; pub const WORSE_IMAGE_SIZE: u32 = 640; /// Limit for received images size. Bigger images become `Viewtype::File` to avoid excessive memory