From 33c1a8c21540a3a7716c7ac5db1cb351eef51aaf Mon Sep 17 00:00:00 2001 From: codytseng Date: Tue, 4 Feb 2025 22:05:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=F0=9F=92=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/client.service.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/services/client.service.ts b/src/services/client.service.ts index f4d0c156..db739526 100644 --- a/src/services/client.service.ts +++ b/src/services/client.service.ts @@ -415,6 +415,7 @@ class ClientService extends EventTarget { const profileEvents = events.sort((a, b) => b.created_at - a.created_at) profileEvents.forEach((profile) => this.profileEventDataloader.prime(profile.pubkey, profile)) + await Promise.all(profileEvents.map((profile) => this.addUsernameToIndex(profile))) return profileEvents.map((profileEvent) => getProfileFromProfileEvent(profileEvent)) } @@ -612,23 +613,26 @@ class ClientService extends EventTarget { } if (profileEvent) { - this.addUsernameToIndex(profileEvent) + await this.addUsernameToIndex(profileEvent) } return profileEvent } - private addUsernameToIndex(profileEvent: NEvent) { + private async addUsernameToIndex(profileEvent: NEvent) { try { const profileObj = JSON.parse(profileEvent.content) const text = [ profileObj.display_name?.trim() ?? '', profileObj.name?.trim() ?? '', - profileObj.nip05?.split('@')[0]?.trim() ?? '' + profileObj.nip05 + ?.split('@') + .map((s: string) => s.trim()) + .join(' ') ?? '' ].join(' ') if (!text) return - this.userIndex.add(profileEvent.pubkey, text) + await this.userIndex.addAsync(profileEvent.pubkey, text) } catch { return }