1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-11-26 17:03:12 +03:00

map, decrypt and return original_event if present

This commit is contained in:
Bruno Windels
2019-07-09 17:52:58 +02:00
parent cc1c7561a3
commit de18283c3b

View File

@@ -4081,15 +4081,21 @@ async function(roomId, eventId, relationType, eventType, opts = {}) {
relationType,
fetchedEventType,
opts);
let events = result.chunk.map(this.getEventMapper());
const mapper = this.getEventMapper();
let originalEvent;
if (result.original_event) {
originalEvent = mapper(result.original_event);
}
let events = result.chunk.map(mapper);
if (fetchedEventType === "m.room.encrypted") {
await Promise.all(events.map(e => {
const allEvents = originalEvent ? events.concat(originalEvent) : events;
await Promise.all(allEvents.map(e => {
return new Promise(resolve => e.once("Event.decrypted", resolve));
}));
events = events.filter(e => e.getType() === eventType);
}
return {
originalEvent,
events,
nextBatch: result.next_batch,
};