Skip to content

Latest commit

 

History

History
553 lines (331 loc) · 29.1 KB

File metadata and controls

553 lines (331 loc) · 29.1 KB

Implementation status of the client-server API, version r0.6.1

The implementation status of Matrix's client-server API, version r0.6.1 is listed below.

Legend:

  • ✅ - implemented
  • 🚧 - partially implemented / work in progress
  • ❌ - not implemented yet
  • 🗑️ - deprecated according to the specification, will not be implemented

Note: The parts that are marked as deprecated by the specification will not get implemented.

2 API Standards

3 Web browser clients

  • ❌ CORS headers

4 Server Discovery

4.1 Well-known URI

5 Client Authentication

5.5 Login

5.6 Account registration and management

The server currently rejects passwords with less than 12 characters as weak passwords with error code M_WEAK_PASSWORD.

5.7 Adding Account Administrative Contact Information

5.8 Current account information

6 Capabilities negotiation

7 Pagination

  • ❌ Not implemented.

8 Filtering

8.1 Lazy-loading room members

  • ❌ Not implemented.

8.2 API endpoints

9 Events

9.1 Types of room events

9.2 Size limits

  • ❌ Not implemented.

9.3 Room events

9.4 Syncing

9.5 Getting events for a room

9.6 Sending events to a room

9.7 Redactions

9.7.1 Events

9.7.2 Client behaviour

10 Rooms

10.1 Creation

10.2 Room aliases

10.3 Permissions

❌Not implemented.

10.4 Room membership

10.4.2 Joining rooms

10.4.3 Leaving rooms

10.4.4 Banning users in a room

10.5 Listing rooms

11 User Data

11.1 User Directory

11.2 Profiles

12 Security

12.1 Rate limiting

  • ❌ Currently, the server does not have any kind of rate limiting.

13 Modules

TODO

13.2 Instant Messaging

13.2.1 Events

  • ❌ Homeservers SHOULD reject m.room.message events which don't have a msgtype key, or which don't have a textual body key, with an HTTP status code of 400.
  • ❌ Not implemented.

13.3 Voice over IP

13.3.1 Events

13.3.2 Client behaviour

13.3.2.1 Glare

13.3.3 Server behaviour

  • ❌ Not implemented.

13.4 Typing Notifications

13.4.1 Events

13.5 Receipts

13.5.1 Events

13.5.2 Client behaviour

13.5.3 Server behaviour

  • ❌ Not implemented yet.

13.6 Fully read markers

13.6.1 Events

13.6.2 Client behaviour

13.6.3 Server behaviour

  • ❌ Not implemented.

13.7 Presence

13.7.1 Events

13.7.2 Client behaviour

13.8 Content repository

13.8.1 Matrix Content (MXC) URIs

✅ Implemented.

13.8.2 Client behaviour

13.8.3 Security considerations

  • 🚧 Partially implemented.

13.9 Send-to-Device messaging

  • ❌ Not implemented.

13.9.3 Protocol definitions

13.10 Device Management

13.10.1 Client behaviour

  • ✅ User-interactive authentication is implemented for device deletion, requiring the user to re-submit the current password to allow deletion.

TODO

13.12 Room History Visibility

13.12.1 Events

13.12.2 Client behaviour

  • ❌ Not implemented yet.

13.13 to 13.17

TODO

13.18 Room Tagging

13.18.1 Events

13.18.2 Client Behaviour

13.19 Client Config

13.19.1 Events

✅ Implemented. Global account data, room-specific account data and tag data events (type m.tag) are returned by the /sync endpoint.

13.19.2 Client Behaviour

13.19.3 Server Behaviour

✅ The server prevents clients from setting account data for server-managed types (currently only m.fully_read).

13.20 Server Administration

13.20.1 Client behaviour

13.21 Event Context

13.21.1 Client behaviour

13.21.2 Security considerations

❌ Not implemented yet.

13.22 SSO client login

13.22.1 Client behaviour

13.22.2 Server behaviour

  • ❌ Not implemented.
  • ❌ Not implemented.

13.23 Direct Messaging

13.23.1 Events

13.23.2 Client behaviour

Can only be implemented on client side, not on server side.

13.23.3 Server behaviour

  • ❌ Not implemented.

13.24 Ignoring Users

13.24.1 Events

13.24.2 Client behaviour

❌ Not implemented.

13.24.3 Server behaviour

❌ Not implemented.

13.25 Sticker Messages

13.25.1 Events

13.25.2 Client behaviour

Affects client only, there is no need for changes on server.

13.26 Reporting Content

13.26.1 Client behaviour

13.26.2 Server behaviour

❌ Not implemented.

13.27 Third Party Networks

13.27.1 Third Party Lookups

13.28 OpenID

13.29 Server Access Control Lists (ACLs) for rooms

13.30 User, room, and group mentions

✅ This module does not have any server-specific behaviour to it.

13.31 Room Upgrades

13.31.1 Events

13.31.2 Client behaviour

13.31.3 Server behaviour

❌ Not implemented.

13.32 to 13.33

TODO