feat: write reply events to recipients relays

This commit is contained in:
2023-11-22 11:40:28 +00:00
parent 56db2f652d
commit 92c26ca609
8 changed files with 91 additions and 34 deletions

View File

@ -1,7 +1,6 @@
import { useMemo } from "react";
import { HexKey, EventKind, RequestBuilder, ReplaceableNoteStore } from "@snort/system";
import { HexKey, EventKind, RequestBuilder, ReplaceableNoteStore, parseRelayTags } from "@snort/system";
import { useRequestBuilder } from "@snort/system-react";
import { parseRelayTag } from "./RelaysFeedFollows";
export default function useRelaysFeed(pubkey?: HexKey) {
const sub = useMemo(() => {
@ -12,5 +11,5 @@ export default function useRelaysFeed(pubkey?: HexKey) {
}, [pubkey]);
const relays = useRequestBuilder(ReplaceableNoteStore, sub);
return relays.data?.tags.filter(a => a[0] === "r").map(parseRelayTag) ?? [];
return parseRelayTags(relays.data?.tags.filter(a => a[0] === "r") ?? []);
}

View File

@ -1,9 +1,8 @@
import { useMemo } from "react";
import { HexKey, FullRelaySettings, TaggedNostrEvent, EventKind, NoteCollection, RequestBuilder } from "@snort/system";
import { HexKey, FullRelaySettings, TaggedNostrEvent, EventKind, NoteCollection, RequestBuilder, parseRelayTags } from "@snort/system";
import { useRequestBuilder } from "@snort/system-react";
import debug from "debug";
import { sanitizeRelayUrl } from "@/SnortUtils";
import { UserRelays } from "@/Cache";
interface RelayList {
@ -26,7 +25,7 @@ export default function useRelaysFeedFollows(pubkeys: HexKey[]): Array<RelayList
return {
pubkey: ev.pubkey,
created_at: ev.created_at,
relays: ev.tags.map(parseRelayTag).filter(a => a.url !== undefined),
relays: parseRelayTags(ev.tags),
};
});
}
@ -36,14 +35,4 @@ export default function useRelaysFeedFollows(pubkeys: HexKey[]): Array<RelayList
return useMemo(() => {
return mapFromRelays(notesRelays);
}, [relays]);
}
export function parseRelayTag(tag: Array<string>) {
return {
url: sanitizeRelayUrl(tag[1]),
settings: {
read: tag[2] === "read" || tag[2] === undefined,
write: tag[2] === "write" || tag[2] === undefined,
},
} as FullRelaySettings;
}
}