From 49703f5808cab3f78268d566e78add8b113b5e96 Mon Sep 17 00:00:00 2001 From: Krille Fear Date: Tue, 20 Dec 2022 20:29:42 +0100 Subject: [PATCH] fix: Store decrypted last event in store --- lib/encryption/key_manager.dart | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/encryption/key_manager.dart b/lib/encryption/key_manager.dart index 786a76b5..fabf27e1 100644 --- a/lib/encryption/key_manager.dart +++ b/lib/encryption/key_manager.dart @@ -190,7 +190,21 @@ class KeyManager { event.content['session_id'] == sessionId) { final decrypted = encryption.decryptRoomEventSync(roomId, event); if (decrypted.type != EventTypes.Encrypted) { + // Set the decrypted event as last event by adding it to the state room.setState(decrypted); + // Also store in database + final database = client.database; + if (database != null) { + await database.transaction(() async { + await database.storeEventUpdate( + EventUpdate( + roomID: room.id, + type: EventUpdateType.state, + content: decrypted.toJson(), + ), + client); + }); + } } } // and finally broadcast the new session