diff --git a/README.md b/README.md index 66c74a69d..a426e9125 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ problems. #### Roadmap for service -- [x] **Phase One**: Matrix clients using HTTPS. +- [x] **Phase One**: Matrix clients using HTTPS. [Implementation Status](STATUS.md) - [ ] **Phase Two**: Legacy IRC network TS6 protocol. - [ ] **Phase Three**: Legacy IRC clients using RFC1459 / RFC2812 legacy grammars. diff --git a/STATUS.md b/STATUS.md new file mode 100644 index 000000000..f25d41dd1 --- /dev/null +++ b/STATUS.md @@ -0,0 +1,1185 @@ +# Construct Status + +The following chart shows the status of support for the endpoints in the [client-server API specification](https://matrix.org/docs/spec/client_server/latest.html). + +Legend: + +:heavy_check_mark: Supported :construction: Partially supported :no_entry_sign: Not supported + +<table> + <tr> + <th>Status</th> + <th>Issue</th> + <th>API endpoint</th> + </tr> + <tr> + <td></td> + <td></td> + <td>DELETE /_matrix/client/r0/devices/{deviceId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>DELETE /_matrix/client/r0/directory/room/{roomAlias}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>DELETE /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>DELETE /_matrix/client/r0/user/{userId}/rooms/{roomId}/tags/{tag}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /account_data</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /openid/userinfo</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /.well-known/matrix/client</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/account/3pid</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/account/whoami</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/admin/whois/{userId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/capabilities</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/devices</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/devices/{deviceId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/directory/list/room/{roomId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/directory/room/{roomAlias}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/events</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/events/{eventId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/initialSync</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/joined_rooms</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/keys/changes</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/login</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/login/sso/redirect</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/notifications</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/presence/{userId}/status</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/profile/{userId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/profile/{userId}/avatar_url</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/profile/{userId}/displayname</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/publicRooms</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/pushers</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/pushrules/</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}/actions</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}/enabled</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/register/available</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/rooms/{roomId}/context/{eventId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/rooms/{roomId}/event/{eventId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/rooms/{roomId}/initialSync</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/rooms/{roomId}/joined_members</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/rooms/{roomId}/members</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/rooms/{roomId}/messages</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/rooms/{roomId}/state</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/rooms/{roomId}/state/{eventType}/{stateKey}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/sync</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/thirdparty/location</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/thirdparty/location/{protocol}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/thirdparty/protocols</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/thirdparty/protocol/{protocol}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/thirdparty/user</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/thirdparty/user/{protocol}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/user/{userId}/account_data/{type}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/user/{userId}/filter/{filterId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/user/{userId}/rooms/{roomId}/account_data/{type}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/user/{userId}/rooms/{roomId}/tags</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/r0/voip/turnServer</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/client/versions</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/media/r0/config</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/media/r0/download/{serverName}/{mediaId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/media/r0/download/{serverName}/{mediaId}/{fileName}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/media/r0/preview_url</td> + </tr> + <tr> + <td></td> + <td></td> + <td>GET /_matrix/media/r0/thumbnail/{serverName}/{mediaId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /validate/email/submitToken</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/account/3pid</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/account/3pid/delete</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/account/3pid/email/requestToken</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/account/3pid/msisdn/requestToken</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/account/deactivate</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/account/password</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/account/password/email/requestToken</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/account/password/msisdn/requestToken</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/createRoom</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/delete_devices</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/join/{roomIdOrAlias}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/keys/claim</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/keys/query</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/keys/upload</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/login</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/logout</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/logout/all</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/publicRooms</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/pushers/set</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/register</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/register/email/requestToken</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/register/msisdn/requestToken</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/rooms/{roomId}/ban</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/rooms/{roomId}/forget</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/rooms/{roomId}/invite</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/rooms/{roomId}/join</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/rooms/{roomId}/kick</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/rooms/{roomId}/leave</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/rooms/{roomId}/read_markers</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/rooms/{roomId}/receipt/{receiptType}/{eventId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/rooms/{roomId}/report/{eventId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/rooms/{roomId}/unban</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/rooms/{roomId}/upgrade</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/search</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/user/{userId}/filter</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/user/{userId}/openid/request_token</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/client/r0/user_directory/search</td> + </tr> + <tr> + <td></td> + <td></td> + <td>POST /_matrix/media/r0/upload</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/devices/{deviceId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/directory/list/room/{roomId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/directory/room/{roomAlias}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/presence/{userId}/status</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/profile/{userId}/avatar_url</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/profile/{userId}/displayname</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}/actions</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/pushrules/{scope}/{kind}/{ruleId}/enabled</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/rooms/{roomId}/redact/{eventId}/{txnId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/rooms/{roomId}/send/{eventType}/{txnId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/rooms/{roomId}/state/{eventType}/{stateKey}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/rooms/{roomId}/typing/{userId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/sendToDevice/{eventType}/{txnId}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/user/{userId}/account_data/{type}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/user/{userId}/rooms/{roomId}/account_data/{type}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>PUT /_matrix/client/r0/user/{userId}/rooms/{roomId}/tags/{tag}</td> + </tr> + <tr> + <td></td> + <td></td> + <td>.m.rule.call</td> + </tr> + <tr> + <td></td> + <td></td> + <td>.m.rule.encrypted</td> + </tr> + <tr> + <td></td> + <td></td> + <td>.m.rule.master</td> + </tr> + <tr> + <td></td> + <td></td> + <td>.m.rule.message</td> + </tr> + <tr> + <td></td> + <td></td> + <td>.m.rule.roomnotif</td> + </tr> + <tr> + <td></td> + <td></td> + <td>.m.rule.tombstone</td> + </tr> + <tr> + <td></td> + <td></td> + <td>.m.rule.contains_display_name</td> + </tr> + <tr> + <td></td> + <td></td> + <td>.m.rule.contains_user_name</td> + </tr> + <tr> + <td></td> + <td></td> + <td>.m.rule.encrypted_room_one_to_one</td> + </tr> + <tr> + <td></td> + <td></td> + <td>.m.rule.invite_for_me</td> + </tr> + <tr> + <td></td> + <td></td> + <td>.m.rule.member_event</td> + </tr> + <tr> + <td></td> + <td></td> + <td>.m.rule.room_one_to_one</td> + </tr> + <tr> + <td></td> + <td></td> + <td>.m.rule.suppress_notices</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.accepted</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.audio</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.call.answer</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.call.candidates</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.call.hangup</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.call.invite</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.direct</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.dummy</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.emote</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.favourite</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.federate</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.file</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.heroes</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.homeserver</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.id.phone</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.id.thirdparty</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.id.user</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.image</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.key.verfication.cancel</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.key.verification</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.key.verification.accept</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.key.verification.cancel</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.key.verification.key</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.key.verification.mac</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.key.verification.request</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.key.verification.start</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.location</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.login.cas</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.login.dummy</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.login.email.identity</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.login.msisdn</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.login.oauth2</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.login.password</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.login.recaptcha</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.login.sso</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.login.token</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.lowpriority</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.message</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.notice</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.olm.v1</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.presence</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.read</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.receipt</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.alias</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.aliases</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.avatar</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.create</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.encrypted</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.encryption</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.member</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.message</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.message.feedback</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.name</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.redaction</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.tombstone</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.topic</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.sas.v1</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.sticker</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.tag</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.text</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.timeout</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.typing</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.user</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.video</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.change_password</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.forwarded_room_key</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.fully_read</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.identity_server</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.ignored_user_list</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.invalid_message</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.in_reply_to</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.joined_member_count + m.invited_member_count</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.joined_member_count + m.invited_member_count - 1</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.key_mismatch</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.login.recaptcha, m.login.dummy</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.login.recaptcha, m.login.email.identity</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.megolm.v1.aes-sha2</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.mismatched_commitment</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.mismatched_sas</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.olm.v1.curve25519-aes-sha2</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.olm.v1.ecdh-curve25519-hdkfsha256.hmacsha256.hkdfsha256-aes256-cbc-hmac64sha256</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.push_rules</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.relates_to</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.canonical_alias</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.guest_access</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.history_visibility</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.join_rules</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.member_event</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.message (m.server_notice)</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.pinned_events</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.power_levels</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.server_acl</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room.third_party_invite</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room_key</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room_key_request</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.room_versions</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.server_notice</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.server_notice.usage_limit_reached</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.third_party_invite</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.unexpected_message</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.unknown_method</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.unknown_transaction</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.user_mismatch</td> + </tr> + <tr> + <td></td> + <td></td> + <td>m.*</td> + </tr> +</table>