Skip to content

Commit f60a471

Browse files
authored
[IMPROVE] Preview message URLs only once (RocketChat#22516)
1 parent aa7ee7b commit f60a471

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

app/lib/server/functions/insertMessage.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ export const insertMessage = function(user, message, rid, upsert = false) {
119119

120120
const urls = message.html.match(/([A-Za-z]{3,9}):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((\/[-\+=!:~%\/\.@\,\(\)\w]*)?\??([-\+=&!:;%@\/\.\,\w]+)?(?:#([^\s\)]+))?)?/g);
121121
if (urls) {
122-
message.urls = urls.map((url) => ({ url }));
122+
message.urls = [...new Set(urls)].map((url) => ({ url }));
123123
}
124124

125125
message = Markdown.mountTokensBack(message, false);

app/lib/server/functions/parseUrlsInMessage.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export const parseUrlsInMessage = (message) => {
1010

1111
const urls = message.html.match(/([A-Za-z]{3,9}):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((\/[-\+=!:~%\/\.@\,\w]*)?\??([-\+=&!:;%@\/\.\,\w]+)?(?:#([^\s\)]+))?)?/g) || [];
1212
if (urls) {
13-
message.urls = urls.map((url) => ({ url }));
13+
message.urls = [...new Set(urls)].map((url) => ({ url }));
1414
}
1515

1616
message = Markdown.mountTokensBack(message, false);

0 commit comments

Comments
 (0)