Merge pull request #192 from matrix-org/daniel/unifyevents

Unify v1 and v2 event schemas
pull/977/head
Daniel Wagner-Hall 9 years ago
commit 974792282d

@ -74,7 +74,7 @@ paths:
"origin_server_ts": 1432804485886, "origin_server_ts": 1432804485886,
"room_id": "!TmaZBKYIFrIPVGoUYp:localhost", "room_id": "!TmaZBKYIFrIPVGoUYp:localhost",
"type": "m.room.message", "type": "m.room.message",
"user_id": "@bob:localhost" "sender": "@bob:localhost"
} }
] ]
} }

@ -60,7 +60,7 @@ paths:
"origin_server_ts": 1432804485886, "origin_server_ts": 1432804485886,
"room_id": "!TmaZBKYIFrIPVGoUYp:localhost", "room_id": "!TmaZBKYIFrIPVGoUYp:localhost",
"type": "m.room.message", "type": "m.room.message",
"user_id": "@bob:localhost" "sender": "@bob:localhost"
} }
] ]
} }
@ -154,7 +154,7 @@ paths:
"origin_server_ts": 1432804485886, "origin_server_ts": 1432804485886,
"room_id": "!TmaZBKYIFrIPVGoUYp:localhost", "room_id": "!TmaZBKYIFrIPVGoUYp:localhost",
"type": "m.room.message", "type": "m.room.message",
"user_id": "@alice:localhost" "sender": "@alice:localhost"
}, },
{ {
"age": 343511809, "age": 343511809,
@ -166,7 +166,7 @@ paths:
"origin_server_ts": 1432804487480, "origin_server_ts": 1432804487480,
"room_id": "!TmaZBKYIFrIPVGoUYp:localhost", "room_id": "!TmaZBKYIFrIPVGoUYp:localhost",
"type": "m.room.message", "type": "m.room.message",
"user_id": "@bob:localhost" "sender": "@bob:localhost"
} }
], ],
"end": "s3456_9_0", "end": "s3456_9_0",
@ -184,13 +184,12 @@ paths:
"room_id": "!TmaZBKYIFrIPVGoUYp:localhost", "room_id": "!TmaZBKYIFrIPVGoUYp:localhost",
"state_key": "", "state_key": "",
"type": "m.room.join_rules", "type": "m.room.join_rules",
"user_id": "@alice:localhost" "sender": "@alice:localhost"
}, },
{ {
"age": 6547561012, "age": 6547561012,
"content": { "content": {
"avatar_url": "mxc://localhost/fzysBrHpPEeTGANCVLXWXNMI#auto", "avatar_url": "mxc://localhost/fzysBrHpPEeTGANCVLXWXNMI#auto",
"displayname": null,
"membership": "join" "membership": "join"
}, },
"event_id": "$1426600438280zExKY:localhost", "event_id": "$1426600438280zExKY:localhost",
@ -199,7 +198,7 @@ paths:
"room_id": "!TmaZBKYIFrIPVGoUYp:localhost", "room_id": "!TmaZBKYIFrIPVGoUYp:localhost",
"state_key": "@alice:localhost", "state_key": "@alice:localhost",
"type": "m.room.member", "type": "m.room.member",
"user_id": "@alice:localhost" "sender": "@alice:localhost"
}, },
{ {
"age": 7148267200, "age": 7148267200,
@ -211,7 +210,7 @@ paths:
"room_id": "!TmaZBKYIFrIPVGoUYp:localhost", "room_id": "!TmaZBKYIFrIPVGoUYp:localhost",
"state_key": "", "state_key": "",
"type": "m.room.create", "type": "m.room.create",
"user_id": "@alice:localhost" "sender": "@alice:localhost"
}, },
{ {
"age": 1622568720, "age": 1622568720,
@ -226,7 +225,7 @@ paths:
"room_id": "!TmaZBKYIFrIPVGoUYp:localhost", "room_id": "!TmaZBKYIFrIPVGoUYp:localhost",
"state_key": "@bob:localhost", "state_key": "@bob:localhost",
"type": "m.room.member", "type": "m.room.member",
"user_id": "@bob:localhost" "sender": "@bob:localhost"
}, },
{ {
"age": 7148267004, "age": 7148267004,
@ -250,7 +249,7 @@ paths:
"room_id": "!TmaZBKYIFrIPVGoUYp:localhost", "room_id": "!TmaZBKYIFrIPVGoUYp:localhost",
"state_key": "", "state_key": "",
"type": "m.room.power_levels", "type": "m.room.power_levels",
"user_id": "@alice:localhost" "sender": "@alice:localhost"
} }
], ],
"visibility": "private", "visibility": "private",
@ -392,7 +391,7 @@ paths:
"msgtype": "m.text" "msgtype": "m.text"
}, },
"room_id:": "!wfgy43Sg4a:matrix.org", "room_id:": "!wfgy43Sg4a:matrix.org",
"user_id": "@bob:matrix.org", "sender": "@bob:matrix.org",
"event_id": "$asfDuShaf7Gafaw:matrix.org", "event_id": "$asfDuShaf7Gafaw:matrix.org",
"type": "m.room.message" "type": "m.room.message"
} }

