fix: Also load room account data in getSingleRoom()
This commit is contained in:
parent
5e1ff13821
commit
ce0dfc77ff
|
|
@ -570,6 +570,20 @@ class HiveCollectionsDatabase extends DatabaseApi {
|
||||||
if (roomData == null) return null;
|
if (roomData == null) return null;
|
||||||
final room = Room.fromJson(copyMap(roomData), client);
|
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:
|
// Get important states:
|
||||||
if (loadImportantStates) {
|
if (loadImportantStates) {
|
||||||
final dbKeys = client.importantStateEvents
|
final dbKeys = client.importantStateEvents
|
||||||
|
|
|
||||||
|
|
@ -591,6 +591,20 @@ class MatrixSdkDatabase extends DatabaseApi with DatabaseFileStorage {
|
||||||
if (roomData == null) return null;
|
if (roomData == null) return null;
|
||||||
final room = Room.fromJson(copyMap(roomData), client);
|
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:
|
// Get important states:
|
||||||
if (loadImportantStates) {
|
if (loadImportantStates) {
|
||||||
final preloadRoomStateKeys = await _preloadRoomStateBox.getAllKeys();
|
final preloadRoomStateKeys = await _preloadRoomStateBox.getAllKeys();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue