diff --git a/js/modules/types/message.js b/js/modules/types/message.js index a07c1a2a7a..44e663915c 100644 --- a/js/modules/types/message.js +++ b/js/modules/types/message.js @@ -458,7 +458,11 @@ exports.processNewAttachment = async ( throw new TypeError('context.logger is required'); } - const rotatedAttachment = await Attachment.autoOrientJPEG(attachment); + const rotatedAttachment = await Attachment.autoOrientJPEG( + attachment, + undefined, + { isIncoming: true } + ); const onDiskAttachment = await Attachment.migrateDataToFileSystem( rotatedAttachment, { writeNewAttachmentData } diff --git a/ts/types/Attachment.ts b/ts/types/Attachment.ts index 809411ec0d..35c91df874 100644 --- a/ts/types/Attachment.ts +++ b/ts/types/Attachment.ts @@ -180,8 +180,18 @@ export function isValid( export async function autoOrientJPEG( attachment: AttachmentType, _: unknown, - message?: { sendHQImages?: boolean } + { + sendHQImages = false, + isIncoming = false, + }: { + sendHQImages?: boolean; + isIncoming?: boolean; + } = {} ): Promise { + if (isIncoming && !MIME.isJPEG(attachment.contentType)) { + return attachment; + } + if (!canBeTranscoded(attachment)) { return attachment; } @@ -197,7 +207,7 @@ export async function autoOrientJPEG( ); const xcodedDataBlob = await scaleImageToLevel( dataBlob, - message ? message.sendHQImages : false + sendHQImages || isIncoming ); const xcodedDataArrayBuffer = await blobToArrayBuffer(xcodedDataBlob); diff --git a/ts/views/conversation_view.ts b/ts/views/conversation_view.ts index 9240aa1e35..7a2b5189b8 100644 --- a/ts/views/conversation_view.ts +++ b/ts/views/conversation_view.ts @@ -3702,7 +3702,7 @@ Whisper.ConversationView = Whisper.View.extend({ } }, - async sendStickerMessage(options: any = {}) { + async sendStickerMessage(options: { packId: string; stickerId: number }) { const { model }: { model: ConversationModel } = this; try {