fix: 🐛

This commit is contained in:
codytseng
2025-02-17 15:41:48 +08:00
parent f00ea38e17
commit e61fd2e172
2 changed files with 7 additions and 7 deletions

View File

@@ -75,7 +75,7 @@ const NotificationList = forwardRef((_, ref) => {
setNotifications(events.filter((event) => event.pubkey !== pubkey)) setNotifications(events.filter((event) => event.pubkey !== pubkey))
if (eosed) { if (eosed) {
setRefreshing(false) 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) => { onNew: (event) => {

View File

@@ -176,7 +176,7 @@ class ClientService extends EventTarget {
) )
).filter(Boolean) as NEvent[] ).filter(Boolean) as NEvent[]
if (cachedEvents.length) { if (cachedEvents.length) {
onEvents(cachedEvents, false) onEvents([...cachedEvents], false)
since = cachedEvents[0].created_at + 1 since = cachedEvents[0].created_at + 1
} }
} }
@@ -283,11 +283,11 @@ class ClientService extends EventTarget {
// (algo feeds) no need to sort and cache // (algo feeds) no need to sort and cache
if (!needSort) { if (!needSort) {
return onEvents(events, eosed) return onEvents([...events], eosed)
} }
if (!eosed) { if (!eosed) {
events = events.sort((a, b) => b.created_at - a.created_at).slice(0, filter.limit) 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) events = events.sort((a, b) => b.created_at - a.created_at).slice(0, filter.limit)
@@ -299,7 +299,7 @@ class ClientService extends EventTarget {
filter, filter,
urls urls
} }
return onEvents(events, true) return onEvents([...events], true)
} }
const newEvents = events.filter((evt) => { const newEvents = events.filter((evt) => {
@@ -314,11 +314,11 @@ class ClientService extends EventTarget {
if (newRefs.length >= filter.limit) { if (newRefs.length >= filter.limit) {
// if new refs are more than limit, means old refs are too old, replace them // if new refs are more than limit, means old refs are too old, replace them
timeline.refs = newRefs timeline.refs = newRefs
onEvents(newEvents, true) onEvents([...newEvents], true)
} else { } else {
// merge new refs with old refs // merge new refs with old refs
timeline.refs = newRefs.concat(timeline.refs) timeline.refs = newRefs.concat(timeline.refs)
onEvents(newEvents.concat(cachedEvents), true) onEvents([...newEvents.concat(cachedEvents)], true)
} }
}, },
eoseTimeout: 10000 // 10s eoseTimeout: 10000 // 10s