@ -85,8 +85,7 @@ paths:
application/json: |- application/json: |-
{ {
"presence": "unavailable", "presence": "unavailable",
"last_active_ago": 420845, "last_active_ago": 420845
"status_msg": null
} }
schema: schema:
type: object type: object

@ -92,13 +92,12 @@ paths:
"room_id": "!636q39766251:example.com", "room_id": "!636q39766251:example.com",
"state_key": "", "state_key": "",
"type": "m.room.join_rules", "type": "m.room.join_rules",
"user_id": "@alice:example.com" "sender": "@alice:example.com"
}, },
{ {
"age": 6547561012, "age": 6547561012,
"content": { "content": {
"avatar_url": "mxc://example.com/fzysBrHpPEeTGANCVLXWXNMI#auto", "avatar_url": "mxc://example.com/fzysBrHpPEeTGANCVLXWXNMI#auto",
"displayname": null,
"membership": "join" "membership": "join"
}, },
"event_id": "$1426600438280zExKY:example.com", "event_id": "$1426600438280zExKY:example.com",
@ -107,7 +106,7 @@ paths:
"room_id": "!636q39766251:example.com", "room_id": "!636q39766251:example.com",
"state_key": "@alice:example.com", "state_key": "@alice:example.com",
"type": "m.room.member", "type": "m.room.member",
"user_id": "@alice:example.com" "sender": "@alice:example.com"
}, },
{ {
"age": 7148267200, "age": 7148267200,
@ -119,7 +118,7 @@ paths:
"room_id": "!636q39766251:example.com", "room_id": "!636q39766251:example.com",
"state_key": "", "state_key": "",
"type": "m.room.create", "type": "m.room.create",
"user_id": "@alice:example.com" "sender": "@alice:example.com"
}, },
{ {
"age": 1622568720, "age": 1622568720,
@ -134,7 +133,7 @@ paths:
"room_id": "!636q39766251:example.com", "room_id": "!636q39766251:example.com",
"state_key": "@bob:example.com", "state_key": "@bob:example.com",
"type": "m.room.member", "type": "m.room.member",
"user_id": "@bob:example.com" "sender": "@bob:example.com"
}, },
{ {
"age": 7148267004, "age": 7148267004,
@ -158,7 +157,7 @@ paths:
"room_id": "!636q39766251:example.com", "room_id": "!636q39766251:example.com",
"state_key": "", "state_key": "",
"type": "m.room.power_levels", "type": "m.room.power_levels",
"user_id": "@alice:example.com" "sender": "@alice:example.com"
} }
] ]
schema: schema:
@ -212,7 +211,7 @@ paths:
"origin_server_ts": 1432804485886, "origin_server_ts": 1432804485886,
"room_id": "!636q39766251:example.com", "room_id": "!636q39766251:example.com",
"type": "m.room.message", "type": "m.room.message",
"user_id": "@alice:example.com" "sender": "@alice:example.com"
}, },
{ {
"age": 343511809, "age": 343511809,
@ -224,7 +223,7 @@ paths:
"origin_server_ts": 1432804487480, "origin_server_ts": 1432804487480,
"room_id": "!636q39766251:example.com", "room_id": "!636q39766251:example.com",
"type": "m.room.message", "type": "m.room.message",
"user_id": "@bob:example.com" "sender": "@bob:example.com"
} }
], ],
"end": "s3456_9_0", "end": "s3456_9_0",
@ -242,13 +241,12 @@ paths:
"room_id": "!636q39766251:example.com", "room_id": "!636q39766251:example.com",
"state_key": "", "state_key": "",
"type": "m.room.join_rules", "type": "m.room.join_rules",
"user_id": "@alice:example.com" "sender": "@alice:example.com"
}, },
{ {
"age": 6547561012, "age": 6547561012,
"content": { "content": {
"avatar_url": "mxc://example.com/fzysBrHpPEeTGANCVLXWXNMI#auto", "avatar_url": "mxc://example.com/fzysBrHpPEeTGANCVLXWXNMI#auto",
"displayname": null,
"membership": "join" "membership": "join"
}, },
"event_id": "$1426600438280zExKY:example.com", "event_id": "$1426600438280zExKY:example.com",
@ -257,7 +255,7 @@ paths:
"room_id": "!636q39766251:example.com", "room_id": "!636q39766251:example.com",
"state_key": "@alice:example.com", "state_key": "@alice:example.com",
"type": "m.room.member", "type": "m.room.member",
"user_id": "@alice:example.com" "sender": "@alice:example.com"
}, },
{ {
"age": 7148267200, "age": 7148267200,
@ -269,7 +267,7 @@ paths:
"room_id": "!636q39766251:example.com", "room_id": "!636q39766251:example.com",
"state_key": "", "state_key": "",
"type": "m.room.create", "type": "m.room.create",
"user_id": "@alice:example.com" "sender": "@alice:example.com"
}, },
{ {
"age": 1622568720, "age": 1622568720,
@ -284,7 +282,7 @@ paths:
"room_id": "!636q39766251:example.com", "room_id": "!636q39766251:example.com",
"state_key": "@bob:example.com", "state_key": "@bob:example.com",
"type": "m.room.member", "type": "m.room.member",
"user_id": "@bob:example.com" "sender": "@bob:example.com"
}, },
{ {
"age": 7148267004, "age": 7148267004,
@ -308,7 +306,7 @@ paths:
"room_id": "!636q39766251:example.com", "room_id": "!636q39766251:example.com",
"state_key": "", "state_key": "",
"type": "m.room.power_levels", "type": "m.room.power_levels",
"user_id": "@alice:example.com" "sender": "@alice:example.com"
} }
], ],
"visibility": "private", "visibility": "private",
@ -416,7 +414,6 @@ paths:
"age": 6547561012, "age": 6547561012,
"content": { "content": {
"avatar_url": "mxc://example.com/fzysBrHpPEeTGANCVLXWXNMI#auto", "avatar_url": "mxc://example.com/fzysBrHpPEeTGANCVLXWXNMI#auto",
"displayname": null,
"membership": "join" "membership": "join"
}, },
"event_id": "$1426600438280zExKY:example.com", "event_id": "$1426600438280zExKY:example.com",
@ -425,7 +422,7 @@ paths:
"room_id": "!636q39766251:example.com", "room_id": "!636q39766251:example.com",
"state_key": "@alice:example.com", "state_key": "@alice:example.com",
"type": "m.room.member", "type": "m.room.member",
"user_id": "@alice:example.com" "sender": "@alice:example.com"
}, },
{ {
"age": 1622568720, "age": 1622568720,
@ -440,7 +437,7 @@ paths:
"room_id": "!636q39766251:example.com", "room_id": "!636q39766251:example.com",
"state_key": "@bob:example.com", "state_key": "@bob:example.com",
"type": "m.room.member", "type": "m.room.member",
"user_id": "@bob:example.com" "sender": "@bob:example.com"
} }
] ]
} }

