diff --git a/src/hooks/use-relay-mailbox-actions.ts b/src/hooks/use-relay-mailbox-actions.ts index 063bb63b2..040c1f610 100644 --- a/src/hooks/use-relay-mailbox-actions.ts +++ b/src/hooks/use-relay-mailbox-actions.ts @@ -9,7 +9,7 @@ import { usePublishEvent } from "../providers/global/publish-provider"; export default function useRelayMailboxActions(relay: string) { const publish = usePublishEvent(); const account = useCurrentAccount(); - const { event, inbox, outbox } = useUserMailboxes(account?.pubkey, { alwaysRequest: true }) || {}; + const { event, inbox, outbox } = useUserMailboxes(account?.pubkey, undefined, { alwaysRequest: true }) || {}; const addMode = useCallback( async (mode: RelayMode) => { diff --git a/src/hooks/use-user-mailboxes.ts b/src/hooks/use-user-mailboxes.ts index a657bf603..7aba76091 100644 --- a/src/hooks/use-user-mailboxes.ts +++ b/src/hooks/use-user-mailboxes.ts @@ -1,18 +1,23 @@ import RelaySet from "../classes/relay-set"; +import { COMMON_CONTACT_RELAY } from "../const"; import { RequestOptions } from "../services/replaceable-events"; import userMailboxesService from "../services/user-mailboxes"; import { useReadRelays } from "./use-client-relays"; import useSubject from "./use-subject"; -export default function useUserMailboxes(pubkey?: string, opts?: RequestOptions) { - const readRelays = useReadRelays(); +export default function useUserMailboxes( + pubkey?: string, + additionalRelays: Iterable = [], + opts?: RequestOptions, +) { + const readRelays = useReadRelays([...additionalRelays, COMMON_CONTACT_RELAY]); const sub = pubkey ? userMailboxesService.requestMailboxes(pubkey, readRelays, opts) : undefined; const value = useSubject(sub); return value; } -export function useUserInbox(pubkey?: string, opts?: RequestOptions) { - return useUserMailboxes(pubkey, opts)?.inbox ?? new RelaySet(); +export function useUserInbox(pubkey?: string, additionalRelays: Iterable = [], opts?: RequestOptions) { + return useUserMailboxes(pubkey, additionalRelays, opts)?.inbox ?? new RelaySet(); } -export function useUserOutbox(pubkey?: string, opts?: RequestOptions) { - return useUserMailboxes(pubkey, opts)?.outbox ?? new RelaySet(); +export function useUserOutbox(pubkey?: string, additionalRelays: Iterable = [], opts?: RequestOptions) { + return useUserMailboxes(pubkey, additionalRelays, opts)?.outbox ?? new RelaySet(); } diff --git a/src/views/relays/mailboxes/index.tsx b/src/views/relays/mailboxes/index.tsx index e9410c993..db65d5a69 100644 --- a/src/views/relays/mailboxes/index.tsx +++ b/src/views/relays/mailboxes/index.tsx @@ -47,7 +47,8 @@ function RelayLine({ relay, mode, list }: { relay: string; mode: RelayMode; list function MailboxesPage() { const account = useCurrentAccount()!; const publish = usePublishEvent(); - const { inbox, outbox, event } = useUserMailboxes(account.pubkey, { alwaysRequest: true, ignoreCache: true }) || {}; + const { inbox, outbox, event } = + useUserMailboxes(account.pubkey, undefined, { alwaysRequest: true, ignoreCache: true }) || {}; const addRelay = useCallback( async (relay: string, mode: RelayMode) => {