From 18f06e93240094ab0ce51315f29805fbe2e1eabe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Tue, 20 Oct 2020 08:13:50 +0200 Subject: [PATCH] Fix avatar caching for non-user rendering MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- src/components/Avatar/Avatar.vue | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/components/Avatar/Avatar.vue b/src/components/Avatar/Avatar.vue index e9e2e310e2..997444498f 100644 --- a/src/components/Avatar/Avatar.vue +++ b/src/components/Avatar/Avatar.vue @@ -112,7 +112,9 @@ function getUserHasAvatar(userId) { } function setUserHasAvatar(userId, flag) { - browserStorage.setItem('user-has-avatar.' + userId, flag) + if (userId) { + browserStorage.setItem('user-has-avatar.' + userId, flag) + } } export default { @@ -516,7 +518,7 @@ export default { updateImageIfValid(url, srcset = null) { // skip loading const userHasAvatar = getUserHasAvatar(this.user) - if (typeof userHasAvatar === 'boolean') { + if (this.isUserDefined && typeof userHasAvatar === 'boolean') { this.isAvatarLoaded = true this.avatarUrlLoaded = url if (srcset) { @@ -539,8 +541,13 @@ export default { setUserHasAvatar(this.user, true) } img.onerror = () => { + console.debug('Invalid avatar url', url) + // Avatar is invalid, reset + this.avatarUrlLoaded = null + this.avatarSrcSetLoaded = null + this.userDoesNotExist = true - this.isAvatarLoaded = true + this.isAvatarLoaded = false setUserHasAvatar(this.user, false) }