fix: apply state event before decryption on leaved room

This commit is contained in:
Mohammad Reza Moradi 2023-09-18 11:33:17 +02:00
parent 61c89ae45a
commit c38cbbc8dc
No known key found for this signature in database
GPG Key ID: FE7CA223893CEFA1
1 changed files with 15 additions and 15 deletions

View File

@ -947,6 +947,21 @@ class Client extends MatrixApi {
.toList() ??
[]));
leftRoom.prev_batch = room.timeline?.prevBatch;
room.state?.forEach((event) {
leftRoom.setState(Event.fromMatrixEvent(
event,
leftRoom,
));
});
room.timeline?.events?.forEach((event) {
leftRoom.setState(Event.fromMatrixEvent(
event,
leftRoom,
));
});
for (var i = 0; i < timeline.events.length; i++) {
// Try to decrypt encrypted events but don't update the database.
if (leftRoom.encrypted && leftRoom.client.encryptionEnabled) {
@ -960,21 +975,6 @@ class Client extends MatrixApi {
}
}
room.timeline?.events?.forEach((event) {
leftRoom.setState(Event.fromMatrixEvent(
event,
leftRoom,
));
});
leftRoom.prev_batch = room.timeline?.prevBatch;
room.state?.forEach((event) {
leftRoom.setState(Event.fromMatrixEvent(
event,
leftRoom,
));
});
_archivedRooms.add(ArchivedRoom(room: leftRoom, timeline: timeline));
}
}