Send/reply: Be resilient to errors making attachment thumbnail (#2468)
* Show generic file icon if we fail to make attachment thumbnail * Be resilient to thumbnail creation errors when creating quote
This commit is contained in:
@@ -735,13 +735,25 @@
|
||||
const willMakeThumbnail =
|
||||
Signal.Util.GoogleChrome.isImageTypeSupported(contentType) ||
|
||||
Signal.Util.GoogleChrome.isVideoTypeSupported(contentType);
|
||||
const makeThumbnail = async () => {
|
||||
try {
|
||||
if (willMakeThumbnail) {
|
||||
return await this.makeThumbnailAttachment(attachment);
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(
|
||||
'Failed to create quote thumbnail',
|
||||
error && error.stack ? error.stack : error
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
return {
|
||||
contentType,
|
||||
fileName: attachment.fileName,
|
||||
thumbnail: willMakeThumbnail
|
||||
? await this.makeThumbnailAttachment(attachment)
|
||||
: null,
|
||||
thumbnail: makeThumbnail(),
|
||||
};
|
||||
})
|
||||
),
|
||||
|
@@ -274,15 +274,23 @@
|
||||
this.addThumb(dataUrl);
|
||||
};
|
||||
|
||||
try {
|
||||
if (Signal.Util.GoogleChrome.isImageTypeSupported(contentType)) {
|
||||
renderImagePreview();
|
||||
await renderImagePreview();
|
||||
} else if (Signal.Util.GoogleChrome.isVideoTypeSupported(contentType)) {
|
||||
renderVideoPreview();
|
||||
await renderVideoPreview();
|
||||
} else if (MIME.isAudio(contentType)) {
|
||||
this.addThumb('images/audio.svg');
|
||||
} else {
|
||||
this.addThumb('images/file.svg');
|
||||
}
|
||||
} catch (e) {
|
||||
console.log(
|
||||
`Was unable to generate thumbnail for file type ${contentType}`,
|
||||
e && e.stack ? e.stack : e
|
||||
);
|
||||
this.addThumb('images/file.svg');
|
||||
}
|
||||
|
||||
const blob = await this.autoScale(file);
|
||||
let limitKb = 1000000;
|
||||
|
Reference in New Issue
Block a user