Merge pull request #1986 from famedly/krille/load-room-account-data-on-get-single-room

fix: Also load room account data in getSingleRoom()
This commit is contained in:
Karthikeyan S 2024-12-30 21:39:50 +05:30 committed by GitHub
commit cb9350fa8e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 28 additions and 0 deletions

View File

@ -570,6 +570,20 @@ class HiveCollectionsDatabase extends DatabaseApi {
if (roomData == null) return null;
final room = Room.fromJson(copyMap(roomData), client);
// Get the room account data
final allKeys = await _roomAccountDataBox.getAllKeys();
final roomAccountDataKeys = allKeys
.where((key) => TupleKey.fromString(key).parts.first == roomId)
.toList();
final roomAccountDataList =
await _roomAccountDataBox.getAll(roomAccountDataKeys);
for (final data in roomAccountDataList) {
if (data == null) continue;
final event = BasicRoomEvent.fromJson(copyMap(data));
room.roomAccountData[event.type] = event;
}
// Get important states:
if (loadImportantStates) {
final dbKeys = client.importantStateEvents

View File

@ -591,6 +591,20 @@ class MatrixSdkDatabase extends DatabaseApi with DatabaseFileStorage {
if (roomData == null) return null;
final room = Room.fromJson(copyMap(roomData), client);
// Get the room account data
final allKeys = await _roomAccountDataBox.getAllKeys();
final roomAccountDataKeys = allKeys
.where((key) => TupleKey.fromString(key).parts.first == roomId)
.toList();
final roomAccountDataList =
await _roomAccountDataBox.getAll(roomAccountDataKeys);
for (final data in roomAccountDataList) {
if (data == null) continue;
final event = BasicRoomEvent.fromJson(copyMap(data));
room.roomAccountData[event.type] = event;
}
// Get important states:
if (loadImportantStates) {
final preloadRoomStateKeys = await _preloadRoomStateBox.getAllKeys();