matrix-spec-proposals
matrix-spec-proposals copied to clipboard
MSC2677: Annotations and reactions
Replaces matrix-org/matrix-spec-proposals#1849 along with matrix-org/matrix-spec-proposals#2674, matrix-org/matrix-spec-proposals#2675, and matrix-org/matrix-spec-proposals#2676
Is this the Matrix spec proposal that is currently implemented by Element (and Synapse?) for their reactions? Did they actually implement it already without reactions being standardized, or is there some other message type I'm missing?
Yes. Proposals have to be proven to work with an implementation before they can be accepted, otherwise we'd end up with lots of fancy specs with no idea if they're going to work in the real world.
This proposal is a bit old (the original version, matrix-org/matrix-spec-proposals#1849, is from early 2019), which is why the event type is m.reaction instead of using an unstable prefix like org.matrix.msc1849.reaction. PoC implementations of newer proposals will use unstable prefixes as per matrix-org/matrix-spec-proposals#2324.
Huh, ok. I understand the reasoning, but having the reference client and reference server implement non-standardized parts of the Matrix spec is a pretty bad look.
That's why matrix-org/matrix-spec-proposals#2324 was agreed upon so there is a clear line between the spec and implementations being ahead of the released spec. All projects like this grow organically, sometimes you just need to learn from your missteps.
was brought up again in a matrix room, how is it that this MSC isn't FCPd yet? what things are remaining before this can become part of the normal spec?
Apologies if this is the wrong place for this:
It would be helpful if guidance were given to client developers about how to guide users in sending reactions. For example, in Element, there's a button to click to select an emoji, and users can also input them by typing certain strings wrapped in :, like :heart:.
But in my client, what choices should I offer users? Is there a list of acceptable keys? Is any string allowed? Is there a standard mapping between emojis and their :-wrapped aliases? Is each client developer expected to research this and reimplement the functionality? Are there any interoperability concerns between clients?
Thanks.
@alphapapa I believe such questions are better answered in #matrix-dev:matrix.org
@ShadowJonathan It would be helpful if these questions were answered by the spec for client devs to refer to, like the guidance the spec gives regarding other client issues. That is the purpose of the spec, no?
@alphapapa this is off-topic to the MSC at hand, please open an issue or talk in that room, #matrix-spec:matrix.org is also relevant.
@ShadowJonathan I don't understand. I'm commenting on this proposed change to the spec, to ask that it include answers to certain questions for client developers, which it currently doesn't. How is that off-topic?
@alphapapa it is off-topic to this current MSC, which is only related to the protocol-technical aspect of replies, reactions, and anything else this might empower (wrt inter-message relations). Please file a separate issue for what you're suggesting.
@alphapapa please add comments on the document (which allows threading), rather than comments here, as it's easier to follow. But the quick answers to your questions are that any string is allowed as the key, and mapping human-readable names to emoji is out of scope for this MSC.
The CS API should not allow to send a relation targetting a m.annotation event, as discussed at https://github.com/matrix-org/matrix-doc/pull/2675#discussion_r757010873
I think this MSC now matches reality and is substantially clarified. Review would be appreciated.
@mscbot fcp merge
Team member @turt2live has proposed to merge this. The next step is review by the rest of the tagged people:
- [x] @dbkr
- [x] @uhoreg
- [x] @turt2live
- [ ] @ara4n
- [x] @anoadragon453
- [x] @richvdh
- [x] @erikjohnston
- [ ] @KitsuneRal
Once at least 75% of reviewers approve (and there are no outstanding concerns), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up!
See this document for information about what commands tagged team members can give me.
:bell: This is now entering its final comment period, as per the review above. :bell:
The final comment period, with a disposition to merge, as per the review above, is now complete.
Spec PR: https://github.com/matrix-org/matrix-spec/pull/1475
Merged 🎉