Skip to content

Onerror handler for lazy loading images repeats with no delay or cap #20

@bast0006

Description

@bast0006

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions