mirror of
https://github.com/element-hq/synapse.git
synced 2026-11-04 17:47:28 +00:00
Several clients, including Element Web/Desktop and Element X, have already implemented [MSC4426](https://github.com/matrix-org/matrix-spec-proposals/pull/4426) User Status profile fields. However, we have only implemented sending profile fields down sync for local users ([MSC4429](https://github.com/matrix-org/matrix-spec-proposals/pull/4429)/[MSC4262](https://github.com/matrix-org/matrix-spec-proposals/pull/4262)), since federation support for pushing profile field updates from server to server has not yet been implemented ([MSC4259](https://github.com/matrix-org/matrix-spec-proposals/pull/4259)). This has created user confusion. The before mentioned clients use the profile and/or profile field fetch endpoints to fetch missing profile information, regardless of the user being local or remote. Since the sync response isn't delivering these profiles, the client does a fallback fetch, causing a one time update of the profile information over federation. This causes stale data to be cached in the client for the remote user, which in the case of EW for example is never cleared. This filtering should be temporary until MSC4259 is implemented and the remote profile data also syncs via the profile update stream to clients. I suggest making this not configurable so we don't have to maintain a configuration property, as hopefully this would only be a case for a few months at most. ### Pull Request Checklist <!-- Please read https://element-hq.github.io/synapse/latest/development/contributing_guide.html before submitting your pull request --> * [x] Pull request is based on the develop branch * [x] Pull request includes a [changelog file](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#changelog). The entry should: - Be a short description of your change which makes sense to users. "Fixed a bug that prevented receiving messages from other servers." instead of "Moved X method from `EventStore` to `EventWorkerStore`.". - Use markdown where necessary, mostly for `code blocks`. - End with either a period (.) or an exclamation mark (!). - Start with a capital letter. - Feel free to credit yourself, by adding a sentence "Contributed by @github_username." or "Contributed by [Your Name]." to the end of the entry. * [x] [Code style](https://element-hq.github.io/synapse/latest/code_style.html) is correct (run the [linters](https://element-hq.github.io/synapse/latest/development/contributing_guide.html#run-the-linters)) --------- Co-authored-by: Eric Eastwood <madlittlemods@gmail.com>