@ -131,7 +131,7 @@ paths:
"origin_server_ts": 1444298308034, "origin_server_ts": 1444298308034,
"room_id": "!qPewotXpIctQySfjSy:localhost", "room_id": "!qPewotXpIctQySfjSy:localhost",
"type": "m.room.message", "type": "m.room.message",
"user_id": "@test:localhost" "sender": "@test:localhost"
} }
} }
} }

@ -13,5 +13,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.call.answer", "type": "m.call.answer",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -15,5 +15,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.call.candidates", "type": "m.call.candidates",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -8,5 +8,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.call.hangup", "type": "m.call.hangup",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -13,5 +13,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.call.invite", "type": "m.call.invite",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -8,5 +8,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.room.aliases", "type": "m.room.aliases",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -14,5 +14,5 @@
"type": "m.room.avatar", "type": "m.room.avatar",
"state_key": "", "state_key": "",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -8,5 +8,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.room.canonical_alias", "type": "m.room.canonical_alias",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -8,5 +8,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.room.create", "type": "m.room.create",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -8,5 +8,5 @@
"event_id": "$WLGTSEFSEG:localhost", "event_id": "$WLGTSEFSEG:localhost",
"type": "m.room.guest_access", "type": "m.room.guest_access",
"room_id": "!Cuyf34gef24u:localhost", "room_id": "!Cuyf34gef24u:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -8,5 +8,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.room.history_visibility", "type": "m.room.history_visibility",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -8,5 +8,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.room.join_rules", "type": "m.room.join_rules",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -26,5 +26,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.room.member", "type": "m.room.member",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -26,5 +26,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.room.member", "type": "m.room.member",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -21,5 +21,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.room.member", "type": "m.room.member",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -14,5 +14,5 @@
"origin_server_ts": 1432735824653, "origin_server_ts": 1432735824653,
"room_id": "!jEsUZKDJdhlrceRyVU:localhost", "room_id": "!jEsUZKDJdhlrceRyVU:localhost",
"type": "m.room.message", "type": "m.room.message",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -8,5 +8,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.room.message", "type": "m.room.message",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -14,5 +14,5 @@
"origin_server_ts": 1432735824653, "origin_server_ts": 1432735824653,
"room_id": "!jEsUZKDJdhlrceRyVU:localhost", "room_id": "!jEsUZKDJdhlrceRyVU:localhost",
"type": "m.room.message", "type": "m.room.message",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -15,5 +15,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.room.message", "type": "m.room.message",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -16,5 +16,5 @@
"origin_server_ts": 1432735824653, "origin_server_ts": 1432735824653,
"room_id": "!jEsUZKDJdhlrceRyVU:localhost", "room_id": "!jEsUZKDJdhlrceRyVU:localhost",
"type": "m.room.message", "type": "m.room.message",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -8,5 +8,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.room.message", "type": "m.room.message",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -8,5 +8,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.room.message", "type": "m.room.message",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -23,5 +23,5 @@
"origin_server_ts": 1432735824653, "origin_server_ts": 1432735824653,
"room_id": "!jEsUZKDJdhlrceRyVU:localhost", "room_id": "!jEsUZKDJdhlrceRyVU:localhost",
"type": "m.room.message", "type": "m.room.message",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -8,5 +8,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.room.message.feedback", "type": "m.room.message.feedback",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -8,5 +8,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.room.name", "type": "m.room.name",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -20,5 +20,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.room.power_levels", "type": "m.room.power_levels",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -8,5 +8,5 @@
"type": "m.room.redaction", "type": "m.room.redaction",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"redacts": "!fukweghifu23:localhost", "redacts": "!fukweghifu23:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -8,5 +8,5 @@
"event_id": "$WLGTSEFSEF:localhost", "event_id": "$WLGTSEFSEF:localhost",
"type": "m.room.topic", "type": "m.room.topic",
"room_id": "!Cuyf34gef24t:localhost", "room_id": "!Cuyf34gef24t:localhost",
"user_id": "@example:localhost" "sender": "@example:localhost"
} }

