From e61fd2e172078b9c9dd3917742f869cf77ee9ab2 Mon Sep 17 00:00:00 2001 From: codytseng Date: Mon, 17 Feb 2025 15:41:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=90=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/NotificationList/index.tsx | 2 +- src/services/client.service.ts | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/components/NotificationList/index.tsx b/src/components/NotificationList/index.tsx index 1802743..a9343d0 100644 --- a/src/components/NotificationList/index.tsx +++ b/src/components/NotificationList/index.tsx @@ -75,7 +75,7 @@ const NotificationList = forwardRef((_, ref) => { setNotifications(events.filter((event) => event.pubkey !== pubkey)) if (eosed) { setRefreshing(false) - setUntil(events.length >= 0 ? events[events.length - 1].created_at - 1 : undefined) + setUntil(events.length > 0 ? events[events.length - 1].created_at - 1 : undefined) } }, onNew: (event) => { diff --git a/src/services/client.service.ts b/src/services/client.service.ts index c9dbd1d..4aab5e9 100644 --- a/src/services/client.service.ts +++ b/src/services/client.service.ts @@ -176,7 +176,7 @@ class ClientService extends EventTarget { ) ).filter(Boolean) as NEvent[] if (cachedEvents.length) { - onEvents(cachedEvents, false) + onEvents([...cachedEvents], false) since = cachedEvents[0].created_at + 1 } } @@ -283,11 +283,11 @@ class ClientService extends EventTarget { // (algo feeds) no need to sort and cache if (!needSort) { - return onEvents(events, eosed) + return onEvents([...events], eosed) } if (!eosed) { events = events.sort((a, b) => b.created_at - a.created_at).slice(0, filter.limit) - return onEvents(events.concat(cachedEvents), false) + return onEvents([...events.concat(cachedEvents)], false) } events = events.sort((a, b) => b.created_at - a.created_at).slice(0, filter.limit) @@ -299,7 +299,7 @@ class ClientService extends EventTarget { filter, urls } - return onEvents(events, true) + return onEvents([...events], true) } const newEvents = events.filter((evt) => { @@ -314,11 +314,11 @@ class ClientService extends EventTarget { if (newRefs.length >= filter.limit) { // if new refs are more than limit, means old refs are too old, replace them timeline.refs = newRefs - onEvents(newEvents, true) + onEvents([...newEvents], true) } else { // merge new refs with old refs timeline.refs = newRefs.concat(timeline.refs) - onEvents(newEvents.concat(cachedEvents), true) + onEvents([...newEvents.concat(cachedEvents)], true) } }, eoseTimeout: 10000 // 10s