This Week in Matrix 2023-06-16
16.06.2023 00:00 β This Week in Matrix β ThibπMatrix Live
πDept of Spec π
Andrew Morgan (anoa) [GMT-6] reports
Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals.
πMSC Status
New MSCs:
- MSC4030: Progressive image in Matrix
- MSC4029: [WIP] Fixing
X-Matrix
request authentication- MSC4028: Push all encrypted events except for muted rooms
- MSC4027: Propose method of specifying custom images in reactions
MSCs in Final Comment Period:
- MSC3989: Redact
origin
property on events (merge)- MSC3821: Update the redaction rules, again (merge)
- MSC3077: Support for multi-stream VoIP (merge)
Accepted MSCs:
Closed MSCs:
- No MSCs were closed/rejected this week.
πSpec Updates
This actually happened last week, but a huge shoutout to KΓ©vin Commaille, aka @zecakeh, for their work on upgrading the OpenAPI schema data for the Matrix Spec to version 3.1. This schema describes all of the requests and responses for all endpoints in the spec, as well as various event types and other bits and pieces. It directly powers the Matrix spec website, the Matrix API Playground and several Client and Homeserver SDKs that generate code from it.
With a diff of
+14,997 β12,660
, this was a multi-month effort of both implementation and review (thank you @richvdh and @KitsuneRal!). This change will allow us to use all the new features that OpenAPI 3 has to offer, as well as generally keeps us up to date with modern tooling.Thank you!
πRandom MSC of the Week
The random MSC of the week is... MSC3051: A scalable relation format!
This MSC describes a different way of describing how an event relates to other events. In the current Matrix spec, you can use the
m.relates_to
property to indicate that this event (say, a reaction) relates to another event (say, a message) in a certain manner. You can specify how it relates using them.relates_to->rel_type
key; a value of "m.annotation" for reactions.But sometimes you may want to relate to multiple other events. For instance, what if that message you're reacting to is also in a thread? In fact, this MSC has come up recently as one possible way to solve the problem of efficiently discerning whether an event should belong in a thread or not (discussion). This MSC isn't the only option for solving such a problem - MSC4023 would also work, and both have tradeoffs.
MSC3051 could also allows for actions such as editing replies; both the text and the message it was a reply to. Neat!
Do read the MSC and give feedback if relations is something that excites you.