@ -4,4 +4,4 @@
"content": { "content": {
"user_ids": ["@alice:matrix.org", "@bob:example.com"] "user_ids": ["@alice:matrix.org", "@bob:example.com"]
} }
} }

@ -1,23 +1,41 @@
{ {
"type": "object", "type": "object",
"title": "Room Event", "title": "Room Event",
"description": "In addition to the Event fields, Room Events MUST have the following additional field.", "description": "In addition to the Event fields, Room Events may have the following additional fields.",
"allOf":[{ "allOf":[{
"$ref": "event.json" "$ref": "event.json"
}], }],
"properties": { "properties": {
"room_id": { "event_id": {
"type": "string", "type": "string",
"description": "The ID of the room associated with this event." "description": "Required. The globally unique event identifier."
}, },
"event_id": { "room_id": {
"type": "string", "type": "string",
"description": "The globally unique event identifier." "description": "Required. The ID of the room associated with this event."
}, },
"user_id": { "sender": {
"type": "string", "type": "string",
"description": "Contains the fully-qualified ID of the user who *sent* this event." "description": "Required. Contains the fully-qualified ID of the user who *sent* this event."
},
"unsigned": {
"type": "object",
"description": "Contains optional extra information about the event.",
"properties": {
"age": {
"type": "integer",
"description": "The time in milliseconds that has elapsed since the event was sent"
},
"redacted_because": {
"type": "string",
"description": "The reason this event was redacted, if it was redacted"
},
"transaction_id": {
"type": "string",
"description": "The client-supplied transaction ID, if the client being given the event is the same one which sent it."
}
}
} }
}, },
"required": ["room_id"] "required": ["event_id", "room_id", "sender"]
} }

