-
Notifications
You must be signed in to change notification settings - Fork 385
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document how mentions (pills) work #1547
Merged
Merged
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
9835c98
Document how mentions (pills) work
turt2live dc94820
Changelog
turt2live 312799a
General clarification for mention and how matrix.to URIs are meant to…
turt2live fa3e9a7
Merge remote-tracking branch 'matrix-org/master' into travis/c2s/pills
turt2live 39e674c
Clarify what matrix.to is and mention that room IDs are not routable
turt2live File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Add a common standard for user, room, and group mentions in messages. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
.. Copyright 2018 New Vector Ltd. | ||
.. | ||
.. Licensed under the Apache License, Version 2.0 (the "License"); | ||
.. you may not use this file except in compliance with the License. | ||
.. You may obtain a copy of the License at | ||
.. | ||
.. http://www.apache.org/licenses/LICENSE-2.0 | ||
.. | ||
.. Unless required by applicable law or agreed to in writing, software | ||
.. distributed under the License is distributed on an "AS IS" BASIS, | ||
.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
.. See the License for the specific language governing permissions and | ||
.. limitations under the License. | ||
|
||
User, room, and group mentions | ||
============================== | ||
|
||
.. _module: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: | ||
|
||
* When mentioning users, use the user's potentially ambigious display name for | ||
the anchor's text. If the user does not have a display name, use the user's | ||
ID. | ||
|
||
* When mentioning rooms, use the canonical alias for the room. If the room | ||
does not have a canonical alias, prefer one of the aliases listed on the | ||
room. If no alias can be found, fall back to the room ID. In all cases, | ||
use the alias/room ID being linked to as the anchor's text. | ||
|
||
* When referencing groups, use the group ID as the anchor's text. | ||
|
||
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. | ||
|
||
|
||
.. _`matrix.to URI`: ../appendices.html#matrix-to-navigation |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we define that client's shouldn't match on formatted_body, and only on body or is that a push rule thing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a push rule thing. This particular blob of text is intended to say that client should do something special about mentions, however.