}
const avatar = await AvatarModel.loadByName(filename)
+ if (!avatar) return res.sendStatus(404)
+
if (avatar.onDisk === false) {
if (!avatar.fileUrl) return res.sendStatus(404)
logger.info('Lazy serve remote avatar image %s.', avatar.fileUrl)
- await pushAvatarProcessInQueue({ filename: avatar.filename, fileUrl: avatar.fileUrl })
+ try {
+ await pushAvatarProcessInQueue({ filename: avatar.filename, fileUrl: avatar.fileUrl })
+ } catch (err) {
+ logger.warn('Cannot process remote avatar %s.', avatar.fileUrl, { err })
+ return res.sendStatus(404)
+ }
avatar.onDisk = true
avatar.save()