logviewer
logviewer copied to clipboard
Onerror handler for lazy loading images repeats with no delay or cap
While experiencing some local network issues I discovered a potential issue with the lazy-loading feature for avatars within modmail logs.
onerror="this.src='{{ log_entry.recipient.default_avatar_url }}'"
Doesn't have a retry limit or retry cap, so despite the network requests failing with "ERR_NOT_REACHABLE" It continued to retry for the default avatar with millisecond delay times, counting up requests in the thousands/second, multiplied by the number of avatars present within the log.
You can reproduce the issue by blocking access to cdn.discordapp.com and loading a modmail log with the browser network panel open.
onerror="this.src='{{ log_entry.recipient.default_avatar_url }}';this.onerror=null"
Would reduce it to a single attempt to load the default avatar before failing and leaving the space with a broken image.
Hi, please add this 👍
Anyway I just hit this again except this time triggered by my adblocker, so I'll open a PR.