Fix invalid matrix.to event link generation (#2717)

This commit is contained in:
Tulir Asokan 2026-03-03 11:12:45 +02:00 committed by GitHub
parent 4bbc94cd7e
commit 13b4aa5f40
2 changed files with 3 additions and 5 deletions

View file

@ -327,11 +327,9 @@ export const MessageCopyLinkItem = as<
const mx = useMatrixClient(); const mx = useMatrixClient();
const handleCopy = () => { const handleCopy = () => {
const roomIdOrAlias = getCanonicalAliasOrRoomId(mx, room.roomId);
const eventId = mEvent.getId(); const eventId = mEvent.getId();
const viaServers = isRoomAlias(roomIdOrAlias) ? undefined : getViaServers(room);
if (!eventId) return; if (!eventId) return;
copyToClipboard(getMatrixToRoomEvent(roomIdOrAlias, eventId, viaServers)); copyToClipboard(getMatrixToRoomEvent(room.roomId, eventId, getViaServers(room)));
onClose?.(); onClose?.();
}; };

View file

@ -16,11 +16,11 @@ export const getMatrixToRoom = (roomIdOrAlias: string, viaServers?: string[]): s
}; };
export const getMatrixToRoomEvent = ( export const getMatrixToRoomEvent = (
roomIdOrAlias: string, roomId: string,
eventId: string, eventId: string,
viaServers?: string[] viaServers?: string[]
): string => { ): string => {
let fragment = `${roomIdOrAlias}/${eventId}`; let fragment = `${roomId}/${eventId}`;
if (Array.isArray(viaServers) && viaServers.length > 0) { if (Array.isArray(viaServers) && viaServers.length > 0) {
fragment = withViaServers(fragment, viaServers); fragment = withViaServers(fragment, viaServers);