From 137ac2b490dbe9d755a5b76cbf8b61eba7e08c27 Mon Sep 17 00:00:00 2001 From: hzrd149 Date: Thu, 31 Aug 2023 14:14:44 -0500 Subject: [PATCH] always fetch user emoji packs --- src/app.tsx | 2 +- src/hooks/use-users-emoji-packs.ts | 4 ++-- src/providers/emoji-provider.tsx | 2 +- src/services/emoji-packs.ts | 10 ++++++++-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/app.tsx b/src/app.tsx index b228a7024..4ede987aa 100644 --- a/src/app.tsx +++ b/src/app.tsx @@ -77,7 +77,6 @@ const RootPage = () => { return ( - }> @@ -173,6 +172,7 @@ const router = createHashRouter([ export const App = () => ( + }> diff --git a/src/hooks/use-users-emoji-packs.ts b/src/hooks/use-users-emoji-packs.ts index 1fb1b402d..b9167cf4e 100644 --- a/src/hooks/use-users-emoji-packs.ts +++ b/src/hooks/use-users-emoji-packs.ts @@ -3,10 +3,10 @@ import { useReadRelayUrls } from "./use-client-relays"; import emojiPacksService from "../services/emoji-packs"; import useSubject from "./use-subject"; -export default function useUserEmojiPacks(pubkey?: string, additionalRelays?: string[]) { +export default function useUserEmojiPacks(pubkey?: string, additionalRelays?: string[], alwaysFetch = false) { const readRelays = useReadRelayUrls(additionalRelays); const subject = useMemo(() => { - if (pubkey) return emojiPacksService.requestUserEmojiList(pubkey, readRelays); + if (pubkey) return emojiPacksService.requestUserEmojiList(pubkey, readRelays, alwaysFetch); }, [pubkey, readRelays.join("|")]); return useSubject(subject); diff --git a/src/providers/emoji-provider.tsx b/src/providers/emoji-provider.tsx index 836ba663d..f8834eb59 100644 --- a/src/providers/emoji-provider.tsx +++ b/src/providers/emoji-provider.tsx @@ -25,7 +25,7 @@ export function DefaultEmojiProvider({ children }: PropsWithChildren) { export function UserEmojiProvider({ children, pubkey }: PropsWithChildren & { pubkey?: string }) { const account = useCurrentAccount(); - const userPacks = useUserEmojiPacks(pubkey || account?.pubkey); + const userPacks = useUserEmojiPacks(pubkey || account?.pubkey, [], true); const events = useReplaceableEvents(userPacks?.packs); const emojis = events diff --git a/src/services/emoji-packs.ts b/src/services/emoji-packs.ts index 238d9d631..74c5ddbad 100644 --- a/src/services/emoji-packs.ts +++ b/src/services/emoji-packs.ts @@ -38,9 +38,15 @@ class EmojiPacksService { return sub; } - requestUserEmojiList(pubkey: string, relays: string[]) { + requestUserEmojiList(pubkey: string, relays: string[], alwaysFetch = false) { const sub = this.userEmojiPacks.get(pubkey); - const request = replaceableEventLoaderService.requestEvent(relays, USER_EMOJI_LIST_KIND, pubkey); + const request = replaceableEventLoaderService.requestEvent( + relays, + USER_EMOJI_LIST_KIND, + pubkey, + undefined, + alwaysFetch, + ); if (!sub.value) { sub.connectWithHandler(request, (event, next) => {