forked from Mirrors/gomuks
web/composer: escape markdown in displaynames when autocompleting mention
This commit is contained in:
parent
6eef047ae5
commit
8770205965
1 changed files with 7 additions and 1 deletions
|
@ -102,9 +102,15 @@ export const EmojiAutocompleter = ({ params, ...rest }: AutocompleterProps) => {
|
||||||
return useAutocompleter({ params, ...rest, items, ...emojiFuncs })
|
return useAutocompleter({ params, ...rest, items, ...emojiFuncs })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const escapeDisplayname = (input: string) => input
|
||||||
|
.replace("\n", " ")
|
||||||
|
.replace(/([\\`*_[\]])/g, "\\$1")
|
||||||
|
.replace("<", "<")
|
||||||
|
.replace(">", ">")
|
||||||
|
|
||||||
const userFuncs = {
|
const userFuncs = {
|
||||||
getText: (user: AutocompleteUser) =>
|
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,
|
getKey: (user: AutocompleteUser) => user.userID,
|
||||||
render: (user: AutocompleteUser) => <>
|
render: (user: AutocompleteUser) => <>
|
||||||
<img
|
<img
|
||||||
|
|
Loading…
Add table
Reference in a new issue