element-hq / element-hq/dendrite
Declare support for Matrix 1.1
- Dominant language
- Go
- Stars
- 965
- Forks
- 101
- PR merge metrics
- No merged PRs in 30d
Description
*This issue was originally created by [**@S7evinK**](https://github.com/S7evinK) at .*
A list of things to actually announce support for 1.1 (while we already do)
While this is about getting actual 1.1 support, it make sense to check https://spec.matrix.org/latest/
[Complete changelog v1.1](https://github.com/matrix-org/matrix-spec/blob/e40d9ca18676fc774b39f30b44998d7f0118596a/content/changelog/v1.1.md)
### Client-Server API
New Endpoints
- [x] Add key backup (`/room_keys/*`) endpoints as per [MSC1219](https://github.com/matrix-org/matrix-doc/pull/1219).
- [x] Add `POST /keys/device_signing/upload` and `POST /keys/signatures/upload` as per [MSC1756](https://github.com/matrix-org/matrix-doc/pull/1756).
- [ ] Add `/knock` endpoint as per [MSC2403](https://github.com/matrix-org/matrix-doc/pull/2403).
- [ ] Add `/login/sso/redirect/{idpId}` as per [MSC2858](https://github.com/matrix-org/matrix-doc/pull/2858).
Removed Endpoints
- [x] Remove unimplemented `m.login.oauth2` and `m.login.token` user-interactive authentication mechanisms as per [MSC2610](https://github.com/matrix-org/matrix-doc/pull/2610) and [MSC2611](https://github.com/matrix-org/matrix-doc/pull/2611).
- I think we never added this, also we only support `m.login.password` right [now](https://github.com/matrix-org/dendrite/blob/3d02c8103152fbb9a5401a091ef0f681a32bfeee/clientapi/auth/user_interactive.go#L114-L130)
Backwards Compatible Changes
- [x] Add a `device_id` parameter to login fallback as per [MSC2604](https://github.com/matrix-org/matrix-doc/pull/2604).
- [x] Added support for `reason` on all membership events and related endpoints as per [MSC2367](https://github.com/matrix-org/matrix-doc/pull/2367).
- [x] Add a 404 `M_NOT_FOUND` error to push rule endpoints as per [MSC2663](https://github.com/matrix-org/matrix-doc/pull/2663).
- Looks like we already 404 with `M_NOT_FOUND`
- [x] Make `reason` and `score` parameters optional in the content reporting API as per [MSC2414](https://github.com/matrix-org/matrix-doc/pull/2414).
- No support for `/report` at all - [Spec v1.8](https://spec.matrix.org/v1.8/client-server-api/#post_matrixclientv3roomsroomidreporteventid)
- [x] Allow guests to get the list of members for a room as per [MSC2689](https://github.com/matrix-org/matrix-doc/pull/2689).
- [x] Add `device_id` to `/account/whoami` response as per [MSC2033](https://github.com/matrix-org/matrix-doc/pull/2033).
### Server-Server API
New Endpoints
- [ ] Add `/make_knock` and `/send_knock` endpoints as per [MSC2403](https://github.com/matrix-org/matrix-doc/pull/2403).
Backwards Compatible Changes
- [x] Add cross-signing information to `GET /user/keys` and `GET /user/devices/{userId}`, `m.device_list_update` EDU, and a new `m.signing_key_update` EDU as per [MSC1756](https://github.com/matrix-org/matrix-doc/pull/1756).
Contributor guide
Research direction
Start by comparing the unchecked Matrix 1.1 endpoints with the current specification and inspect clientapi/auth/user_interactive.go, which the issue identifies for authentication support. Review the listed knock, SSO redirect, make_knock, and send_knock requirements against the existing implementation. Done means the remaining 1.1 checklist items are addressed and support can be announced.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100