Open
Description
The spec describes an unsigned.membership
property, which SHOULD be populated for all events. (Added by MSC4115.)
It also describes an unsigned.[m.relations]
property which aggregates relationships on the relevant event. The aggregation format for edits and thread threads both contain another event.
Synapse does not populate the unsigned.membership
property for events served as part of such an aggregation.
This applies to at least /event
, /context
, /relations
and /sync
. (Note that /event
also omits it on the top-level event: #17486.)
For example, if /sync
returns an event which has been edited, I expect a response like this, but, in practice, the membership
property on the inner event is absent:
{
"type": "m.room.message",
"sender": "@a:xps9320.sw1v.org",
"content": { "msgtype": "m.text", "body": "def", "m.mentions": {} },
"origin_server_ts": 1721927656960,
"unsigned": {
"membership": "join",
"age": 1058542,
"m.relations": {
"m.replace": {
"type": "m.room.message",
"room_id": "!ScJmwYjNJCpEMjYXxe:xps9320.sw1v.org",
"sender": "@a:xps9320.sw1v.org",
"content": {
"msgtype": "m.text", "body": " * defg",
"m.new_content": { "msgtype": "m.text", "body": "defg", "m.mentions": {}},
"m.mentions": {},
"m.relates_to": { "rel_type": "m.replace", "event_id": "$Gpy6Cs5oGKtUWeJ3OsFeDtTeAKkOYN2zzTlpbCNcy1E" }
},
"origin_server_ts": 1721927685762,
"unsigned": {
// THIS PROPERTY IS OMITTED!
"membership": "join",
"age": 1029740
},
"event_id": "$AJk4WFjN2Jw2-Z0FM0HyBRcFnhhY-z4UXMjjpOke_Wo"
}
}
},
"event_id": "$Gpy6Cs5oGKtUWeJ3OsFeDtTeAKkOYN2zzTlpbCNcy1E"
}