[MM-60232] Fix a crash in Linux when trying to create a thumbnail from an image (#3147)

* [MM-60232] Fix a crash in Linux when trying to create a thumbnail from an image

* Fix lint

* Cap at 1MB

* Fix crash again
This commit is contained in:
Devin Binnie 2024-09-19 15:00:30 -04:00 committed by GitHub
parent b03bb69a0d
commit b4eeabb366
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -635,7 +635,15 @@ export class DownloadsManager extends JsonFileManager<DownloadedItems> {
let thumbnailData; let thumbnailData;
if (state === 'completed' && item.getMimeType().toLowerCase().startsWith('image/')) { if (state === 'completed' && item.getMimeType().toLowerCase().startsWith('image/')) {
thumbnailData = (await nativeImage.createThumbnailFromPath(overridePath ?? item.getSavePath(), {height: 32, width: 32})).toDataURL(); // Linux doesn't support the thumbnail creation so we have to use the base function
if (process.platform === 'linux') {
// We also will cap this at 1MB so as to not inflate the memory usage of the downloads dropdown
if (item.getReceivedBytes() < 1000000) {
thumbnailData = (await nativeImage.createFromPath(overridePath ?? item.getSavePath())).toDataURL();
}
} else {
thumbnailData = (await nativeImage.createThumbnailFromPath(overridePath ?? item.getSavePath(), {height: 32, width: 32})).toDataURL();
}
} }
return { return {