From 6a12c265cfaa58a68f1c3fb6e886de573a0a33db Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 28 Oct 2021 07:48:27 -0600 Subject: [PATCH] PSFD-455: Try to set a sender on search result events if possible (#2004) This is to ensure that search results have aesthetic information such as display name and avatar. Though the membership event won't be in context for when the event was sent, it'll at least be something better than a bare user ID. --- src/client.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/client.ts b/src/client.ts index 2001a1284..30a5a7f90 100644 --- a/src/client.ts +++ b/src/client.ts @@ -5422,6 +5422,14 @@ export class MatrixClient extends EventEmitter { const resultsLength = roomEvents.results ? roomEvents.results.length : 0; for (let i = 0; i < resultsLength; i++) { const sr = SearchResult.fromJson(roomEvents.results[i], this.getEventMapper()); + const room = this.getRoom(sr.context.getEvent().getRoomId()); + if (room) { + // Copy over a known event sender if we can + for (const ev of sr.context.getTimeline()) { + const sender = room.getMember(ev.getSender()); + if (!ev.sender && sender) ev.sender = sender; + } + } searchResults.results.push(sr); } return searchResults;