diff --git a/src/pages/primary/NoteListPage/index.tsx b/src/pages/primary/NoteListPage/index.tsx index 39a6cee..88ea41d 100644 --- a/src/pages/primary/NoteListPage/index.tsx +++ b/src/pages/primary/NoteListPage/index.tsx @@ -51,7 +51,9 @@ const NoteListPage = forwardRef((_, ref) => { let content: React.ReactNode = null if (!isReady) { - content =
{t('loading...')}
+ content = ( +
{t('loading...')}
+ ) } else if (!feedInfo) { content = } else if (feedInfo.feedType === 'following' && !pubkey) { diff --git a/src/providers/FeedProvider.tsx b/src/providers/FeedProvider.tsx index f9578f2..a932a02 100644 --- a/src/providers/FeedProvider.tsx +++ b/src/providers/FeedProvider.tsx @@ -52,23 +52,20 @@ export function FeedProvider({ children }: { children: React.ReactNode }) { } } - if (!feedInfo) { - setIsReady(true) - return - } - - if (feedInfo.feedType === 'relays') { + if (feedInfo?.feedType === 'relays') { return await switchFeed('relays', { activeRelaySetId: feedInfo.id }) } - if (feedInfo.feedType === 'relay') { + if (feedInfo?.feedType === 'relay') { return await switchFeed('relay', { relay: feedInfo.id }) } // update following feed if pubkey changes - if (feedInfo.feedType === 'following' && pubkey) { + if (feedInfo?.feedType === 'following' && pubkey) { return await switchFeed('following', { pubkey }) } + + setIsReady(true) } init() diff --git a/src/providers/NostrProvider/index.tsx b/src/providers/NostrProvider/index.tsx index 448ea82..01cd1f3 100644 --- a/src/providers/NostrProvider/index.tsx +++ b/src/providers/NostrProvider/index.tsx @@ -704,7 +704,7 @@ export function NostrProvider({ children }: { children: React.ReactNode }) { } const updateRelayListEvent = async (relayListEvent: Event) => { - const newRelayList = await indexedDb.putReplaceableEvent(relayListEvent) + const newRelayList = await client.updateRelayListCache(relayListEvent) setRelayList(getRelayListFromEvent(newRelayList)) } diff --git a/src/services/client.service.ts b/src/services/client.service.ts index 9042a26..13a5aa8 100644 --- a/src/services/client.service.ts +++ b/src/services/client.service.ts @@ -1146,7 +1146,7 @@ class ClientService extends EventTarget { } async updateRelayListCache(event: NEvent) { - await this.updateReplaceableEventFromBigRelaysCache(event) + return await this.updateReplaceableEventFromBigRelaysCache(event) } /** =========== Replaceable event from big relays dataloader =========== */ @@ -1236,7 +1236,7 @@ class ClientService extends EventTarget { private async updateReplaceableEventFromBigRelaysCache(event: NEvent) { const newEvent = await indexedDb.putReplaceableEvent(event) if (newEvent.id !== event.id) { - return + return newEvent } this.replaceableEventFromBigRelaysDataloader.clear({ pubkey: event.pubkey, kind: event.kind }) @@ -1244,6 +1244,7 @@ class ClientService extends EventTarget { { pubkey: event.pubkey, kind: event.kind }, Promise.resolve(event) ) + return newEvent } /** =========== Replaceable event dataloader =========== */