element-hq / element-hq/dendrite

Declare support for Matrix 1.4

Open
#3,222 5 comments 0 reactions 0 assignees View on GitHub
good first issue 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 .*

Some of these are good first issues

[Complete changelog v1.4](https://github.com/matrix-org/matrix-spec/blob/e40d9ca18676fc774b39f30b44998d7f0118596a/content/changelog/v1.4.md)

### Client-Server API

Backwards Compatible Changes

- [x] Add a `.m.rule.room.server_acl` push rule to match `m.room.server_acl` events, as per [MSC3786](https://github.com/matrix-org/matrix-spec-proposals/pull/3786).
- [x] Add `Cross-Origin-Resource-Policy` (CORP) headers to media repository, as per [MSC3828](https://github.com/matrix-org/matrix-spec-proposals/pull/3828).
- [x] Copy a room's `type` when upgrading it, as per [MSC3818](https://github.com/matrix-org/matrix-spec-proposals/pull/3818).
- We copy the whole create event and remove unwanted fields
- [ ] Add `room_types` filter and `room_type` response to `/publicRooms`, as per [MSC3827](https://github.com/matrix-org/matrix-spec-proposals/pull/3827).
- `room_types` exists, but is unused
- [ ] Add `m.replace` relations (event edits), as per [MSC2676](https://github.com/matrix-org/matrix-spec-proposals/pull/2676).
- Looks like we don't have server-side aggregation atm
- [x] Add `m.read.private` receipts, as per [MSC2285](https://github.com/matrix-org/matrix-spec-proposals/pull/2285).
- [x] Make `m.fully_read` optional on `/read_markers`, as per [MSC2285](https://github.com/matrix-org/matrix-spec-proposals/pull/2285).
- [x] Allow `m.fully_read` markers to be set from `/receipts`, as per [MSC2285](https://github.com/matrix-org/matrix-spec-proposals/pull/2285).
- [ ] Add threading via `m.thread` relations, as per [MSC3440](https://github.com/matrix-org/matrix-spec-proposals/pull/3440), [MSC3816](https://github.com/matrix-org/matrix-spec-proposals/pull/3816), [MSC3856](https://github.com/matrix-org/matrix-spec-proposals/pull/3856), and [MSC3715](https://github.com/matrix-org/matrix-spec-proposals/pull/3715).
- While partly working, there are still missing endpoints, e.g. `GET /rooms/{roomId}/threads`
- [ ] Add per-thread notifications and read receipts, as per [MSC3771](https://github.com/matrix-org/matrix-spec-proposals/pull/3771) and [MSC3773](https://github.com/matrix-org/matrix-spec-proposals/pull/3773).
- [ ] Add `thread_id` to the `/receipt` endpoint, as per [MSC3771](https://github.com/matrix-org/matrix-spec-proposals/pull/3771).

Spec Clarifications
(NOTE: Non-actionable things removed)

- [x] Clarify that the "device_id", "user_id" and "access_token" fields are required in the response body of `POST /_matrix/client/v3/login`.
- We already return those fields

### Server-Server API

Backwards Compatible Changes

- [ ] Add per-thread notifications and read receipts, as per [MSC3771](https://github.com/matrix-org/matrix-spec-proposals/pull/3771) and [MSC3773](https://github.com/matrix-org/matrix-spec-proposals/pull/3773).
- Missing `thread_id` in `type ReceiptTS struct` (which should be renamed, since it's not `TS` only afterwards)

### Application Service API

Breaking Changes

- [ ] Replace homeserver authorization approach with an `Authorization` header instead of `access_token` when talking to the application service, as per [MSC2832](https://github.com/matrix-org/matrix-spec-proposals/pull/2832).

Contributor guide

Open the contributing guide

Research direction

Start with the Matrix 1.4 changelog and the unchecked checklist items, then trace the publicRooms endpoints, ReceiptTS, threading endpoints, and application-service authorization paths named in the issue. Done would require implementing and validating the remaining Matrix 1.4 compatibility items, but the issue does not identify specific files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.