always fetch mailboxes from purplepages

This commit is contained in:
hzrd149
2024-06-06 06:49:00 -05:00
parent 733ba9380a
commit 8f963ec55e
3 changed files with 14 additions and 8 deletions

View File

@@ -9,7 +9,7 @@ import { usePublishEvent } from "../providers/global/publish-provider";
export default function useRelayMailboxActions(relay: string) { export default function useRelayMailboxActions(relay: string) {
const publish = usePublishEvent(); const publish = usePublishEvent();
const account = useCurrentAccount(); 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( const addMode = useCallback(
async (mode: RelayMode) => { async (mode: RelayMode) => {

View File

@@ -1,18 +1,23 @@
import RelaySet from "../classes/relay-set"; import RelaySet from "../classes/relay-set";
import { COMMON_CONTACT_RELAY } from "../const";
import { RequestOptions } from "../services/replaceable-events"; import { RequestOptions } from "../services/replaceable-events";
import userMailboxesService from "../services/user-mailboxes"; import userMailboxesService from "../services/user-mailboxes";
import { useReadRelays } from "./use-client-relays"; import { useReadRelays } from "./use-client-relays";
import useSubject from "./use-subject"; import useSubject from "./use-subject";
export default function useUserMailboxes(pubkey?: string, opts?: RequestOptions) { export default function useUserMailboxes(
const readRelays = useReadRelays(); pubkey?: string,
additionalRelays: Iterable<string> = [],
opts?: RequestOptions,
) {
const readRelays = useReadRelays([...additionalRelays, COMMON_CONTACT_RELAY]);
const sub = pubkey ? userMailboxesService.requestMailboxes(pubkey, readRelays, opts) : undefined; const sub = pubkey ? userMailboxesService.requestMailboxes(pubkey, readRelays, opts) : undefined;
const value = useSubject(sub); const value = useSubject(sub);
return value; return value;
} }
export function useUserInbox(pubkey?: string, opts?: RequestOptions) { export function useUserInbox(pubkey?: string, additionalRelays: Iterable<string> = [], opts?: RequestOptions) {
return useUserMailboxes(pubkey, opts)?.inbox ?? new RelaySet(); return useUserMailboxes(pubkey, additionalRelays, opts)?.inbox ?? new RelaySet();
} }
export function useUserOutbox(pubkey?: string, opts?: RequestOptions) { export function useUserOutbox(pubkey?: string, additionalRelays: Iterable<string> = [], opts?: RequestOptions) {
return useUserMailboxes(pubkey, opts)?.outbox ?? new RelaySet(); return useUserMailboxes(pubkey, additionalRelays, opts)?.outbox ?? new RelaySet();
} }

View File

@@ -47,7 +47,8 @@ function RelayLine({ relay, mode, list }: { relay: string; mode: RelayMode; list
function MailboxesPage() { function MailboxesPage() {
const account = useCurrentAccount()!; const account = useCurrentAccount()!;
const publish = usePublishEvent(); 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( const addRelay = useCallback(
async (relay: string, mode: RelayMode) => { async (relay: string, mode: RelayMode) => {