refactor: Create StrippedStateEvents for invite rooms when loading from db
This commit is contained in:
parent
587ce378c7
commit
a1a542d98e
|
|
@ -589,7 +589,9 @@ class HiveCollectionsDatabase extends DatabaseApi {
|
|||
for (final states in statesList) {
|
||||
if (states == null) continue;
|
||||
final stateEvents = states.values
|
||||
.map((raw) => Event.fromJson(copyMap(raw), room))
|
||||
.map((raw) => room.membership == Membership.invite
|
||||
? StrippedStateEvent.fromJson(copyMap(raw))
|
||||
: Event.fromJson(copyMap(raw), room))
|
||||
.toList();
|
||||
for (final state in stateEvents) {
|
||||
room.setState(state);
|
||||
|
|
@ -635,7 +637,9 @@ class HiveCollectionsDatabase extends DatabaseApi {
|
|||
if (members != null) {
|
||||
for (final member in members) {
|
||||
if (member == null) continue;
|
||||
room.setState(Event.fromJson(copyMap(member), room));
|
||||
room.setState(room.membership == Membership.invite
|
||||
? StrippedStateEvent.fromJson(copyMap(member))
|
||||
: Event.fromJson(copyMap(member), room));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -618,7 +618,9 @@ class FamedlySdkHiveDatabase extends DatabaseApi with ZoneTransactionMixin {
|
|||
Logs().w('Unable to post load member $userId');
|
||||
continue;
|
||||
}
|
||||
room.setState(Event.fromJson(convertToJson(state), room));
|
||||
room.setState(room.membership == Membership.invite
|
||||
? StrippedStateEvent.fromJson(copyMap(raw))
|
||||
: Event.fromJson(convertToJson(state), room));
|
||||
}
|
||||
|
||||
// Get the "important" room states. All other states will be loaded once
|
||||
|
|
@ -628,7 +630,9 @@ class FamedlySdkHiveDatabase extends DatabaseApi with ZoneTransactionMixin {
|
|||
.get(MultiKey(room.id, type).toString()) as Map?;
|
||||
if (states == null) continue;
|
||||
final stateEvents = states.values
|
||||
.map((raw) => Event.fromJson(convertToJson(raw), room))
|
||||
.map((raw) => room.membership == Membership.invite
|
||||
? StrippedStateEvent.fromJson(copyMap(raw))
|
||||
: Event.fromJson(convertToJson(raw), room))
|
||||
.toList();
|
||||
for (final state in stateEvents) {
|
||||
room.setState(state);
|
||||
|
|
|
|||
|
|
@ -572,7 +572,9 @@ class MatrixSdkDatabase extends DatabaseApi with DatabaseFileStorage {
|
|||
}
|
||||
final states = entry.value;
|
||||
final stateEvents = states.values
|
||||
.map((raw) => Event.fromJson(copyMap(raw), room))
|
||||
.map((raw) => room.membership == Membership.invite
|
||||
? StrippedStateEvent.fromJson(copyMap(raw))
|
||||
: Event.fromJson(copyMap(raw), room))
|
||||
.toList();
|
||||
for (final state in stateEvents) {
|
||||
room.setState(state);
|
||||
|
|
|
|||
Loading…
Reference in New Issue