From 1041e8cc6a23107fea39d4c9ab0257aab5afce23 Mon Sep 17 00:00:00 2001 From: codytseng Date: Mon, 16 Dec 2024 00:37:25 +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/renderer/src/services/client.service.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/renderer/src/services/client.service.ts b/src/renderer/src/services/client.service.ts index 3b0f9d60..7f339be6 100644 --- a/src/renderer/src/services/client.service.ts +++ b/src/renderer/src/services/client.service.ts @@ -156,8 +156,9 @@ class ClientService { const that = this const _knownIds = new Set() let events: NEvent[] = [] - let started = 0 - let eosed = 0 + let startedCount = 0 + let eosedCount = 0 + let eosed = false const subPromises = urls.map(async (url) => { const relay = await this.pool.ensureRelay(url) let hasAuthed = false @@ -165,7 +166,7 @@ class ClientService { return startSub() function startSub() { - started++ + startedCount++ return relay.subscribe([since ? { ...filter, since } : filter], { alreadyHaveEvent: (id: string) => { const have = _knownIds.has(id) @@ -178,7 +179,7 @@ class ClientService { onevent(evt: NEvent) { that.eventDataLoader.prime(evt.id, Promise.resolve(evt)) // not eosed yet, push to events - if (eosed < started) { + if (eosedCount < startedCount) { return events.push(evt) } // eosed, (algo relay feeds) no need to sort and cache @@ -228,8 +229,10 @@ class ClientService { } }, oneose() { - eosed++ - if (eosed < started) return + eosedCount++ + if (eosedCount < startedCount || eosed) return + + eosed = true // (algo feeds) no need to sort and cache if (!needSort) {