element-hq / element-hq/dendrite
Declare support for Matrix 1.4
- 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
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