element-hq / element-hq/synapse
MSC4536 endpoints to fetch many profiles at once
- 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
Assessment
This issue has not been assessed yet.