diff --git a/src/components/NotificationList/index.tsx b/src/components/NotificationList/index.tsx index 0f179a94..7e2b1f27 100644 --- a/src/components/NotificationList/index.tsx +++ b/src/components/NotificationList/index.tsx @@ -90,7 +90,10 @@ const NotificationList = forwardRef((_, ref) => { onEvents: (events, eosed) => { if (eventCount > events.length) return eventCount = events.length - setNotifications(events.filter((event) => event.pubkey !== pubkey)) + + if (events.length > 0) { + setNotifications(events.filter((event) => event.pubkey !== pubkey)) + } if (eosed) { setRefreshing(false) setUntil(events.length > 0 ? events[events.length - 1].created_at - 1 : undefined) diff --git a/src/components/ReplyNoteList/index.tsx b/src/components/ReplyNoteList/index.tsx index 589f6f85..35e55319 100644 --- a/src/components/ReplyNoteList/index.tsx +++ b/src/components/ReplyNoteList/index.tsx @@ -96,6 +96,7 @@ export default function ReplyNoteList({ const relayUrls = relayList.read.concat(BIG_RELAY_URLS) const seenOn = client.getSeenEventRelayUrls(rootInfo.id) relayUrls.unshift(...seenOn) + let eventCount = 0 const { closer, timelineKey } = await client.subscribeTimeline( relayUrls.slice(0, 5), { @@ -105,7 +106,12 @@ export default function ReplyNoteList({ }, { onEvents: (evts, eosed) => { - setEvents(evts.filter((evt) => isReplyNoteEvent(evt)).reverse()) + if (eventCount > events.length) return + eventCount = events.length + + if (events.length > 0) { + setEvents(evts.filter((evt) => isReplyNoteEvent(evt)).reverse()) + } if (eosed) { setUntil(evts.length >= LIMIT ? evts[evts.length - 1].created_at - 1 : undefined) setLoading(false)