feed: reduce and censor content that has many newlines
ci/woodpecker/push/woodpecker Pipeline was successful Details
ci/woodpecker/pr/woodpecker Pipeline was successful Details

Render newlines as linebreaks is nice, but it can be abused by
adding too many newlines. This change reduces 3 newlines to 2
globally to keep the output somewhat sane.
OFF0 2 years ago
parent 9711ca2ecf
commit 7ba31a6b92
Signed by: offbyn
GPG Key ID: 94A2F643C51F37FA

@ -156,7 +156,7 @@ setInterval(() => {
function createTextNote(evt, relay) { function createTextNote(evt, relay) {
const {host, img, isReply, name, replies, time, userName} = getMetadata(evt, relay); const {host, img, isReply, name, replies, time, userName} = getMetadata(evt, relay);
const isLongContent = evt.content.trimRight().length > 280; const isLongContent = evt.content.trimRight().length > 280;
const content = isLongContent ? evt.content.slice(0, 280) : evt.content; const content = (isLongContent ? evt.content.slice(0, 280) : evt.content).replaceAll(/\n{3,}/g, '\n\n');
const hasReactions = reactionMap[evt.id]?.length > 0; const hasReactions = reactionMap[evt.id]?.length > 0;
const didReact = hasReactions && !!reactionMap[evt.id].find(reaction => reaction.pubkey === pubkey); const didReact = hasReactions && !!reactionMap[evt.id].find(reaction => reaction.pubkey === pubkey);
const replyFeed = replies[0] ? replies.map(e => replyDomMap[e.id] = createTextNote(e, relay)) : []; const replyFeed = replies[0] ? replies.map(e => replyDomMap[e.id] = createTextNote(e, relay)) : [];

Loading…
Cancel
Save