mirror of
https://github.com/hzrd149/nostrudel.git
synced 2025-10-04 16:37:00 +02:00
fix duplicate mentions in posts
This commit is contained in:
@@ -6,6 +6,7 @@ import relayScoreboardService from "../../services/relay-scoreboard";
|
|||||||
import { getPubkey, safeDecode } from "../nip19";
|
import { getPubkey, safeDecode } from "../nip19";
|
||||||
import { Emoji } from "../../providers/emoji-provider";
|
import { Emoji } from "../../providers/emoji-provider";
|
||||||
import { EventSplit } from "./zaps";
|
import { EventSplit } from "./zaps";
|
||||||
|
import { unique } from "../array";
|
||||||
|
|
||||||
function addTag(tags: Tag[], tag: Tag, overwrite = false) {
|
function addTag(tags: Tag[], tag: Tag, overwrite = false) {
|
||||||
if (tags.some((t) => t[0] === tag[0] && t[1] === tag[1])) {
|
if (tags.some((t) => t[0] === tag[0] && t[1] === tag[1])) {
|
||||||
@@ -68,12 +69,14 @@ export function correctContentMentions(content: string) {
|
|||||||
|
|
||||||
export function getContentMentions(content: string) {
|
export function getContentMentions(content: string) {
|
||||||
const matched = content.matchAll(/nostr:(npub1[qpzry9x8gf2tvdw0s3jn54khce6mua7l]{58})/gi);
|
const matched = content.matchAll(/nostr:(npub1[qpzry9x8gf2tvdw0s3jn54khce6mua7l]{58})/gi);
|
||||||
return Array.from(matched)
|
return unique(
|
||||||
.map((m) => {
|
Array.from(matched)
|
||||||
const parsed = safeDecode(m[1]);
|
.map((m) => {
|
||||||
return parsed && getPubkey(parsed);
|
const parsed = safeDecode(m[1]);
|
||||||
})
|
return parsed && getPubkey(parsed);
|
||||||
.filter(Boolean) as string[];
|
})
|
||||||
|
.filter(Boolean) as string[],
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function ensureNotifyContentMentions(draft: DraftNostrEvent) {
|
export function ensureNotifyContentMentions(draft: DraftNostrEvent) {
|
||||||
|
Reference in New Issue
Block a user