User, room, and group mentions

This module allows users to mention other users, rooms, and groups within a room message. This is achieved by including a matrix.to URI in the HTML body of an m.room.message event. This module does not have any server-specific behaviour to it.

Mentions apply only to m.room.message events where the msgtype is m.text, m.emote, or m.notice. The format for the event must be org.matrix.custom.html and therefore requires a formatted_body.

To make a mention, reference the entity being mentioned in the formatted_body using an anchor, like so:

{
    "body": "Hello Alice!",
    "msgtype": "m.text",
    "format": "org.matrix.custom.html",
    "formatted_body": "Hello <a href='https://matrix.to/#/@alice:example.org'>Alice</a>!"
}

Client behaviour

In addition to using the appropriate matrix.to URI for the mention, clients should use the following guidelines when making mentions in events to be sent:

The text component of the anchor should be used in the event’s body where the mention would normally be represented, as shown in the example above.

Clients should display mentions differently from other elements. For example, this may be done by changing the background color of the mention to indicate that it is different from a normal link.

If the current user is mentioned in a message (either by a mention as defined in this module or by a push rule), the client should show that mention differently from other mentions, such as by using a red background color to signify to the user that they were mentioned.

When clicked, the mention should navigate the user to the appropriate room, group, or user information.