@ -5,6 +5,9 @@ All communication in Matrix is expressed in the form of data objects called
Events. These are the fundamental building blocks common to the client-server, Events. These are the fundamental building blocks common to the client-server,
server-server and application-service APIs, and are described below. server-server and application-service APIs, and are described below.
Note that the structure of these events may be different than those in the
server-server API.
{{common_event_fields}} {{common_event_fields}}
{{common_room_event_fields}} {{common_room_event_fields}}
@ -12,51 +15,13 @@ server-server and application-service APIs, and are described below.
{{common_state_event_fields}} {{common_state_event_fields}}
Differences between /v1 and /v2 events
--------------------------------------
There are a few differences between how events are formatted for sending
between servers over federation and how they are formatted for sending between
a server and its clients.
Additionally there are a few differences between the format of events in the
responses to client APIs with a /v1 prefix and responses APIs with a /v2
prefix.
Events in responses for APIs with the /v2 prefix are generated from an event
formatted for federation by:
* Removing the following keys:
``auth_events``, ``prev_events``, ``hashes``, ``signatures``, ``depth``,
``origin``, ``prev_state``.
* Adding an ``age`` to the ``unsigned`` object which gives the time in
milliseconds that has elapsed since the event was sent.
* Adding ``prev_content`` and ``prev_sender`` to the ``unsigned`` object if the
event is a ``state event``, which give the previous content and previous
sender of that state key
* Adding a ``redacted_because`` to the ``unsigned`` object if the event was
redacted which gives the event that redacted it.
* Adding a ``transaction_id`` to the ``unsigned`` object if the event was sent
by the client requesting it.
Events in responses for APIs with the /v1 prefix are generated from an event
formatted for the /v2 prefix by:
* Moving the folling keys from the ``unsigned`` object to the top level event
object: ``age``, ``redacted_because``, ``replaces_state``, ``prev_content``.
* Removing the ``unsigned`` object.
* Rename the ``sender`` key to ``user_id``.
* If the event was an ``m.room.member`` with ``membership`` set to ``invite``
then adding a ``invite_room_state`` key to the top level event object.
Size limits Size limits
----------- -----------
The total size of any event MUST NOT exceed 65 KB. There are additional The total size of any event MUST NOT exceed 65 KB. There are additional
restrictions on sizes per key: restrictions on sizes per key:
- ``user_id`` MUST NOT exceed 255 bytes (including domain). - ``sender`` MUST NOT exceed 255 bytes (including domain).
- ``room_id`` MUST NOT exceed 255 bytes. - ``room_id`` MUST NOT exceed 255 bytes.
- ``state_key`` MUST NOT exceed 255 bytes. - ``state_key`` MUST NOT exceed 255 bytes.
- ``type`` MUST NOT exceed 255 bytes. - ``type`` MUST NOT exceed 255 bytes.

Loading…
Cancel
Save