From 7d70d3eb7bc197cb43d0ecaafb8985f45b50cb61 Mon Sep 17 00:00:00 2001 From: Kieran Date: Wed, 5 Jul 2023 15:26:26 +0100 Subject: [PATCH] Track zapper profiles --- src/element/live-chat.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/element/live-chat.tsx b/src/element/live-chat.tsx index d66e2f7..0cc061b 100644 --- a/src/element/live-chat.tsx +++ b/src/element/live-chat.tsx @@ -6,6 +6,7 @@ import { parseZap, } from "@snort/system"; import { + useEffect, useMemo, } from "react"; @@ -21,7 +22,7 @@ import { LIVE_STREAM_CHAT } from "../const"; import useEventFeed from "../hooks/event-feed"; import { ChatMessage } from "./chat-message"; import { WriteMessage } from "./write-message"; -import { getHost } from "utils"; +import { findTag, getHost } from "utils"; export interface LiveChatOptions { canWrite?: boolean; @@ -56,6 +57,12 @@ function TopZappers({ zaps }: { zaps: ParsedZap[] }) { export function LiveChat({ link, options, height, }: { link: NostrLink, options?: LiveChatOptions, height?: number }) { const feed = useLiveChatFeed(link); const login = useLogin(); + useEffect(() => { + const pubkeys = [...new Set(feed.zaps.flatMap(a => [a.pubkey, findTag(a, "p")!]))]; + System.ProfileLoader.TrackMetadata(pubkeys); + return () => System.ProfileLoader.UntrackMetadata(pubkeys); + }, [feed.zaps]); + const zaps = feed.zaps .map((ev) => parseZap(ev, System.ProfileLoader.Cache)) .filter((z) => z && z.valid);