Skip to content

Converse/Prosody optimization: don't use vCards for avatars, but custom front-end code. #106

@JohnXLivingston

Description

@JohnXLivingston

Is your feature request related to a problem? Please describe.
Displaying avatars for chat user currently use the XMPP vCards. This can induce a heavy load: each time a user joins, he will ask for all other users vCards. When hundreds of users join at the same time it can be an issue.
For people using the web interface, we could shortcut the XMPP server/vcards to directly get avatars from Peertube, and/or we should lazy-load them when they are actually displayed.

NlNet expert suggested to add some lazy loading for avatars. We could for example remove avatars from user list, and just load them when users are sending messages.

To avoid performance issue on very large rooms, @jcbrand suggest the following:
#95 (comment)

Describe the solution you'd like
Here is the solution I suggested (but better ideas have come up later on):
#95 (comment)

  • Design a test with several users joining at once
  • implement one of:
    • Customize ConverseJS to shortcut XMPP server for avatars
    • "Lazy load" avatars: don't load unnecessary avatars (when not visible, as when the occupant list is closed)
  • Run stress test and publish a report

Reference: NlNet-task-12

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status

    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions