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.
- MSC4030: Progressive image in Matrix
- MSC4029: [WIP] Fixing
- 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
originproperty on events (merge)
- MSC3821: Update the redaction rules, again (merge)
- MSC3077: Support for multi-stream VoIP (merge)
- No MSCs were closed/rejected this week.
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.
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_toproperty 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 the
m.relates_to->rel_typekey; 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.