This room version builds on version 4 while enforcing signing key validity periods for events. Client considerations There are no client considerations introduced in this room version. Clients which implement the redaction algorithm locally should refer to the redactions section below for a full overview of the algorithm. Server implementation components The information contained in this section is strictly for server implementors. Applications which use the Client-Server API are generally un...| Matrix Specification
This room version is the first ever version for rooms, and contains the building blocks for other room versions. Client considerations Clients which implement the redaction algorithm locally should refer to the redactions section below. Redactions Upon receipt of a redaction event, the server must strip off any keys not in the following list: event_id type room_id sender state_key content hashes signatures depth prev_events prev_state auth_events origin origin_server_ts membership The content...| Matrix Specification
Matrix homeservers use the Federation APIs (also known as server-server APIs) to communicate with each other. Homeservers use these APIs to push messages to each other in real-time, to retrieve historic messages from each other, and to query profile and presence information about users on each other’s servers. The APIs are implemented using HTTPS requests between each of the servers. These HTTPS requests are strongly authenticated using public key signatures at the TLS transport layer and u...| Matrix Specification
This room version builds on version 3 using a different encoding for event IDs. Client considerations This room version changes the format form event IDs sent to clients. Clients should already be treating event IDs as opaque identifiers, and should not be concerned with the format of them. Clients should still encode the event ID when including it in a request path. Clients should expect to see event IDs changed from the format of $randomstring:example.org to something like $Rqnc-F-dvnEYJTyH...| Matrix Specification
The client-server API allows clients to send messages, control rooms and synchronise conversation history. It is designed to support both lightweight clients which store no state and lazy-load data from the server as required - as well as heavyweight clients which maintain a full local persistent copy of server state. API Standards The mandatory baseline for client-server communication in Matrix is exchanging JSON objects over HTTP APIs. More efficient transports may be specified in future as...| Matrix Specification
Unpadded Base64 Unpadded Base64 refers to ‘standard’ Base64 encoding as defined in RFC 4648, without “=” padding. Specifically, where RFC 4648 requires that encoded data be padded to a multiple of four characters using = characters, unpadded Base64 omits this padding. For reference, RFC 4648 uses the following alphabet for Base 64: Value Encoding Value Encoding Value Encoding Value Encoding 0 A 17 R 34 i 51 z 1 B 18 S 35 j 52 0 2 C 19 T 36 k 53 1 3 D 20 U 37 l 54 2 4 E 21 V 38 m 55 3 ...| Matrix Specification