fix: Also load room account data in getSingleRoom()

This commit is contained in:
Krille 2024-12-30 12:49:14 +01:00
parent 5e1ff13821
commit ce0dfc77ff
No known key found for this signature in database
GPG Key ID: E067ECD60F1A0652
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();