PR #19556 will add support for profile updates over legacy sync MSC4429, and an incoming pr will add MSC4262 for Sliding Sync. During the work on this feature, several points of concern have been raised on scalability, reliability and future proofing, especially regarding edge cases. In the interest of getting something usable ready, which also gives us data on usage, we're choosing to document and iterate on these points as follow-up.
This issue tracks solving those, in addition to tracking several items that were scoped out during the work on the initial profile updates delivery.
Concerns
While the implementation of #19556 has tried to ensure the data we push to clients is reliable, there are edge cases identified that we believe might a substantial rework of the Synapse implementation. This includes for example:
Scoped out items
Other gotchas
Currently only local users get profile updates pushed into the profile updates stream. Federated users are tracked in MSC4259. We may want to consider not having support for federated users a blocker for enabling profile updates over sync on Matrix.org, for example.
PR #19556 will add support for profile updates over legacy sync MSC4429, and an incoming pr will add MSC4262 for Sliding Sync. During the work on this feature, several points of concern have been raised on scalability, reliability and future proofing, especially regarding edge cases. In the interest of getting something usable ready, which also gives us data on usage, we're choosing to document and iterate on these points as follow-up.
This issue tracks solving those, in addition to tracking several items that were scoped out during the work on the initial profile updates delivery.
Concerns
While the implementation of #19556 has tried to ensure the data we push to clients is reliable, there are edge cases identified that we believe might a substantial rework of the Synapse implementation. This includes for example:
sliding_sync_table_changescalculated changes for figuring out if memberships have changed or not (https://github.com/element-hq/synapse/pull/19556/changes#r3603767711)joined_roomprofile update rows for display name changes, which currently happens as we're piggybacking on thesliding_sync_table_changesdata.Scoped out items
Other gotchas
Currently only local users get profile updates pushed into the profile updates stream. Federated users are tracked in MSC4259. We may want to consider not having support for federated users a blocker for enabling profile updates over sync on Matrix.org, for example.