Browse Source

fix: 🐛

imwald
codytseng 1 year ago
parent
commit
e61fd2e172
  1. 2
      src/components/NotificationList/index.tsx
  2. 12
      src/services/client.service.ts

2
src/components/NotificationList/index.tsx

@ -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) => {

12
src/services/client.service.ts

@ -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

Loading…
Cancel
Save