Merge pull request #4245 from matrix-org/t3chguy/user_id_matrix_to

Handle matrix.to user permalink in-room rather than solo
This commit is contained in:
Michael Telatynski 2020-03-23 15:08:17 +00:00 committed by GitHub
commit a5806d93aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -16,7 +16,11 @@ limitations under the License.
*/ */
import {baseUrl} from "./utils/permalinks/SpecPermalinkConstructor"; import {baseUrl} from "./utils/permalinks/SpecPermalinkConstructor";
import {tryTransformEntityToPermalink, tryTransformPermalinkToLocalHref} from "./utils/permalinks/Permalinks"; import {
parsePermalink,
tryTransformEntityToPermalink,
tryTransformPermalinkToLocalHref,
} from "./utils/permalinks/Permalinks";
function matrixLinkify(linkify) { function matrixLinkify(linkify) {
// Text tokens // Text tokens
@ -194,6 +198,18 @@ matrixLinkify.MATRIXTO_BASE_URL= baseUrl;
matrixLinkify.options = { matrixLinkify.options = {
events: function(href, type) { events: function(href, type) {
switch (type) { switch (type) {
case "url": {
// intercept local permalinks to users and show them like userids (in userinfo of current room)
const permalink = parsePermalink(href);
if (permalink && permalink.userId) {
return {
click: function(e) {
matrixLinkify.onUserClick(e, permalink.userId);
},
};
}
break;
}
case "userid": case "userid":
return { return {
click: function(e) { click: function(e) {