Merge pull request #3094 from Aerilym/change_max_avatar_size

Change max avatar size to match other platforms
pull/3099/head
Audric Ackermann 1 year ago committed by GitHub
commit 009bc18903
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -17,6 +17,15 @@ export const DURATION = {
WEEKS: days * 7, WEEKS: days * 7,
}; };
export const FILESIZE = {
/** 1KB */
KB: 1024,
/** 1MB */
MB: 1024 * 1024,
/** 1GB */
GB: 1024 * 1024 * 1024,
};
export const TTL_DEFAULT = { export const TTL_DEFAULT = {
/** 20 seconds */ /** 20 seconds */
TYPING_MESSAGE: 20 * DURATION.SECONDS, TYPING_MESSAGE: 20 * DURATION.SECONDS,

@ -3,6 +3,7 @@ import imageType from 'image-type';
import { arrayBufferToBlob } from 'blob-util'; import { arrayBufferToBlob } from 'blob-util';
import loadImage from 'blueimp-load-image'; import loadImage from 'blueimp-load-image';
import fileSize from 'filesize';
import { StagedAttachmentType } from '../components/conversation/composition/CompositionBox'; import { StagedAttachmentType } from '../components/conversation/composition/CompositionBox';
import { SignalService } from '../protobuf'; import { SignalService } from '../protobuf';
import { getDecryptedMediaUrl } from '../session/crypto/DecryptedAttachmentsManager'; import { getDecryptedMediaUrl } from '../session/crypto/DecryptedAttachmentsManager';
@ -12,7 +13,7 @@ import { IMAGE_GIF, IMAGE_JPEG, IMAGE_PNG, IMAGE_TIFF, IMAGE_UNKNOWN } from '../
import { getAbsoluteAttachmentPath, processNewAttachment } from '../types/MessageAttachment'; import { getAbsoluteAttachmentPath, processNewAttachment } from '../types/MessageAttachment';
import { THUMBNAIL_SIDE } from '../types/attachments/VisualAttachment'; import { THUMBNAIL_SIDE } from '../types/attachments/VisualAttachment';
import { MAX_ATTACHMENT_FILESIZE_BYTES } from '../session/constants'; import { FILESIZE, MAX_ATTACHMENT_FILESIZE_BYTES } from '../session/constants';
import { perfEnd, perfStart } from '../session/utils/Performance'; import { perfEnd, perfStart } from '../session/utils/Performance';
/** /**
@ -53,7 +54,7 @@ export async function autoScaleForAvatar<T extends { contentType: string; blob:
) { ) {
const maxMeasurements = { const maxMeasurements = {
maxSide: AVATAR_MAX_SIDE, maxSide: AVATAR_MAX_SIDE,
maxSize: 1000 * 1024, maxSize: 5 * FILESIZE.MB,
}; };
// we can only upload jpeg, gif, or png as avatar/opengroup // we can only upload jpeg, gif, or png as avatar/opengroup
@ -79,7 +80,7 @@ export async function autoScaleForAvatar<T extends { contentType: string; blob:
export async function autoScaleForIncomingAvatar(incomingAvatar: ArrayBuffer) { export async function autoScaleForIncomingAvatar(incomingAvatar: ArrayBuffer) {
const maxMeasurements = { const maxMeasurements = {
maxSide: AVATAR_MAX_SIDE, maxSide: AVATAR_MAX_SIDE,
maxSize: 1000 * 1024, maxSize: 5 * FILESIZE.MB,
}; };
// the avatar url send in a message does not contain anything related to the avatar MIME type, so // the avatar url send in a message does not contain anything related to the avatar MIME type, so
@ -186,7 +187,7 @@ export async function autoScale<T extends { contentType: string; blob: Blob }>(
} }
if (blob.type === IMAGE_GIF && blob.size > maxSize) { if (blob.type === IMAGE_GIF && blob.size > maxSize) {
throw new Error(`GIF is too large, required size is ${maxSize}`); throw new Error(`GIF is too large. Max size: ${fileSize(maxSize, { base: 10, round: 0 })}`);
} }
perfStart(`loadimage-*${blob.size}`); perfStart(`loadimage-*${blob.size}`);

Loading…
Cancel
Save