Transcode all supported image types

Co-authored-by: Josh Perez <60019601+josh-signal@users.noreply.github.com>
This commit is contained in:
automated-signal
2021-07-07 11:16:18 -07:00
committed by GitHub
parent adeadf8221
commit 1a22a7e8ab
2 changed files with 10 additions and 2 deletions

View File

@@ -6,7 +6,6 @@ const is = require('@sindresorhus/is');
const { arrayBufferToBlob, blobToArrayBuffer } = require('blob-util');
const AttachmentTS = require('../../../ts/types/Attachment');
const GoogleChrome = require('../../../ts/util/GoogleChrome');
const MIME = require('../../../ts/types/MIME');
const { toLogFormat } = require('./errors');
const { scaleImageToLevel } = require('../../../ts/util/scaleImageToLevel');
const {
@@ -51,7 +50,7 @@ exports.isValid = rawAttachment => {
// NOTE: This step strips all EXIF metadata from JPEG images as
// part of re-encoding the image:
exports.autoOrientJPEG = async (attachment, _, message) => {
if (!MIME.isJPEG(attachment.contentType)) {
if (!AttachmentTS.canBeTranscoded(attachment)) {
return attachment;
}

View File

@@ -181,6 +181,15 @@ export function isImageAttachment(
isImageTypeSupported(attachment.contentType)
);
}
export function canBeTranscoded(
attachment?: AttachmentType
): attachment is AttachmentType {
return Boolean(
isImageAttachment(attachment) && !MIME.isGif(attachment.contentType)
);
}
export function hasImage(
attachments?: Array<AttachmentType>
): string | boolean | undefined {