Skip to content

Commit 22f10f7

Browse files
authored
indirect decryption attempts via Client (#3023)
... to reduce the number of things referring to `client.crypto`
1 parent 9ca3e72 commit 22f10f7

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

src/models/room.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -441,9 +441,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
441441
});
442442
events.forEach(async (serializedEvent: Partial<IEvent>) => {
443443
const event = mapper(serializedEvent);
444-
if (event.getType() === EventType.RoomMessageEncrypted && this.client.isCryptoEnabled()) {
445-
await event.attemptDecryption(this.client.crypto!);
446-
}
444+
await client.decryptEventIfNeeded(event);
447445
event.setStatus(EventStatus.NOT_SENT);
448446
this.addPendingEvent(event, event.getTxnId()!);
449447
});
@@ -503,9 +501,8 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
503501

504502
const decryptionPromises = events
505503
.slice(readReceiptTimelineIndex)
506-
.filter((event) => event.shouldAttemptDecryption())
507504
.reverse()
508-
.map((event) => event.attemptDecryption(this.client.crypto!, { isRetry: true }));
505+
.map((event) => this.client.decryptEventIfNeeded(event, { isRetry: true }));
509506

510507
await Promise.allSettled(decryptionPromises);
511508
}
@@ -521,9 +518,9 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
521518
const decryptionPromises = this.getUnfilteredTimelineSet()
522519
.getLiveTimeline()
523520
.getEvents()
524-
.filter((event) => event.shouldAttemptDecryption())
521+
.slice(0) // copy before reversing
525522
.reverse()
526-
.map((event) => event.attemptDecryption(this.client.crypto!, { isRetry: true }));
523+
.map((event) => this.client.decryptEventIfNeeded(event, { isRetry: true }));
527524

528525
await Promise.allSettled(decryptionPromises);
529526
}

0 commit comments

Comments
 (0)