element-hq / element-hq/synapse

MSC4536 endpoints to fetch many profiles at once

Open
#20,197 0 comments 0 reactions 1 assignee Claimed by @jaywink View on GitHub
A-Profiles A-Sync Z-Unimplemented-MSCs
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

**Description:**

(extracted from https://github.com/element-hq/synapse/issues/19981#issuecomment-5435043616)

Regarding profile updates over the sync (both legacy and sliding) responses, there is a caveat in the current implementations regarding lazy loading and non-DM rooms.

Both Element Web and Element X operate in lazy loading mode, which means they will get profiles in sync based on activity. To populate the room membership list, mobile (and web?) when lazy loading call /members to populate members list to fetch users who are not known from timeline or state events. Currently, /members does not return profile information, and at least EX will not do a /profile lookup separate for each user to produce a room membership list.

What this means from the end user perspective: after joining a new room, a user may not see all the statuses of users in the room who previously did not share rooms with them. Users will see new status changes and get old statuses for users who interact with the room.

[MSC4536](https://github.com/matrix-org/matrix-spec-proposals/pull/4536) is suggesting adding two new endpoints, to either paginate the profiles of a room, or query multiple profiles across rooms.

This issue exists to track that work as part of https://github.com/element-hq/element-meta/issues/3320

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.