diff --git a/web/src/ui/composer/Autocompleter.tsx b/web/src/ui/composer/Autocompleter.tsx index 6061946..b9b005c 100644 --- a/web/src/ui/composer/Autocompleter.tsx +++ b/web/src/ui/composer/Autocompleter.tsx @@ -102,9 +102,15 @@ export const EmojiAutocompleter = ({ params, ...rest }: AutocompleterProps) => { return useAutocompleter({ params, ...rest, items, ...emojiFuncs }) } +const escapeDisplayname = (input: string) => input + .replace("\n", " ") + .replace(/([\\`*_[\]])/g, "\\$1") + .replace("<", "<") + .replace(">", ">") + const userFuncs = { getText: (user: AutocompleteUser) => - `[${user.displayName}](https://matrix.to/#/${encodeURIComponent(user.userID)}) `, + `[${escapeDisplayname(user.displayName)}](https://matrix.to/#/${encodeURIComponent(user.userID)}) `, getKey: (user: AutocompleteUser) => user.userID, render: (user: AutocompleteUser) => <>