element-hq / element-hq/dendrite

Declare support for Matrix 1.1

Open
#3,216 2 comments 0 reactions 0 assignees View on GitHub
help wanted spec-compliance
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.