Fix over-encoding issues in Element URIs

This commit is contained in:
Michael Telatynski 2022-06-06 17:11:15 +01:00 committed by GitHub
parent d7c108588e
commit 58f63c4afc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -52,16 +52,16 @@ export class Element {
let fragmentPath;
switch (link.kind) {
case LinkKind.User:
fragmentPath = `user/${link.identifier}`;
fragmentPath = `user/${encodeURIComponent(link.identifier)}`;
break;
case LinkKind.Room:
fragmentPath = `room/${link.identifier}`;
fragmentPath = `room/${encodeURIComponent(link.identifier)}`;
break;
case LinkKind.Group:
fragmentPath = `group/${link.identifier}`;
fragmentPath = `group/${encodeURIComponent(link.identifier)}`;
break;
case LinkKind.Event:
fragmentPath = `room/${link.identifier}/${link.eventId}`;
fragmentPath = `room/${encodeURIComponent(link.identifier)}/${encodeURIComponent(link.eventId)}`;
break;
}
@ -77,9 +77,9 @@ export class Element {
if (isWebPlatform && trustedWebInstances.includes(link.webInstances[this.id])) {
instanceHost = link.webInstances[this.id];
}
return `https://${instanceHost}/#/${encodeURIComponent(fragmentPath)}`;
return `https://${instanceHost}/#/${fragmentPath}`;
} else if (platform === Platform.Linux || platform === Platform.Windows || platform === Platform.macOS) {
return `element://vector/webapp/#/${encodeURIComponent(fragmentPath)}`;
return `element://vector/webapp/#/${fragmentPath}`;
} else {
return `element://${fragmentPath}`;
}