From a0e8c29d85f0d7943c0cf181b03447cc57d316bf Mon Sep 17 00:00:00 2001 From: Timo <16718859+toger5@users.noreply.github.com> Date: Wed, 24 Nov 2021 15:32:47 +0100 Subject: [PATCH] Make image size constrained by height when using the ImageSize.Large option (#7171) --- src/components/views/messages/MImageBody.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/components/views/messages/MImageBody.tsx b/src/components/views/messages/MImageBody.tsx index 543c383283..6e3ddb636c 100644 --- a/src/components/views/messages/MImageBody.tsx +++ b/src/components/views/messages/MImageBody.tsx @@ -379,13 +379,15 @@ export default class MImageBody extends React.Component { // check for any height constraints const imageSize = SettingsStore.getValue("Images.size") as ImageSize; const suggestedAndPossibleWidth = Math.min(suggestedImageSize(imageSize).w, infoWidth); + const suggestedAndPossibleHeight = Math.min(suggestedImageSize(imageSize).h, infoHeight); const aspectRatio = infoWidth / infoHeight; let maxWidth; let maxHeight; - const maxHeightConstraint = forcedHeight || this.props.maxImageHeight || undefined; - if (maxHeightConstraint && maxHeightConstraint * aspectRatio < suggestedAndPossibleWidth) { + const maxHeightConstraint = forcedHeight || this.props.maxImageHeight || suggestedAndPossibleHeight; + if (maxHeightConstraint * aspectRatio < suggestedAndPossibleWidth || imageSize === ImageSize.Large) { // width is dictated by the maximum height that was defined by the props or the function param `forcedHeight` + // If the thumbnail size is set to Large, we always let the size be dictated by the height. maxWidth = maxHeightConstraint * aspectRatio; // there is no need to check for infoHeight here since this is done with `maxHeightConstraint * aspectRatio < suggestedAndPossibleWidth` maxHeight = maxHeightConstraint;