Browse Source

fix: prevent frequent requests for signing seen notifications events

imwald
codytseng 8 months ago
parent
commit
636ceacdad
  1. 10
      src/providers/NostrProvider/index.tsx

10
src/providers/NostrProvider/index.tsx

@ -67,6 +67,8 @@ type TNostrContext = { @@ -67,6 +67,8 @@ type TNostrContext = {
const NostrContext = createContext<TNostrContext | undefined>(undefined)
let lastPublishedSeenNotificationsAtEventAt = -1
export const useNostr = () => {
const context = useContext(NostrContext)
if (!context) {
@ -682,7 +684,15 @@ export function NostrProvider({ children }: { children: React.ReactNode }) { @@ -682,7 +684,15 @@ export function NostrProvider({ children }: { children: React.ReactNode }) {
setTimeout(() => {
setNotificationsSeenAt(now)
}, 5_000)
// Prevent too frequent requests for signing seen notifications events
if (
lastPublishedSeenNotificationsAtEventAt < 0 ||
now - lastPublishedSeenNotificationsAtEventAt > 10 * 60 // 10 minutes
) {
await publish(createSeenNotificationsAtDraftEvent())
lastPublishedSeenNotificationsAtEventAt = now
}
}
return (

Loading…
Cancel
Save