diff --git a/src/client.ts b/src/client.ts index bad3ad80a..0fd099c71 100644 --- a/src/client.ts +++ b/src/client.ts @@ -6600,8 +6600,8 @@ export class MatrixClient extends TypedEventEmitter { - if (e.isEncrypted()) { - return new Promise(resolve => e.once(MatrixEventEvent.Decrypted, resolve)); - } - })); - events = events.filter(e => e.getType() === eventType); + await Promise.all(allEvents.map(e => this.decryptEventIfNeeded(e))); + if (eventType !== null) { + events = events.filter(e => e.getType() === eventType); + } } if (originalEvent && relationType === RelationType.Replace) { events = events.filter(e => e.getSender() === originalEvent.getSender()); @@ -7150,8 +7148,16 @@ export class MatrixClient extends TypedEventEmitter); let templatedUrl = "/rooms/$roomId/relations/$eventId"; - if (relationType !== null) templatedUrl += "/$relationType"; - if (eventType !== null) templatedUrl += "/$eventType"; + if (relationType !== null) { + templatedUrl += "/$relationType"; + if (eventType !== null) { + templatedUrl += "/$eventType"; + } + } else if (eventType !== null) { + logger.warn(`eventType: ${eventType} ignored when fetching + relations as relationType is null`); + eventType = null; + } const path = utils.encodeUri( templatedUrl + "?" + queryString, {