diff --git a/ElementX/Sources/Services/Media/MediaUploadingPreprocessor.swift b/ElementX/Sources/Services/Media/MediaUploadingPreprocessor.swift index e7267e559..bde8350e5 100644 --- a/ElementX/Sources/Services/Media/MediaUploadingPreprocessor.swift +++ b/ElementX/Sources/Services/Media/MediaUploadingPreprocessor.swift @@ -319,7 +319,7 @@ struct MediaUploadingPreprocessor { /// - targetSize: maximum resulting size /// - Returns: the resized image private func resizeImage(withSource imageSource: CGImageSource, targetSize: CGSize) async -> Result { - let maximumSize = min(targetSize.height, targetSize.width) + let maximumSize = max(targetSize.height, targetSize.width) let options: [NSString: Any] = [ // The maximum width and height in pixels of a thumbnail. diff --git a/UnitTests/Sources/MediaUploadingPreprocessorTests.swift b/UnitTests/Sources/MediaUploadingPreprocessorTests.swift index 7d7544f0c..db5b50375 100644 --- a/UnitTests/Sources/MediaUploadingPreprocessorTests.swift +++ b/UnitTests/Sources/MediaUploadingPreprocessorTests.swift @@ -144,9 +144,9 @@ final class MediaUploadingPreprocessorTests: XCTestCase { XCTAssertNotNil(imageInfo.thumbnailInfo) XCTAssertEqual(imageInfo.thumbnailInfo?.mimetype, "image/jpeg") - XCTAssertEqual(imageInfo.thumbnailInfo?.size, 52159) - XCTAssertEqual(imageInfo.thumbnailInfo?.width, 600) - XCTAssertEqual(imageInfo.thumbnailInfo?.height, 257) + XCTAssertEqual(imageInfo.thumbnailInfo?.size, 89553) + XCTAssertEqual(imageInfo.thumbnailInfo?.width, 800) + XCTAssertEqual(imageInfo.thumbnailInfo?.height, 344) } func testPortraitImageProcessing() async { @@ -165,16 +165,16 @@ final class MediaUploadingPreprocessorTests: XCTestCase { // Check resulting image info XCTAssertEqual(imageInfo.mimetype, "image/jpeg") - XCTAssertEqual(imageInfo.blurhash, "KdE:ess+RP^-n*RP%hWAV@") + XCTAssertEqual(imageInfo.blurhash, "KdE:ets+RP^-n*RP%OWAV@") XCTAssertEqual(imageInfo.size, 4_414_666) XCTAssertEqual(imageInfo.width, 3024) XCTAssertEqual(imageInfo.height, 4032) XCTAssertNotNil(imageInfo.thumbnailInfo) XCTAssertEqual(imageInfo.thumbnailInfo?.mimetype, "image/jpeg") - XCTAssertEqual(imageInfo.thumbnailInfo?.size, 156_948) - XCTAssertEqual(imageInfo.thumbnailInfo?.width, 450) - XCTAssertEqual(imageInfo.thumbnailInfo?.height, 600) + XCTAssertEqual(imageInfo.thumbnailInfo?.size, 264_500) + XCTAssertEqual(imageInfo.thumbnailInfo?.width, 600) + XCTAssertEqual(imageInfo.thumbnailInfo?.height, 800) } // MARK: - Private @@ -225,7 +225,12 @@ final class MediaUploadingPreprocessorTests: XCTestCase { return } - XCTAssert(thumbnail.size.width <= MediaUploadingPreprocessor.Constants.maximumThumbnailSize.width) - XCTAssert(thumbnail.size.height <= MediaUploadingPreprocessor.Constants.maximumThumbnailSize.height) + if thumbnail.size.width > thumbnail.size.height { + XCTAssert(thumbnail.size.width <= MediaUploadingPreprocessor.Constants.maximumThumbnailSize.width) + XCTAssert(thumbnail.size.height <= MediaUploadingPreprocessor.Constants.maximumThumbnailSize.height) + } else { + XCTAssert(thumbnail.size.width <= MediaUploadingPreprocessor.Constants.maximumThumbnailSize.height) + XCTAssert(thumbnail.size.height <= MediaUploadingPreprocessor.Constants.maximumThumbnailSize.width) + } } } diff --git a/changelog.d/980.bugfix b/changelog.d/980.bugfix new file mode 100644 index 000000000..4dc645718 --- /dev/null +++ b/changelog.d/980.bugfix @@ -0,0 +1 @@ +Fix the size of the generated thumbnail when uploading media \ No newline at end of file