Fix parsing encoded matrix.to URL (#660)

From https://spec.matrix.org/v1.3/appendices/#matrixto-navigation:

	The components of the matrix.to URI (<identifier> and <extra parameter>) are to be percent-encoded as per RFC 3986.

	Historically, clients have not produced URIs which are fully encoded. Clients should try to interpret these cases to the best of their ability. For example, an unencoded room alias should still work within the client if possible
This commit is contained in:
Chuang Zhu 2022-07-04 22:20:11 +08:00 committed by GitHub
parent 06a4e0c93b
commit a6f21b6606
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -44,7 +44,7 @@ function transformSpanTag(tagName, attribs) {
}
function transformATag(tagName, attribs) {
const userLink = attribs.href.match(/^https?:\/\/matrix.to\/#\/(@.+:.+)/);
const userLink = decodeURIComponent(attribs.href).match(/^https?:\/\/matrix.to\/#\/(@.+:.+)/);
if (userLink !== null) {
// convert user link to pill
const userId = userLink[1];