@@ -441,9 +441,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
441
441
} ) ;
442
442
events . forEach ( async ( serializedEvent : Partial < IEvent > ) => {
443
443
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 ) ;
447
445
event . setStatus ( EventStatus . NOT_SENT ) ;
448
446
this . addPendingEvent ( event , event . getTxnId ( ) ! ) ;
449
447
} ) ;
@@ -503,9 +501,8 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
503
501
504
502
const decryptionPromises = events
505
503
. slice ( readReceiptTimelineIndex )
506
- . filter ( ( event ) => event . shouldAttemptDecryption ( ) )
507
504
. reverse ( )
508
- . map ( ( event ) => event . attemptDecryption ( this . client . crypto ! , { isRetry : true } ) ) ;
505
+ . map ( ( event ) => this . client . decryptEventIfNeeded ( event , { isRetry : true } ) ) ;
509
506
510
507
await Promise . allSettled ( decryptionPromises ) ;
511
508
}
@@ -521,9 +518,9 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
521
518
const decryptionPromises = this . getUnfilteredTimelineSet ( )
522
519
. getLiveTimeline ( )
523
520
. getEvents ( )
524
- . filter ( ( event ) => event . shouldAttemptDecryption ( ) )
521
+ . slice ( 0 ) // copy before reversing
525
522
. reverse ( )
526
- . map ( ( event ) => event . attemptDecryption ( this . client . crypto ! , { isRetry : true } ) ) ;
523
+ . map ( ( event ) => this . client . decryptEventIfNeeded ( event , { isRetry : true } ) ) ;
527
524
528
525
await Promise . allSettled ( decryptionPromises ) ;
529
526
}
0 commit comments