diff --git a/src/classes/batch-relation-loader.ts b/src/classes/batch-relation-loader.ts index 80ab2a346..30f541cd3 100644 --- a/src/classes/batch-relation-loader.ts +++ b/src/classes/batch-relation-loader.ts @@ -76,7 +76,7 @@ export default class BatchRelationLoader { { leading: false, trailing: true }, ); - private handleEvent(event: NostrEvent) { + handleEvent(event: NostrEvent) { // add event to cache const updateIds = new Set(); for (const tag of event.tags) { @@ -93,7 +93,7 @@ export default class BatchRelationLoader { for (const id of updateIds) this.onEventUpdate.next(id); } - private handleEOSE() { + handleEOSE() { // resolve all pending from the last request for (const [uid, defer] of this.pending) { defer.resolve(this.references.get(uid)); diff --git a/src/services/event-reactions.ts b/src/services/event-reactions.ts index c4d2bad5c..cc5cf50d2 100644 --- a/src/services/event-reactions.ts +++ b/src/services/event-reactions.ts @@ -58,7 +58,7 @@ class EventReactionsService { requestReactions(eventUID: string, urls: Iterable, alwaysRequest = true) { const subject = this.subjects.get(eventUID); - if (subject.value && !alwaysRequest) return; + if (subject.value && !alwaysRequest) return subject; if (localRelay) { this.loaders.get(localRelay as AbstractRelay).requestEvents(eventUID); @@ -71,6 +71,11 @@ class EventReactionsService { return subject; } + + handleEvent(event: NostrEvent) { + // pretend it came from the local relay + if (localRelay) this.loaders.get(localRelay as AbstractRelay).handleEvent(event); + } } const eventReactionsService = new EventReactionsService(); diff --git a/src/services/event-zaps.ts b/src/services/event-zaps.ts index 98f463981..5c3b52fc4 100644 --- a/src/services/event-zaps.ts +++ b/src/services/event-zaps.ts @@ -58,7 +58,7 @@ class EventZapsService { requestZaps(eventUID: string, urls: Iterable, alwaysRequest = true) { const subject = this.subjects.get(eventUID); - if (subject.value && !alwaysRequest) return; + if (subject.value && !alwaysRequest) return subject; if (localRelay) { this.loaders.get(localRelay as AbstractRelay).requestEvents(eventUID);