PR #19556 will add support for MSC4429 (matrix-org/matrix-spec-proposals#4429) using the unstable identifiers.
This issue tracks stabilizing the identifiers once MSC4429 lands into stable spec. The unstable prefixes are documented here.
Context for why this feature is in Synapse
This feature is an addition to support User Status as per matrix-org/matrix-spec-proposals#4426
If applicable, why the feature is enabled by default
This feature is not enabled by default.
If applicable, setup instructions for any non-standard components or configuration needed by the feature
There are no special setup steps involved.
Design decisions behind the Synapse implementation
As per matrix-org/matrix-spec-proposals#4429, sync is the method we push data to clients, and as such it makes sense to re-use this transport to also push profile updates. Alternatives would have been making clients pull the data, which would be bad for the servers and the clients.
Any caveats around the current implementation of the feature, such as:
missing aspects
breakage or incompatibility that is expected if/when the feature is stabilised, or when the feature is turned on/off
If the config flag is removed, the feature for MSC4429 should start defaulting to true, otherwise we break clients that expect profile updates in the legacy sync stream.
Criteria for how we know whether we can remove the feature in the future.
This feature should not be removed.
Criteria for how we know whether we can default the feature to always enabled
Once clients start supporting this feature outside of labs, and the MSC has been merged, Synapse should start considering this as something clients would need and always include profile updates in sync, if clients ask for them.
We may want to block doing this behind having profile updates over federation, see matrix-org/matrix-spec-proposals#4259
PR #19556 will add support for MSC4429 (matrix-org/matrix-spec-proposals#4429) using the unstable identifiers.
This issue tracks stabilizing the identifiers once MSC4429 lands into stable spec. The unstable prefixes are documented here.
Context for why this feature is in Synapse
This feature is an addition to support User Status as per matrix-org/matrix-spec-proposals#4426
If applicable, why the feature is enabled by default
This feature is not enabled by default.
If applicable, setup instructions for any non-standard components or configuration needed by the feature
There are no special setup steps involved.
Design decisions behind the Synapse implementation
As per matrix-org/matrix-spec-proposals#4429, sync is the method we push data to clients, and as such it makes sense to re-use this transport to also push profile updates. Alternatives would have been making clients pull the data, which would be bad for the servers and the clients.
Any caveats around the current implementation of the feature, such as:
missing aspects
breakage or incompatibility that is expected if/when the feature is stabilised, or when the feature is turned on/off
If the config flag is removed, the feature for MSC4429 should start defaulting to true, otherwise we break clients that expect profile updates in the legacy sync stream.
Criteria for how we know whether we can remove the feature in the future.
This feature should not be removed.
Criteria for how we know whether we can default the feature to always enabled
Once clients start supporting this feature outside of labs, and the MSC has been merged, Synapse should start considering this as something clients would need and always include profile updates in sync, if clients ask for them.
We may want to block doing this behind having profile updates over federation, see matrix-org/matrix-spec-proposals#4259